diff --git a/CHANGELOG.md b/CHANGELOG.md index ad564e5c8..ebb94f903 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,13 +3,7 @@ ## [Unreleased] ### New features ### Bug fixes -- Fixed double ingots not having a temperature (#1165) @Pyritie -- Removed a few recipes that had unobtainable create-related materials @Pyritie -- Fixed the color of placed zinc ingots and plated blocks to match the material @Pyritie ### Changes -- Changed pineapple yarn recipe from assembler to wiremill & coiling machine, like the other strings (#1162) @Pyritie -- Lowered durability of wooden tongs @Pyritie -- Streamlined the Metallurgy Age quest chapter a bit @Pyritie ## [0.9.11] - 13.06.2025 ### New features diff --git a/config/ftbquests/quests/chapters/lv__low_voltage.snbt b/config/ftbquests/quests/chapters/lv__low_voltage.snbt index 99169a273..425ba06f9 100644 --- a/config/ftbquests/quests/chapters/lv__low_voltage.snbt +++ b/config/ftbquests/quests/chapters/lv__low_voltage.snbt @@ -1401,7 +1401,7 @@ subtitle: "{quests.low_voltage.lv_greenhouse.subtitle}" tasks: [{ id: "3EB01235ED295080" - item: "tfg:electric_greenhouse" + item: "gtceu:greenhouse" type: "item" }] title: "{quests.low_voltage.lv_greenhouse.title}" diff --git a/config/ftbquests/quests/chapters/ore_processing.snbt b/config/ftbquests/quests/chapters/ore_processing.snbt index 8beaa52b5..75f89f6bc 100644 --- a/config/ftbquests/quests/chapters/ore_processing.snbt +++ b/config/ftbquests/quests/chapters/ore_processing.snbt @@ -48,16 +48,6 @@ ] dependency_requirement: "one_completed" description: ["{quests.ore_proc.crushed_ores.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:crushed_copper_ore" - } id: "28419A1010EEE93A" subtitle: "{quests.ore_proc.crushed_ores.subtitle}" tasks: [ @@ -233,7 +223,6 @@ description: ["{quests.ore_proc.mercury.desc}"] id: "68AC3E2C9093FCFE" optional: true - shape: "heart" subtitle: "{quests.ore_proc.mercury.subtitle}" tasks: [ { @@ -284,7 +273,6 @@ description: ["{quests.ore_proc.sodium_ores.desc}"] id: "0502E478E27D4B73" optional: true - shape: "heart" subtitle: "{quests.ore_proc.sodium_ores.subtitle}" tasks: [ { @@ -315,29 +303,26 @@ ] dependency_requirement: "one_completed" description: ["{quests.ore_proc.purified_ores.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "create:crushed_raw_copper" - } id: "544EA7FF98FDCFB7" subtitle: "{quests.ore_proc.purified_ores.subtitle}" - tasks: [{ - id: "4C6F60AC9C803D7B" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item_tag(forge:purified_ores))" + tasks: [ + { + id: "4C6F60AC9C803D7B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item_tag(forge:purified_ores))" + } } + optional_task: true + type: "item" } - type: "item" - }] + { + id: "3C194AEB554DA4CA" + type: "checkmark" + } + ] title: "{quests.ore_proc.purified_ores.title}" x: 0.5d y: -0.5d @@ -355,6 +340,12 @@ optional_task: true type: "item" } + { + id: "0373F4E380F2A0BC" + item: "gtceu:indium_concentrate_bucket" + optional_task: true + type: "item" + } { id: "246799A19B9A47B6" item: { @@ -377,15 +368,8 @@ type: "item" } { - id: "475C90F0EA16C2F9" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "only_one(item(gtceu:indium_concentrate_bucket)nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"gtceu:indium_concentrate\"}}))" - } - } - type: "item" + id: "52FCA464BD827E37" + type: "checkmark" } ] title: "{quests.ore_proc.indium.title}" @@ -643,30 +627,25 @@ ] dependency_requirement: "one_completed" description: ["{quests.ore_proc.dust_processed.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "gtceu:copper_dust" - } id: "22C1D541452D4AD4" - size: 1.5d subtitle: "{quests.ore_proc.dust_processed.subtitle}" - tasks: [{ - id: "3EA3BABECE52085B" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item_tag(forge:dusts))" + tasks: [ + { + id: "3EA3BABECE52085B" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item_tag(forge:dusts))" + } } + type: "item" } - type: "item" - }] + { + id: "1A1B2762EFD6C6B0" + type: "checkmark" + } + ] title: "{quests.ore_proc.dust_processed.title}" x: 0.5d y: 3.5d diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index fa48fa874..377b568d0 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -31,21 +31,10 @@ y: -34.0d } { - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/lamp/blue_steel" - } id: "227B6C88FFE99435" linked_quest: "4EBABACAB444244D" - shape: "heart" x: 16.5d - y: -24.5d + y: -23.0d } { id: "19CF6D922179DFF9" @@ -69,7 +58,7 @@ }] title: "{quests.metal_age.this_is_a_bucket.title}" x: 13.5d - y: -26.0d + y: -24.5d } { dependencies: ["56CA2EB7812529C5"] @@ -93,7 +82,7 @@ ] title: "{quests.metal_age.redblu_buckets.title}" x: 16.5d - y: -26.0d + y: -24.5d } { dependencies: ["7E0239E9CC73F09F"] @@ -109,11 +98,11 @@ weak_nbt_match: true }] title: "{quests.metal_age.black_steel_anvil.title}" - x: 26.5d - y: -26.0d + x: 27.5d + y: -24.5d } { - dependencies: ["5996A3A0D475B8A6"] + dependencies: ["4310B619B57276ED"] description: ["{quests.metal_age.steel_anvil.desc}"] id: "04DE7C58F20B535A" shape: "octagon" @@ -126,11 +115,11 @@ weak_nbt_match: true }] title: "{quests.metal_age.steel_anvil.title}" - x: 26.5d + x: 27.5d y: -32.0d } { - dependencies: ["0A92F5C4BB6AF972"] + dependencies: ["358571B6E692F198"] description: ["{quests.metal_age.wrought_iron_anvil.desc}"] id: "174DA15847665CF8" shape: "octagon" @@ -274,10 +263,29 @@ y: -32.0d } { + dependencies: [ + "0A92F5C4BB6AF972" + "021D3DEEB15A3D17" + ] + dependency_requirement: "one_completed" + description: ["{quests.metal_age.weld_wrought_iron_ingots.desc}"] + id: "358571B6E692F198" + subtitle: "{quests.metal_age.weld_wrought_iron_ingots.subtitle}" + tasks: [{ + id: "05AD17F66DFE3C56" + item: "gtceu:wrought_iron_double_ingot" + type: "item" + weak_nbt_match: true + }] + title: "{quests.metal_age.weld_wrought_iron_ingots.title}" + x: 7.0d + y: -32.0d + } + { + dependencies: ["48A8E3210B2BAE1C"] description: ["{quests.metal_age.bellows.desc}"] hide_dependency_lines: true id: "021D3DEEB15A3D17" - shape: "rsquare" subtitle: "{quests.metal_age.bellows.subtitle}" tasks: [{ id: "588EB07E980386F9" @@ -289,12 +297,31 @@ y: -34.0d } { - dependencies: ["5A936E9BCF30AA3D"] + dependencies: ["5996A3A0D475B8A6"] + dependency_requirement: "one_completed" + description: ["{quests.metal_age.weld_steel_ingots.desc}"] + id: "4310B619B57276ED" + subtitle: "{quests.metal_age.weld_steel_ingots.subtitle}" + tasks: [{ + id: "0EDB1D851E198274" + item: "gtceu:steel_double_ingot" + type: "item" + weak_nbt_match: true + }] + title: "{quests.metal_age.weld_steel_ingots.title}" + x: 25.5d + y: -32.0d + } + { + dependencies: [ + "061116CF508D54F6" + "68B7D07D57A103BE" + ] dependency_requirement: "one_completed" description: ["{quests.metal_age.kaolin_clay.desc}"] id: "72F1C122FC26229C" shape: "octagon" - size: 2.0d + size: 3.0d subtitle: "{quests.metal_age.kaolin_clay.subtitle}" tasks: [{ id: "673D38EB62FFD65F" @@ -312,8 +339,8 @@ weak_nbt_match: true }] title: "{quests.metal_age.kaolin_clay.title}" - x: 14.0d - y: -33.0d + x: 13.5d + y: -36.0d } { dependencies: ["5A936E9BCF30AA3D"] @@ -322,24 +349,25 @@ icon: "tfc:ore/graphite/gabbro" id: "53E1383F12EC6765" optional: true - shape: "diamond" subtitle: "{quests.metal_age.overworld_graphite.subtitle}" tasks: [{ id: "25A552657AFA7BC2" type: "checkmark" }] title: "{quests.metal_age.overworld_graphite.title}" - x: 11.0d + x: 13.0d y: -30.5d } { - dependencies: ["5A936E9BCF30AA3D"] + dependencies: [ + "53E1383F12EC6765" + "2DB82986FE176CD7" + ] dependency_requirement: "one_completed" description: ["{quests.metal_age.graphite.desc}"] - icon: "tfc:powder/graphite" id: "31CE13462759950C" shape: "octagon" - size: 2.0d + size: 3.0d subtitle: "{quests.metal_age.graphite.subtitle}" tasks: [{ id: "6B0C9D862BFD27BC" @@ -354,13 +382,14 @@ type: "item" }] title: "{quests.metal_age.graphite.title}" - x: 14.0d - y: -31.0d + x: 13.5d + y: -28.5d } { dependencies: [ "72F1C122FC26229C" "31CE13462759950C" + "5A936E9BCF30AA3D" ] description: ["{quests.metal_age.fire_clay.desc}"] id: "2C76EE197C14B0DC" @@ -374,7 +403,7 @@ weak_nbt_match: true }] title: "{quests.metal_age.fire_clay.title}" - x: 17.0d + x: 17.5d y: -32.0d } { @@ -437,7 +466,6 @@ description: ["{quests.metal_age.beneath_kaolin.desc}"] id: "061116CF508D54F6" optional: true - shape: "diamond" subtitle: "{quests.metal_age.beneath_kaolin.subtitle}" tasks: [ { @@ -464,7 +492,7 @@ } ] title: "{quests.metal_age.beneath_kaolin.title}" - x: 12.0d + x: 14.0d y: -33.5d } { @@ -568,7 +596,7 @@ } ] title: "{quests.metal_age.fire_clay_products.title}" - x: 17.0d + x: 17.5d y: -34.0d } { @@ -638,14 +666,12 @@ }] title: "{quests.metal_age.red_blu.title}" x: 24.0d - y: -26.0d + y: -24.5d } { dependencies: ["56CA2EB7812529C5"] description: ["{quests.metal_age.red_steel_flask.desc}"] id: "30D49878F3CEB08A" - optional: true - shape: "heart" subtitle: "{quests.metal_age.red_steel_flask.subtitle}" tasks: [{ id: "7394672B4D19B0B2" @@ -654,7 +680,7 @@ }] title: "{quests.metal_age.red_steel_flask.title}" x: 16.5d - y: -27.5d + y: -26.0d } { dependencies: [ @@ -680,7 +706,7 @@ }] title: "{quests.metal_age.redblu_anvil.title}" x: 18.5d - y: -26.0d + y: -24.5d } { dependencies: ["3C173357029AB649"] @@ -724,15 +750,13 @@ type: "checkmark" }] title: "{quests.metal_age.fire_clay_ingredients.title}" - x: 11.5d + x: 13.5d y: -32.0d } { dependencies: ["5A936E9BCF30AA3D"] description: ["{quests.metal_age.beneath_graphite.desc}"] id: "2DB82986FE176CD7" - optional: true - shape: "diamond" subtitle: "{quests.metal_age.beneath_graphite.subtitle}" tasks: [ { @@ -752,7 +776,7 @@ } ] title: "{quests.metal_age.beneath_graphite.title}" - x: 12.0d + x: 14.0d y: -30.5d } { @@ -760,8 +784,6 @@ description: ["{quests.metal_age.overworld_kaolin.desc}"] icon: "tfc:plant/tree_fern" id: "68B7D07D57A103BE" - optional: true - shape: "diamond" subtitle: "{quests.metal_age.overworld_kaolin.subtitle}" tasks: [{ id: "14DF5B1544AB9BA9" @@ -769,7 +791,7 @@ type: "checkmark" }] title: "{quests.metal_age.overworld_kaolin.title}" - x: 11.0d + x: 13.0d y: -33.5d } { @@ -791,8 +813,8 @@ weak_nbt_match: true }] title: "{quests.metal_age.blast_furnace_fuel.title}" - x: 20.5d - y: -32.0d + x: 23.5d + y: -30.0d } { dependencies: ["04DE7C58F20B535A"] @@ -806,8 +828,8 @@ type: "checkmark" }] title: "{quests.metal_age.steel_goodies.title}" - x: 26.5d - y: -34.0d + x: 29.5d + y: -30.0d } { dependencies: ["52DAF93E2F3D688A"] @@ -823,8 +845,8 @@ type: "checkmark" }] title: "{quests.metal_age.black_steel_goodies.title}" - x: 26.5d - y: -23.5d + x: 25.5d + y: -22.5d } { dependencies: [ @@ -832,16 +854,6 @@ "04DE7C58F20B535A" ] description: ["{quests.metal_age.highcarb_black_steel.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/black_steel" - } id: "7E0239E9CC73F09F" subtitle: "{quests.metal_age.highcarb_black_steel.subtitle}" tasks: [ @@ -875,22 +887,12 @@ } ] title: "{quests.metal_age.highcarb_black_steel.title}" - x: 26.5d + x: 27.5d y: -30.0d } { dependencies: ["5996A3A0D475B8A6"] description: ["{quests.metal_age.weak_steel.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/weak_steel" - } id: "1CE0FF455668C145" subtitle: "{quests.metal_age.weak_steel.subtitle}" tasks: [ @@ -898,60 +900,53 @@ id: "543388DB123E7328" item: { Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:nickel_ingot)item(gtceu:nickel_dust))" + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "gtceu:nickel_ingot" } - title: "{quests.metal_age.weak_steel.task1}" type: "item" - weak_nbt_match: true } { count: 2L id: "7F829BA244BC77D5" item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:steel_ingot)item(gtceu:steel_dust))" + Count: 2 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "gtceu:steel_ingot" } - title: "{quests.metal_age.weak_steel.task2}" type: "item" - weak_nbt_match: true } { id: "3271DD5653C52CAB" item: { Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:black_bronze_ingot)item(gtceu:black_bronze_dust))" + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "gtceu:black_bronze_ingot" } - title: "{quests.metal_age.weak_steel.task3}" type: "item" - weak_nbt_match: true } ] title: "{quests.metal_age.weak_steel.title}" - x: 23.5d + x: 25.5d y: -30.0d } { dependencies: ["27FF92982A24BC4E"] description: ["{quests.metal_age.highcarb_red_steel.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/red_steel" - } id: "5088768AAA28FCBA" subtitle: "{quests.metal_age.highcarb_red_steel.subtitle}" tasks: [ @@ -986,21 +981,11 @@ ] title: "{quests.metal_age.highcarb_red_steel.title}" x: 20.5d - y: -27.0d + y: -25.5d } { dependencies: ["5792DDAA82895E67"] description: ["{quests.metal_age.weak_red_steel.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/weak_red_steel" - } id: "27FF92982A24BC4E" subtitle: "{quests.metal_age.weak_red_steel.subtitle}" tasks: [ @@ -1008,70 +993,68 @@ id: "2A22B3EA8DC577CE" item: { Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(create:brass_ingot)item(gtceu:brass_dust))" + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "create:brass_ingot" } - title: "{quests.metal_age.weak_red_steel.brass}" type: "item" } { count: 2L id: "2F0648CE3D1723DF" item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:steel_ingot)item(gtceu:steel_dust))" + Count: 2 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "gtceu:steel_ingot" } - title: "{quests.metal_age.weak_red_steel.steel}" type: "item" } { id: "47F346E1C0F41655" item: { Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:rose_gold_ingot)item(gtceu:rose_gold_dust))" + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "gtceu:rose_gold_ingot" } - title: "{quests.metal_age.weak_red_steel.rose_gold}" type: "item" } { count: 4L id: "21434FAAA69D5BE0" item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:metal/ingot/black_steel)item(gtceu:black_steel_dust))" + Count: 4 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "tfc:metal/ingot/black_steel" } - title: "{quests.metal_age.weak_red_steel.black_steel}" type: "item" } ] title: "{quests.metal_age.weak_red_steel.title}" x: 22.0d - y: -27.0d + y: -25.5d } { dependencies: ["5792DDAA82895E67"] description: ["{quests.metal_age.weak_blu_steel.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/weak_blue_steel" - } id: "64F8A358EC3FEF45" subtitle: "{quests.metal_age.weak_blu_steel.subtitle}" tasks: [ @@ -1079,70 +1062,68 @@ count: 2L id: "5331A323780B4B11" item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:steel_ingot)item(gtceu:steel_dust))" + Count: 2 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "gtceu:steel_ingot" } - title: "{quests.metal_age.weak_blue_steel.steel}" type: "item" } { count: 4L id: "2809FD951B82C54F" item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:metal/ingot/black_steel)item(gtceu:black_steel_dust))" + Count: 4 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "tfc:metal/ingot/black_steel" } - title: "{quests.metal_age.weak_blue_steel.black_steel}" type: "item" } { id: "401EC1A9FBC759B8" item: { Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:bismuth_bronze_ingot)item(gtceu:bismuth_bronze_dust))" + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "gtceu:bismuth_bronze_ingot" } - title: "{quests.metal_age.weak_blue_steel.bismuth_bronze}" type: "item" } { id: "7350ECE723ABE8F4" item: { Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:sterling_silver_ingot)item(gtceu:sterling_silver_dust))" + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } } + id: "gtceu:sterling_silver_ingot" } - title: "{quests.metal_age.weak_blue_steel.sterling_silver}" type: "item" } ] title: "{quests.metal_age.weak_blu_steel.title}" x: 22.0d - y: -25.0d + y: -23.5d } { dependencies: ["64F8A358EC3FEF45"] description: ["{quests.metal_age.highcarb_blu_steel.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/ingot/blue_steel" - } id: "6D04BAC5B215F90F" subtitle: "{quests.metal_age.highcarb_blu_steel.subtitle}" tasks: [ @@ -1177,7 +1158,7 @@ ] title: "{quests.metal_age.highcarb_blu_steel.title}" x: 20.5d - y: -25.0d + y: -23.5d } { dependencies: ["3C173357029AB649"] diff --git a/config/ftbquests/quests/chapters/questsstoneage.snbt b/config/ftbquests/quests/chapters/questsstoneage.snbt index bc76b880a..eee6df727 100644 --- a/config/ftbquests/quests/chapters/questsstoneage.snbt +++ b/config/ftbquests/quests/chapters/questsstoneage.snbt @@ -684,7 +684,6 @@ tasks: [{ id: "5A6EF9EBF232601C" item: "gtceu:copper_double_ingot" - match_nbt: false type: "item" weak_nbt_match: true }] diff --git a/config/ftbquests/quests/chapters/queststfc_tips.snbt b/config/ftbquests/quests/chapters/queststfc_tips.snbt index 2e0ca4253..a325d9661 100644 --- a/config/ftbquests/quests/chapters/queststfc_tips.snbt +++ b/config/ftbquests/quests/chapters/queststfc_tips.snbt @@ -1602,26 +1602,12 @@ ] dependency_requirement: "one_completed" description: ["{quests.tfg_tips.passive_preservation.desc}"] - disable_toast: true - icon: { - Count: 1 - ForgeCaps: { - Parent: { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:ceramic/vessel" - tag: { } - } id: "13F7066858E923FF" subtitle: "{quests.tfg_tips.passive_preservation.subtitle}" tasks: [{ - dimension: "minecraft:overworld" - icon: "gtceu:overworld_marker" - id: "5BAF5F5343C3E42A" - title: "{quests.stone_age.temperature.task}" - type: "dimension" + id: "54AAB9886964A160" + title: "{quests.tasktype.checkmark}" + type: "checkmark" }] title: "{quests.tfg_tips.passive_preservation.title}" x: 6.5d @@ -2250,7 +2236,10 @@ y: 9.5d } { - dependencies: ["2D959136A5FC5F46"] + dependencies: [ + "2D959136A5FC5F46" + "56CA2EB7812529C5" + ] description: ["{quests.tfg_tips.lamps.desc}"] id: "037CDA933FBE2CBE" subtitle: "{quests.tfg_tips.lamps.subtitle}" @@ -2288,8 +2277,8 @@ } ] title: "{quests.tfg_tips.lamps.title}" - x: -5.5d - y: 11.5d + x: -5.0d + y: 11.0d } { dependencies: [ @@ -2297,16 +2286,6 @@ "56CA2EB7812529C5" ] description: ["{quests.tfg_tips.lava_lamp.desc}"] - icon: { - Count: 1 - ForgeCaps: { - "tfc:item_heat": { - heat: 0.0f - ticks: 0L - } - } - id: "tfc:metal/lamp/blue_steel" - } id: "4EBABACAB444244D" optional: true shape: "heart" @@ -2333,8 +2312,8 @@ } ] title: "{quests.tfg_tips.lava_lamp.title}" - x: -5.5d - y: 13.0d + x: -5.0d + y: 12.5d } { dependencies: ["037CDA933FBE2CBE"] @@ -2354,8 +2333,8 @@ type: "item" }] title: "{quests.tfg_tips.creosote.title}" - x: -6.5d - y: 12.5d + x: -6.0d + y: 12.0d } { dependencies: ["037CDA933FBE2CBE"] @@ -2375,8 +2354,8 @@ type: "item" }] title: "{quests.tfg_tips.olive_oil.title}" - x: -4.5d - y: 12.5d + x: -4.0d + y: 12.0d } { dependencies: ["2D959136A5FC5F46"] @@ -3483,8 +3462,8 @@ type: "item" }] title: "{quests.tfg_tips.tallow.title}" - x: -7.0d - y: 11.5d + x: -6.5d + y: 11.0d } { dependencies: ["150B7C5CD152E1BA"] @@ -5397,26 +5376,6 @@ x: 7.5d y: -18.0d } - { - dependencies: ["037CDA933FBE2CBE"] - description: ["{quests.tfg_tips.glowstone_lamp.desc}"] - id: "61F58B402F1AE40B" - subtitle: "{quests.tfg_tips.glowstone_lamp.subtitle}" - tasks: [{ - id: "71D52011F8BE66F0" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "only_one(item(gtceu:glowstone_bucket)nbt(fuzzy:{fluid:{Amount:1000,FluidName:\"gtceu:glowstone\"}}))" - } - } - type: "item" - }] - title: "{quests.tfg_tips.glowstone_lamp.title}" - x: -6.5d - y: 10.5d - } ] subtitle: ["{quests.tfg_tips.subtitle}"] title: "{quests.tfg_tips}" diff --git a/config/tfchotornot-common.toml b/config/tfchotornot-common.toml index e6e95be29..ed10d7c44 100644 --- a/config/tfchotornot-common.toml +++ b/config/tfchotornot-common.toml @@ -31,7 +31,7 @@ itemDamageTimeInterval = 60 #Durability for wooden tongs. #Range: > 0 - woodenTongsDurability = 100 + woodenTongsDurability = 250 #Durability for potholders. #Range: > 0 potholderDurability = 600 diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index 7344697aa..111f851a5 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -15,8 +15,6 @@ "gtceu.end_dome": "Enderarium", "gtceu.greenhouse": "Electric Greenhouse", "gtceu.steam_bloomery": "Steam Bloomery", - "gtceu.food_oven": "Food Oven", - "gtceu.food_processor": "Food Processor", "item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp", "item.gtceu.small_wood_dust": "Small Pile of Softwood Pulp", "item.gtceu.wood_dust": "Softwood Pulp", diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front.png b/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front.png deleted file mode 100644 index de1abfe72..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active.png b/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active.png deleted file mode 100644 index 5b9e6ea67..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active_emissive.png b/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active_emissive.png deleted file mode 100644 index 4da155317..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active_emissive.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_emissive.png b/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_emissive.png deleted file mode 100644 index c20a1c981..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_emissive.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back.png deleted file mode 100644 index f02154247..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png deleted file mode 100644 index f02154247..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png.mcmeta deleted file mode 100644 index dfae8cae1..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime":1 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front.png deleted file mode 100644 index 21458b6d2..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png deleted file mode 100644 index db6c56605..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png.mcmeta deleted file mode 100644 index 92cc62352..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime": 1 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png deleted file mode 100644 index 97ab6af81..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta deleted file mode 100644 index 92cc62352..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime": 1 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_emissive.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_emissive.png deleted file mode 100644 index c20a1c981..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_emissive.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side.png deleted file mode 100644 index 678e1b9bb..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png deleted file mode 100644 index f2b3c4212..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png.mcmeta deleted file mode 100644 index f3da053bc..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime": 2 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top.png deleted file mode 100644 index 92bda3a2b..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png deleted file mode 100644 index 9b68d6c3e..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png.mcmeta deleted file mode 100644 index f3da053bc..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime": 2 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back.png deleted file mode 100644 index 3c21545d1..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png deleted file mode 100644 index bcfd65feb..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta deleted file mode 100644 index 92cc62352..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime": 1 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png deleted file mode 100644 index 8e993ab98..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta deleted file mode 100644 index 92cc62352..000000000 --- a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta +++ /dev/null @@ -1,5 +0,0 @@ -{ - "animation":{ - "frametime": 1 - } -} \ No newline at end of file diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive_ref.gif b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive_ref.gif deleted file mode 100644 index 383a1c800..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive_ref.gif and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_ref.gif b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_ref.gif deleted file mode 100644 index d766d3c18..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_ref.gif and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_bottom.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_bottom.png deleted file mode 100644 index f02154247..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_bottom.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front.png deleted file mode 100644 index 01360c35a..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front_active.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front_active.png deleted file mode 100644 index e10b0db21..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front_active.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_side.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_side.png deleted file mode 100644 index 1161e23a9..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_side.png and /dev/null differ diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_top.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_top.png deleted file mode 100644 index 6dfbd1acc..000000000 Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_top.png and /dev/null differ diff --git a/kubejs/assets/tfc/textures/block/metal/block/zinc.png b/kubejs/assets/tfc/textures/block/metal/block/zinc.png deleted file mode 100644 index 2cb121e5a..000000000 Binary files a/kubejs/assets/tfc/textures/block/metal/block/zinc.png and /dev/null differ diff --git a/kubejs/assets/tfc/textures/block/metal/smooth/zinc.png b/kubejs/assets/tfc/textures/block/metal/smooth/zinc.png deleted file mode 100644 index 422b0e6b3..000000000 Binary files a/kubejs/assets/tfc/textures/block/metal/smooth/zinc.png and /dev/null differ diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 91e60149a..f0a59c999 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -167,19 +167,6 @@ "block.tfg.mv_aqueous_accumulator": "§bAdvanced Aqueous Accumulator§r", "block.tfg.hv_aqueous_accumulator": "§6Advanced Aqueous Accumulator II§r", "block.tfg.ev_aqueous_accumulator": "§5Advanced Aqueous Accumulator III§r", - "block.tfg.electric_greenhouse": "Electric Greenhouse", - "block.tfg.lv_food_processor": "Basic Food Processor", - "block.tfg.mv_food_processor": "§bAdvanced Food Processor§r", - "block.tfg.hv_food_processor": "§6Advanced Food Processor II§r", - "block.tfg.ev_food_processor": "§5Advanced Food Processor III§r", - "block.tfg.lv_food_oven": "Basic Electric Oven", - "block.tfg.mv_food_oven": "§bAdvanced Electric Oven§r", - "block.tfg.hv_food_oven": "§6Advanced Electric Oven II§r", - "block.tfg.ev_food_oven": "§5Advanced Electric Oven III§r", - "block.tfg.lv_food_refrigerator": "Basic Refrigerator", - "block.tfg.mv_food_refrigerator": "§bAdvanced Refrigerator", - "block.tfg.hv_food_refrigerator": "§6Advanced Refrigerator II§r", - "block.tfg.ev_food_refrigerator": "§5Advanced Refrigerator III§r", "item.tfg.antipoison_pill": "Antipoison Pill", "item.tfg.haste_pill": "Haste Pill", "item.tfg.night_vision_pill": "Night Vision Pill", @@ -300,7 +287,6 @@ "material.gtceu.thermochemically_treated_hardwood": "Thermochemically Treated Hardwood", "material.gtceu.hardwood": "Hardwood", "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": "§9Refrigerating", "item.treetap.tap": "Deprecated Item, Craft to Upgrade", "item.gtceu.zinc_ingot": "Deprecated Item, Craft to Upgrade", "item.gtceu.brass_ingot": "Deprecated Item, Craft to Upgrade", @@ -1229,6 +1215,9 @@ "quests.metal_age.mining.title": "Mining in the Metallurgy Age", "quests.metal_age.mining.subtitle": "ROCK AND STONE!", "quests.metal_age.mining.desc": "Extracting valuable resources from the ground is a major part of this modpack, and the Metallurgy Age is no exception! You will consume a &llot&r of metal to progress, and one way to mine a lot of it at once is with a Mining Hammer! This is a tool that can mine blocks in a 3x3x1 area at the cost of a slower mining speed. You can also hold sneak to break single blocks at a time.", + "quests.metal_age.weld_wrought_iron_ingots.title": "Welding Wrought Iron", + "quests.metal_age.weld_wrought_iron_ingots.subtitle": "CLANG CLANG CLANG", + "quests.metal_age.weld_wrought_iron_ingots.desc": "Obtain at least 14 Ingots of Wrought Iron, then weld them together in a Bronze Anvil. Careful you don't melt your Wrought Iron, otherwise it will turn back into Cast Iron and you'll have to run it through the Bloomery again!", "quests.metal_age.bellows.title": "Bellows", "quests.metal_age.bellows.subtitle": "Higher temperatures can be reached, at a small price.", "quests.metal_age.bellows.desc": "The Bellows is a device that can force extra air into a fire or forge in front of it, allowing the heat produced by the fuel inside to reach higher temperatures than usual, at the cost of fuel duration.\n\nThese higher temperatures are required to fire pottery with charcoal or melt certain metals.\n\nCoal and Coke can also reach higher temperatures without it.", @@ -1287,6 +1276,9 @@ "quests.metal_age.blast_furnace.title": "Blast Furnace", "quests.metal_age.blast_furnace.subtitle": "Then I started Blastin'", "quests.metal_age.blast_furnace.desc": "The Blast Furnace is a multiblock structure that allows you to create Pig Iron. Placing a combination of Iron, Flux and fuel (see the adjacent quest) inside the Blast Furnace produces Pig Iron, which can be worked into Steel.\n\nIn order for the Blast Furnace to reach its required high temperatures, it will need its own Bellows, used to force air through a Tuyere which you place inside the blast furnace.\n\nThe Field Guide contains an entry on how the Blast Furnace works and how to build one.", + "quests.metal_age.weld_steel_ingots.title": "Welding Steel", + "quests.metal_age.weld_steel_ingots.subtitle": "Again?", + "quests.metal_age.weld_steel_ingots.desc": "You know the drill by this point. Create 14 Steel Ingots, then weld them to get 7 Double Steel Ingots. We'll stop reminding you about this now.\n\nDid you know that the Helve Hammer can also process your pig iron into steel?", "quests.metal_age.steel_anvil.title": "T4 Anvil: Steel", "quests.metal_age.steel_anvil.subtitle": "A huge leap from wrought iron", "quests.metal_age.steel_anvil.desc": "With the Steel Anvil, you'll be able to work Steel Ingots into different forms.\n\nSteel tools and equipment have a significant boost over their bronze and wrought iron counterparts, so they're worth making if your existing ones are about to break. You'll be needing to create a lot of alloys soon, so some new mining equipment would be a wise investment.", @@ -1296,9 +1288,6 @@ "quests.metal_age.weak_steel.title": "Weak Steel Ingredients", "quests.metal_age.weak_steel.subtitle": "Hope you like math", "quests.metal_age.weak_steel.desc": "Weak Steel is one part of the necessary metals to create Black Steel. You can alloy it with 2 parts Steel, 1 part Nickel and 1 part Black Bronze.\n\nYou can check the liquid weak steel's recipe for more precise alloying percentage rates.", - "quests.metal_age.weak_steel.task1": "1 Part Nickel", - "quests.metal_age.weak_steel.task2": "2 Parts Steel", - "quests.metal_age.weak_steel.task3": "1 Part Black Bronze", "quests.metal_age.highcarb_black_steel.title": "Black Steel Ingredients", "quests.metal_age.highcarb_black_steel.subtitle": "Conservation of matter does not apply", "quests.metal_age.highcarb_black_steel.desc": "The final two anvils are made out of complex alloys that will require a lot of metal to be created. Weak Steel and Pig Iron can be welded to create High Carbon Black Steel, which can then be worked on an anvil into Black Steel.", @@ -1314,23 +1303,15 @@ "quests.metal_age.weak_red_steel.title": "Weak Red Steel Ingredients", "quests.metal_age.weak_red_steel.subtitle": "This is getting a little ridiculous", "quests.metal_age.weak_red_steel.desc": "Like before, Weak Red Steel is the first step of Red Steel's creation. Its alloy is made from 4 parts Black Steel, 2 parts Steel, 1 part Brass, and 1 part Rose Gold.\n\nYou can check the liquid Weak Red Steel's recipe for more precise alloying percentage rates.", - "quests.metal_age.weak_red_steel.steel": "2 Parts Steel", - "quests.metal_age.weak_red_steel.black_steel": "4 Parts Black Steel", - "quests.metal_age.weak_red_steel.brass": "1 Part Brass", - "quests.metal_age.weak_red_steel.rose_gold": "1 Part Rose Gold", "quests.metal_age.weak_blu_steel.title": "Weak Blue Steel Ingredients", "quests.metal_age.weak_blu_steel.subtitle": "This is getting out of hand.", - "quests.metal_age.weak_blu_steel.desc": "Like before, Weak Blue Steel is the first step of Blue Steel's creation. Its alloy is made from 4 parts Black Steel, 2 parts Steel, 1 part Bismuth Bronze, and 1 part Sterling Silver.\n\nYou can check the liquid Weak Blue Steel's recipe for more precise alloying percentage rates.", - "quests.metal_age.weak_blue_steel.steel": "2 Parts Steel", - "quests.metal_age.weak_blue_steel.black_steel": "4 Parts Black Steel", - "quests.metal_age.weak_blue_steel.sterling_silver": "1 Part Sterling Silver", - "quests.metal_age.weak_blue_steel.bismuth_bronze": "1 Part Bismuth Bronze", + "quests.metal_age.weak_blu_steel.desc": "Like before, Weak Blue Steel is the first step of Blue Steel's creation. Its alloy is made from 4 parts Black Steel, 2 parts Steel, 1 part Bismuth Bronze, and 1 part Sterling Silver.\n\bYou can check the liquid Weak Blue Steel's recipe for more precise alloying percentage rates.", "quests.metal_age.highcarb_red_steel.title": "Red Steel Ingredients", "quests.metal_age.highcarb_red_steel.subtitle": "Could deleting matter like this power a nuclear bomb?", "quests.metal_age.highcarb_red_steel.desc": "Red Steel first starts as High Carbon Red Steel, which is made by welding Weak Red Steel and Black Steel. It needs to be worked on the Anvil to turn it into Red Steel", "quests.metal_age.highcarb_blu_steel.title": "Blue Steel Ingredients", "quests.metal_age.highcarb_blu_steel.subtitle": "Lavoisier is rolling in his grave", - "quests.metal_age.highcarb_blu_steel.desc": "Blue Steel first starts as High Carbon Blue Steel, which is made by welding Weak Blue Steel and Black Steel. It needs to be worked on the Anvil to turn it into Blue Steel", + "quests.metal_age.highcarb_blu_steel.desc": "Blue Steel first starts as High Carbon Blue Steel, whcih is made by welding Weak Blue Steel and Black Steel. It needs to be worked on the Anvil to turn it into Blue Steel", "quests.metal_age.redblu_anvil.title": "T6 Anvil: Red or Blue Steel", "quests.metal_age.redblu_anvil.subtitle": "It's over", "quests.metal_age.redblu_anvil.desc": "The final tier of Anvil! With the Tier 6 Anvil you'll be able to work both Red and Blue Steel Ingots into different items.\n\nThis marks the end of TerraFirmaCraft's progression. Now it's time to finish the Industrial Age and create your very first Low Voltage circuitry.", @@ -1557,7 +1538,7 @@ "quests.steam_age.centrifuge.desc": "Ore processing will always be an important part of this modpack, and this machine is another (optional) part of that. By following a different route of ore processing steps (check the Ore Processing Diagram tab in JEI), you can use this centrifuge to get some bonus byproducts out of your ores! The next upgrade to your ores won't be until the LV Thermal Centrifuge, so whether or not this is a worthwhile investment is up to you.", "quests.steam_age.steam_engine.title": "Steam Engine", "quests.steam_age.steam_engine.subtitle": "Time for some real steam power", - "quests.steam_age.steam_engine.desc": "Water wheels and windmills not cutting it any more? It wouldn't be a steam age without a proper steam engine! Each steam engine can output a whole 256 SU, giving you much more power to play with.\n\nBlaze Burners can be crafted without leaving your house, and you can use a Mechanical Arm to automatically feed them solid fuel, or liquid fuel in a bucket (such as creosote). Coal Gems, Anthracite, and Coke can also be used to superheat them.", + "quests.steam_age.steam_engine.desc": "Water wheels and windmills not cutting it any more? It wouldn't be a steam age without a proper steam engine! Each steam engine can output a whole 512 SU, giving you much more power to play with.\n\nBlaze Burners can be crafted without leaving your house, and you can use a Mechanical Arm to automatically feed them solid fuel, or liquid fuel in a bucket. Coal Gems and Coke can also be used to superheat them.", "quests.steam_age.deployers.title": "Deployers", "quests.steam_age.deployers.subtitle": "Primitive Assembly Line", "quests.steam_age.deployers.desc": "While you could use a single deployer for the rest your time in this chapter, we &3really&r don't recommend it. Setting up a line of deployers along a belt will save heaps of time and sanity, and it's not like you'll be wasting materials either, because you can always reuse them to upgrade your tree farm later.\n\nThese will also make electron tubes significantly cheaper!", diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 213334b1a..9cbfe6003 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -27,9 +27,10 @@ const registerTooltips = (event) => event.addAdvanced(['create:blaze_burner'], (item, advanced, text) => { text.add(1, text.of('§cSuperheat§r with Coke, Anthracite, or Flawless and Exquisite coal gems.')) }) - event.addAdvanced(['tfg:electric_greenhouse'], (item, advanced, text) => { + event.addAdvanced(['gtceu:greenhouse'], (item, advanced, text) => { text.add(1, text.of('This machine has a §2Perfect Overclock§r!')), - text.add(2, text.of(`The interior is customizable! Check the multiblock preview in JEI.`)) + text.add(2, text.of('Currently, due to a bug, sometimes outputs rotten food.')) + text.add(3, text.of(`The interior is customizable! Check the multiblock preview in JEI.`)) }) event.addAdvanced(['gtceu:nether_dome'], (item, advanced, text) => { text.add(1, text.of('Artificial enviroment to simulate the Nether.')), diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 995c04cf4..684b6ff15 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -42,7 +42,6 @@ const registerCreateRecipes = (event) => { }) event.remove({ type: 'minecraft:stonecutting', input: 'create:andesite_alloy' }) - event.remove({ type: 'minecraft:stonecutting', input: 'create:rose_quartz' }) // Train Station event.shapeless('2x create:track_station', [ diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index a9adeb1a3..90d2e64f0 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -95,8 +95,16 @@ const registerFirmaLifeRecipes = (event) => { .duration(50) .EUt(2) + // Pineapple Fiber + event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_fiber`) + .itemInputs('firmalife:food/pineapple') + .circuit(1) + .itemOutputs('firmalife:pineapple_fiber') + .duration(50) + .EUt(7) + // Pineapple Yarn - event.recipes.gtceu.wiremill(`tfg:firmalife/pineapple_yarn`) + event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_yarn`) .itemInputs('firmalife:pineapple_fiber') .circuit(1) .itemOutputs('8x firmalife:pineapple_yarn') @@ -446,6 +454,276 @@ const registerFirmaLifeRecipes = (event) => { //#endregion + //#region Рецепты муки + + global.FIRMALIFE_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.macerator(`tfg:${element.name}`) + .itemInputs(element.input) + .itemOutputs(element.output) + .duration(200) + .EUt(2) + }) + + //#endregion + + //#region Рецепты теста + + global.FIRMALIFE_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.mixer(element.name) + .itemInputs(element.input, '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yeast_starter', 100)) + .itemOutputs(element.output) + .duration(300) + .EUt(16) + .circuit(2) + }) + + //#endregion + + //#region Рецепты плоского хлеба + + global.FIRMALIFE_FURNACE_FLATBREAD_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) + + //#endregion + + //#region Смешивание в миске + + // Тесто для пиццы + event.recipes.gtceu.mixer('firmalife:food/pizza_dough_olive_oil') + .itemInputs('firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt') + .inputFluids(Fluid.of('tfc:olive_oil', 1000)) + .itemOutputs('4x firmalife:food/pizza_dough') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/pizza_dough_soybean_oil') + .itemInputs('firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt') + .inputFluids(Fluid.of('firmalife:soybean_oil', 1000)) + .itemOutputs('4x firmalife:food/pizza_dough') + .duration(300) + .EUt(16) + + // Vanilla Ice Cream + event.recipes.gtceu.mixer('firmalife:food/vanilla_ice_cream') + .itemInputs('firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla') + .inputFluids(Fluid.of('firmalife:cream', 1000)) + .itemOutputs('2x firmalife:food/vanilla_ice_cream') + .duration(300) + .EUt(16) + + // Pumpkin Pie Dough + event.recipes.gtceu.mixer('firmalife:food/pumpkin_pie_dough') + .itemInputs('#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('firmalife:food/pumpkin_pie_dough') + .duration(300) + .EUt(16) + .circuit(2) + + // Butter + event.recipes.gtceu.mixer('firmalife:food/butter') + .itemInputs('tfc:powder/salt') + .inputFluids(Fluid.of('firmalife:cream', 1000)) + .itemOutputs('firmalife:food/butter') + .duration(300) + .EUt(16) + + // Pie Dough + event.recipes.gtceu.mixer('firmalife:food/pie_dough') + .itemInputs('#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('firmalife:food/pie_dough') + .duration(300) + .EUt(16) + .circuit(2) + + // Cookie Dough + event.recipes.gtceu.mixer('firmalife:food/cookie_dough') + .itemInputs('#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', '#forge:eggs', 'firmalife:spice/vanilla') + .itemOutputs('4x firmalife:food/cookie_dough') + .duration(300) + .EUt(16) + + // Hardtack Dough + event.recipes.gtceu.mixer('firmalife:food/hardtack_dough') + .itemInputs('tfc:powder/salt', '#tfc:foods/flour') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('4x firmalife:food/hardtack_dough') + .duration(300) + .EUt(16) + .circuit(2) + + // Yeast starter + event.recipes.gtceu.mixer('firmalife:yeast_starter') + .inputFluids(Fluid.of('firmalife:yeast_starter', 100)) + .itemInputs('#tfc:foods/flour') + .outputFluids(Fluid.of('firmalife:yeast_starter', 600)) + .duration(1200) + .EUt(8) + .circuit(1) + + // Cocoa Powder + event.recipes.gtceu.macerator('firmalife:food/cocoa_powder') + .itemInputs('gtceu:cocoa_dust') + .itemOutputs('4x firmalife:food/cocoa_powder') + .duration(100) + .EUt(2) + + event.recipes.tfc.quern('4x firmalife:food/cocoa_powder', 'gtceu:cocoa_dust') + .id(`tfg:quern/cocoa_powder`) + + event.recipes.tfc.quern('gtceu:cocoa_dust', 'firmalife:food/roasted_cocoa_beans') + .id('tfg:quern/cocoa_dust'); + + // Chocolate Ice Cream + event.recipes.gtceu.mixer('firmalife:food/chocolate_ice_cream') + .itemInputs('firmalife:food/vanilla_ice_cream') + .inputFluids(Fluid.of('firmalife:chocolate', 1000)) + .itemOutputs('firmalife:food/chocolate_ice_cream') + .duration(300) + .EUt(16) + + // White Chocolate Blend + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('minecraft:milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/yak_milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/goat_milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/white_chocolate_blend/coconut_milk') + .itemInputs('2x firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) + .itemOutputs('2x firmalife:food/white_chocolate_blend') + .duration(300) + .EUt(16) + + event.smelting('firmalife:food/white_chocolate', 'firmalife:food/white_chocolate_blend') + + // Dark Chocolate Blend + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('minecraft:milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/yak_milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/goat_milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) + + + event.recipes.gtceu.mixer('firmalife:food/dark_chocolate_blend/coconut_milk') + .itemInputs('2x firmalife:food/cocoa_powder', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) + .itemOutputs('2x firmalife:food/dark_chocolate_blend') + .duration(300) + .EUt(16) + + event.smelting('firmalife:food/dark_chocolate', 'firmalife:food/dark_chocolate_blend') + + // Milk Chocolate Blend + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('minecraft:milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/yak_milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:yak_milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/goat_milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:goat_milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) + + event.recipes.gtceu.mixer('firmalife:food/milk_chocolate_blend/coconut_milk') + .itemInputs('firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener') + .inputFluids(Fluid.of('firmalife:coconut_milk', 1000)) + .itemOutputs('2x firmalife:food/milk_chocolate_blend') + .duration(300) + .EUt(16) + + event.smelting('firmalife:food/milk_chocolate', 'firmalife:food/milk_chocolate_blend') + + // Strawberry Ice Cream + event.recipes.gtceu.mixer('firmalife:food/strawberry_ice_cream') + .itemInputs('firmalife:food/vanilla_ice_cream', '2x tfc:food/strawberry') + .itemOutputs('firmalife:food/strawberry_ice_cream') + .duration(300) + .EUt(16) + + // Hardtack Dough + event.recipes.gtceu.mixer('firmalife:food/chocolate_chip_cookie_dough') + .itemInputs('4x firmalife:food/cookie_dough', '#firmalife:chocolate_blends') + .itemOutputs('4x firmalife:food/chocolate_chip_cookie_dough') + .duration(300) + .EUt(16) + + //#endregion + + //#region Обжарка некоторой еды + + // Cooked Pizza + event.smelting('firmalife:food/cooked_pizza', 'firmalife:food/raw_pizza') + + // Taco Shell + event.smelting('firmalife:food/taco_shell', 'firmalife:food/corn_tortilla') + + // Sugar Cookie + event.smelting('firmalife:food/sugar_cookie', 'firmalife:food/cookie_dough') + + // Chocolate Chip Cookie + event.smelting('firmalife:food/chocolate_chip_cookie', 'firmalife:food/chocolate_chip_cookie_dough') + + // Hardtack + event.smelting('firmalife:food/hardtack', 'firmalife:food/hardtack_dough') + + // Cooked Pie + event.smelting('firmalife:food/cooked_pie', 'firmalife:food/filled_pie') + + // Roasted Cocoa Beans + event.smelting('firmalife:food/roasted_cocoa_beans', 'firmalife:food/cocoa_beans') + + // Pumpkin Pie + event.smelting('minecraft:pumpkin_pie', 'firmalife:food/raw_pumpkin_pie') + + //#endregion + //#region Sticky Resin by Vat event.recipes.firmalife.vat() @@ -481,6 +759,28 @@ const registerFirmaLifeRecipes = (event) => { // #endregion + // #region Smashed food + + event.recipes.gtceu.forge_hammer('firmalife:soybean_paste') + .itemInputs('firmalife:food/dehydrated_soybeans') + .itemOutputs('firmalife:food/soybean_paste') + .duration(20) + .EUt(7) + + event.recipes.gtceu.forge_hammer('firmalife:red_grapes') + .itemInputs('firmalife:food/red_grapes') + .itemOutputs('firmalife:food/smashed_red_grapes') + .duration(20) + .EUt(7) + + event.recipes.gtceu.forge_hammer('firmalife:white_grapes') + .itemInputs('firmalife:food/white_grapes') + .itemOutputs('firmalife:food/smashed_white_grapes') + .duration(20) + .EUt(7) + + // #endregion + // #region Drying mat alternatives event.shaped('firmalife:drying_mat', ['AAA'], { A: 'tfc:plant/leafy_kelp' }).id('tfg:shaped/drying_mat_leafy_kelp') @@ -495,4 +795,13 @@ const registerFirmaLifeRecipes = (event) => { .circuit(5) .EUt(GTValues.VA[GTValues.ULV]) .duration(200) + + event.smelting('firmalife:food/dehydrated_soybeans', 'tfc:food/soybean') + + event.recipes.gtceu.fermenter('soybean_oil') + .itemInputs('firmalife:food/soybean_paste') + .inputFluids(Fluid.of('minecraft:water', 100)) + .outputFluids(Fluid.of('firmalife:soybean_oil', 250)) + .EUt(GTValues.VA[GTValues.ULV]) + .duration(600) } diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js index 22b279f2b..8771d171b 100644 --- a/kubejs/server_scripts/greate/recipes.removes.js +++ b/kubejs/server_scripts/greate/recipes.removes.js @@ -27,7 +27,6 @@ function removeGreateRecipes(event) { event.remove({ id: 'greate:shaped/titanium_mechanical_saw' }) event.remove({ id: 'greate:splashing/dough' }) - event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_chromatic_compound' }) event.remove({ mod: 'greate', type: 'create:deploying' }); event.remove({ mod: 'greate', type: 'create:sequenced_assembly' }); diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js index 7e90107f4..83c352ad9 100644 --- a/kubejs/server_scripts/gregtech/recipes.machines.js +++ b/kubejs/server_scripts/gregtech/recipes.machines.js @@ -744,6 +744,18 @@ function registerGTCEuMachineRecipes(event) { // #endregion + // Контроллер теплицы + event.shaped('gtceu:greenhouse', [ + 'ABA', + 'CDC', + 'BCB' + ], { + A: '#gtceu:circuits/mv', + B: 'gtceu:copper_single_cable', + C: 'tfc:compost', + D: 'gtceu:solid_machine_casing' + }).id('tfg:shaped/greenhouse') + // Drums const DRUMS_AND_CRATES = [ 'bismuth_bronze', diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js index 52a6197e4..f4ab5a5d1 100644 --- a/kubejs/server_scripts/gregtech/recipes.materials.js +++ b/kubejs/server_scripts/gregtech/recipes.materials.js @@ -139,7 +139,7 @@ function registerGTCEUMetalRecipes(event) { let matAmount = TagPrefix.block.getMaterialAmount(material) / GTValues.M; - if (!plateStack.isEmpty() && !ingotStack.hasTag('c:hidden_from_recipe_viewers')) { + if (!plateStack.isEmpty()) { event.custom({ type: "createaddition:rolling", @@ -149,6 +149,7 @@ function registerGTCEUMetalRecipes(event) { }).id(`tfg:rolling/${material.getName()}_plate`) if (!blockStack.isEmpty() && GTMaterials.Stone != material) { + // 9х Слиток -> Блок event.recipes.createCompacting(blockStack, ingotStack.withCount(matAmount)) .heated() @@ -157,6 +158,7 @@ function registerGTCEUMetalRecipes(event) { } else { if (!blockStack.isEmpty()) { + // Блок из гемов -> 9 Пластин event.recipes.createCutting(plateStack.withCount(matAmount).withChance(0.65), blockStack) .id(`tfg:cutting/${material.getName()}_plate`) @@ -190,7 +192,7 @@ function registerGTCEUMetalRecipes(event) { 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')) { + if (plateItem != null && foilItem != null) { event.custom({ type: "createaddition:rolling", input: plateItem, diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 57cdf234f..55a34243c 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1028,5 +1028,4 @@ const registerMinecraftRecipes = (event) => { }).id('tfg:shaped/stonecutter'); event.stonecutting('minecraft:smooth_quartz', 'minecraft:quartz_block') - event.stonecutting('create:cut_deepslate', 'minecraft:polished_deepslate') } diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index fd12509f2..6363b026b 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -56,7 +56,6 @@ const registerMinecraftItemTags = (event) => { event.remove('forge:gems', 'minecraft:charcoal') event.remove('forge:gems', 'minecraft:coal') - event.remove('forge:gems', 'minecraft:flint') event.add('tfc:compost_greens_high', 'minecraft:red_mushroom_block') event.add('tfc:compost_greens_high', 'minecraft:brown_mushroom_block') diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index f0ba390a5..e49817b46 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -69,7 +69,6 @@ const registerTFCHeats = (event) => { makeItemHeatByTagPrefix(TagPrefix.rodLong, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TagPrefix.ingot, material, tfcProperty, 1.429) - makeItemHeatByTagPrefix(TFGTagPrefix.ingotDouble, material, tfcProperty, 2.875) makeItemHeatByTagPrefix(TagPrefix.rawOre, material, tfcProperty, 1.429) makeItemHeatByTagPrefix(TFGTagPrefix.richRawOre, material, tfcProperty, 1.429) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 064774d05..d23cb4aad 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -34,6 +34,44 @@ const registerTFCRecipes = (event) => { //#endregion + //#region Рецепты зерен + + global.TFC_QUERN_GRAIN_RECIPE_COMPONENTS.forEach(element => { + + event.recipes.gtceu.macerator(`tfg:${element.name}`) + .itemInputs(element.input) + .itemOutputs(element.output) + .chancedOutput('tfc:straw', 7000, 500) + .duration(200) + .EUt(2) + + event.recipes.tfc.quern(element.output, element.input) + .id(`tfg:quern/${element.name}`) + }) + + //#endregion + + //#region Рецепты муки + + global.TFC_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.macerator(`tfg:${element.name}`) + .itemInputs(element.input) + .itemOutputs(element.output) + .duration(200) + .EUt(2) + }) + + //#endregion + + //#region Рецепты обжарки мяса + + global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) + + //#endregion + //#region Рецепты обжарки форм global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => { @@ -88,6 +126,15 @@ const registerTFCRecipes = (event) => { //#endregion + //#region Рецепты хлеба + + global.TFC_FURNACE_BREAD_RECIPE_COMPONENTS.forEach(element => { + event.smelting(element.output, element.input) + .id(`tfg:smelting/${element.name}`) + }) + + //#endregion + event.shapeless('tfc:crucible', ['tfc:crucible']).id('tfg:empty_crucible') event.shapeless('2x minecraft:stick', ['#minecraft:saplings', '#forge:tools/knives']).id('tfg:strip_saplings') diff --git a/kubejs/server_scripts/tfc/recipes.machines.js b/kubejs/server_scripts/tfc/recipes.machines.js index 44df72c83..ac2370124 100644 --- a/kubejs/server_scripts/tfc/recipes.machines.js +++ b/kubejs/server_scripts/tfc/recipes.machines.js @@ -117,6 +117,20 @@ function registerTFCMachineRecipes(event) { .duration(3200) .EUt(16) + //#region Рецепты плоского теста + + global.TFC_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => { + event.recipes.gtceu.mixer(element.name) + .itemInputs(element.input) + .inputFluids(Fluid.of('minecraft:water', 100)) + .itemOutputs(element.output) + .duration(300) + .EUt(16) + .circuit(3) + }) + + //#endregion + //#region Молды в ассемблере for (let i = 0; i < global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS.length; i++) { @@ -160,9 +174,158 @@ function registerTFCMachineRecipes(event) { .duration(2400) .EUt(16) + // Curdled milk + event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk') + .inputFluids(Fluid.of('minecraft:milk', 2000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of('tfc:curdled_milk', 2000)) + .duration(2400) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk') + .inputFluids(Fluid.of('firmalife:yak_milk', 2000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 2000)) + .duration(2400) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk') + .inputFluids(Fluid.of('firmalife:goat_milk', 2000)) + .itemInputs('firmalife:rennet') + .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 2000)) + .duration(2400) + .EUt(16) + + //Curds + event.recipes.gtceu.fermenter('tfg:fermenter/milk_curd') + .inputFluids(Fluid.of('tfc:curdled_milk', 1000)) + .itemOutputs('firmalife:food/milk_curd') + .duration(1200) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/yak_curd') + .inputFluids(Fluid.of('firmalife:curdled_yak_milk', 1000)) + .itemOutputs('firmalife:food/yak_curd') + .duration(1200) + .EUt(16) + + event.recipes.gtceu.fermenter('tfg:fermenter/goat_curd') + .inputFluids(Fluid.of('firmalife:curdled_goat_milk', 1000)) + .itemOutputs('firmalife:food/goat_curd') + .duration(1200) + .EUt(16) + + // Cheese wheels + event.recipes.gtceu.fermenter('tfg:fermenter/gouda_wheel') + .inputFluids(Fluid.of('tfc:salt_water', 750)) + .itemInputs('3x firmalife:food/milk_curd') + .itemOutputs('firmalife:gouda_wheel') + .duration(12000) + .EUt(24) + + event.recipes.gtceu.fermenter('tfg:fermenter/shosha_wheel') + .inputFluids(Fluid.of('tfc:salt_water', 750)) + .itemInputs('3x firmalife:food/yak_curd') + .itemOutputs('firmalife:shosha_wheel') + .duration(12000) + .EUt(24) + + event.recipes.gtceu.fermenter('tfg:fermenter/feta_wheel') + .inputFluids(Fluid.of('tfc:salt_water', 750)) + .itemInputs('3x firmalife:food/goat_curd') + .itemOutputs('firmalife:feta_wheel') + .duration(12000) + .EUt(24) + + // Cutting + event.recipes.gtceu.cutter('tfg:cutter/gouda') + .itemInputs('firmalife:gouda_wheel') + .itemOutputs('4x firmalife:food/gouda') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/shosha') + .itemInputs('firmalife:shosha_wheel') + .itemOutputs('4x firmalife:food/shosha') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/feta') + .itemInputs('firmalife:feta_wheel') + .itemOutputs('4x firmalife:food/feta') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/cheddar') + .itemInputs('firmalife:cheddar_wheel') + .itemOutputs('4x firmalife:food/cheddar') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/chevre') + .itemInputs('firmalife:chevre_wheel') + .itemOutputs('4x firmalife:food/chevre') + .duration(40) + .EUt(7) + + event.recipes.gtceu.cutter('tfg:cutter/rajya_metok') + .itemInputs('firmalife:rajya_metok_wheel') + .itemOutputs('4x firmalife:food/rajya_metok') + .duration(40) + .EUt(7) + + // Misc + global.TFC_MILKS.forEach(milk => { + event.recipes.gtceu.fermenter(`tfg:fermenter/cream_from_${milk.id.replace(':', '_')}`) + .inputFluids(Fluid.of(milk.id, 1000)) + .outputFluids(Fluid.of('firmalife:cream')) + .circuit(6) + .duration(1200) + .EUt(24) + }) + + event.recipes.gtceu.mixer('tfg:mixer/tomato_sauce') + .itemInputs('firmalife:food/tomato_sauce_mix') + .inputFluids(Fluid.of('minecraft:water', 200)) + .itemOutputs('firmalife:food/tomato_sauce') + .duration(200) + .EUt(24) + //#endregion - // Brine + //#region Оливки + + event.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + .itemInputs('tfc:food/olive') + .itemOutputs('2x tfc:olive_paste') + .duration(60) + .EUt(2) + + event.recipes.gtceu.mixer('tfg:tfc/olive_oil_water') + .inputFluids(Fluid.of('water', 200)) + .itemInputs('1x tfc:olive_paste') + .outputFluids(Fluid.of('tfc:olive_oil_water', 200)) + .duration(200) + .EUt(28) + + event.recipes.gtceu.distillery('tfg:tfc/olive_oil') + .inputFluids(Fluid.of('tfc:olive_oil_water', 250)) + .outputFluids(Fluid.of('tfc:olive_oil', 50)) + .duration(600) + .EUt(28) + + //#endregion + + // Vinegar and Brine + + global.TFC_ALCOHOL.forEach(alcohol => { + event.recipes.gtceu.fermenter(`tfg:tfc/vinegar/${alcohol.id.replace(':', '_')}`) + .itemInputs('#tfc:foods/fruits') + .inputFluids(Fluid.of(alcohol.id, 250)) + .outputFluids(Fluid.of('tfc:vinegar', 250)) + .duration(600) + .EUt(28) + }) event.recipes.gtceu.mixer('tfg:tfc/brine') .inputFluids(Fluid.of('tfc:salt_water', 900)) diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 80f4d9112..a105e1203 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -1114,15 +1114,6 @@ function registerTFCMaterialsRecipes(event) { let tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) if (!tongsStack.isEmpty() && !tongPartStack.isEmpty()) { - event.shaped(tongsStack, [ - 'AA', - 'BC' - ], { - A: tongPartStack, - B: '#forge:bolts', - C: '#forge:tools/hammers' - }).id(`tfchotornot:crafting/tongs/${material.getName()}`) - // Ручка щипцов event.recipes.tfc.heating(tongPartStack, tfcProperty.getMeltTemp()) .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) diff --git a/kubejs/server_scripts/tfclunchbox/recipes.js b/kubejs/server_scripts/tfclunchbox/recipes.js index badc96045..0654a12b2 100644 --- a/kubejs/server_scripts/tfclunchbox/recipes.js +++ b/kubejs/server_scripts/tfclunchbox/recipes.js @@ -47,13 +47,13 @@ function registerTFCLunchBoxRecipes(event) { event.recipes.gtceu.canner('tfclunchbox:fill_capsule_with_ice') .itemInputs('tfclunchbox:universal_capsule') .inputFluids(Fluid.of('gtceu:ice', 45 * 144)) - .itemOutputs(Item.of('tfclunchbox:universal_capsule', '{Durability:1000}').withName(Text.translate('item.tfclunchbox.universal_capsule.filled'))) + .itemOutputs(Item.of('tfclunchbox:universal_capsule', '{Durability:500}').withName(Text.translate('item.tfclunchbox.universal_capsule.filled'))) .duration(100) .EUt(GTValues.VA[GTValues.LV]) event.recipes.gtceu.canner('tfclunchbox:fill_capsule_with_ice_solid') .itemInputs('tfclunchbox:universal_capsule', '5x minecraft:packed_ice') - .itemOutputs(Item.of('tfclunchbox:universal_capsule', '{Durability:1000}').withName(Text.translate('item.tfclunchbox.universal_capsule.filled'))) + .itemOutputs(Item.of('tfclunchbox:universal_capsule', '{Durability:500}').withName(Text.translate('item.tfclunchbox.universal_capsule.filled'))) .duration(100) .EUt(GTValues.VA[GTValues.LV]) } diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js deleted file mode 100644 index 0a8fa9c76..000000000 --- a/kubejs/server_scripts/tfg/recipes.food.js +++ /dev/null @@ -1,620 +0,0 @@ -// priority: 0 -/** - * @param {Internal.RecipesEventJS} event - */ -function registerTFGFoodRecipes(event) { - - const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.machines.ISPOutputRecipeLogic") - const $SizedIngredient = Java.loadClass("com.gregtechceu.gtceu.api.recipe.ingredient.SizedIngredient") - const Sized = (ing, amount) => $SizedIngredient.create(ing, amount) - - /** - * @typedef {Object} FoodRecipeData - * @property {number?} circuit - * @property {Internal.GTRecipeComponents$FluidIngredientJS_[]?} fluidInputs - * @property {Internal.FluidStackJS[]?} fluidOutputs - * @property {(string | [string, Internal.Ingredient])[]?} itemInputs - * @property {string[]?} itemOutputs Ingredient outputs - first output is replaced with ISP output if defined - * @property {Internal.ItemStackProviderJS?} itemOutputProvider ItemStackProvider which provides the recipe output. - * - * **NOTE:** TFC Ingredients do not support item counts higher than 1. Do `Sized(TFCIngredient('item:item'), count)` instead of `TFCIngredient('[count]x item:item')` - */ - - //#region Helper funcs - - /** - * @param {"food_oven"|"food_processor"} type - * @param {string} id - * @param {string} duration - * @param {string} EUt - * @param {FoodRecipeData} data - */ - function registerFoodRecipe(type, id, duration, EUt, data) { - if (data.itemInputs === undefined) data.itemInputs = [] - if (data.itemOutputs === undefined) data.itemOutputs = [] - if (data.fluidInputs === undefined) data.fluidInputs = [] - if (data.fluidOutputs === undefined) data.fluidOutputs = [] - let gregInputs = [], inputs= [] - let outputFirstIndex = (data.itemOutputProvider === undefined) ? 0 : 1 - data.itemInputs.forEach(item => { - if (typeof item === "string") { - gregInputs.push(item) - - const match = item.match(/^(\d+)\s*x\s*/i); - let count = 1 - if (match) { - count = parseInt(match[1]); - item = item.slice(match[0].length); - } - inputs.push($SizedIngredient.create(item, count)) - } else { - gregInputs.push(item[0]) - inputs.push(item[1]) - } - }) - - $ISPRecipeLogic.RegisterRecipeData(type + "/" + id, inputs, (data.itemOutputProvider === undefined) ? null : data.itemOutputProvider.asCanonClass(), data.itemOutputs.slice(outputFirstIndex).map(i => Item.of(i))) - - let r = event.recipes.gtceu[type](id) - .duration(duration) - .EUt(EUt) - - if (data.circuit) r.circuit(data.circuit) - if (data.itemOutputs.length > 0) r.itemOutputs(data.itemOutputs) - if (data.itemInputs.length > 0) r.itemInputs(data.itemInputs) - if (data.fluidInputs.length > 0) r.inputFluids(data.fluidInputs); - if (data.fluidOutputs.length > 0) r.outputFluids(data.fluidOutputs); - } - - /** - * @param {string} id - * @param {number} duration - * @param {EUt} EUt - * @param {FoodRecipeData} data - */ - const processorRecipe = (id, duration, EUt, data) => registerFoodRecipe("food_processor", id, duration, EUt, data) - - /** - * @param {string} id - * @param {string} input - * @param {string} out - * @param {Internal.FluidIngredient?} fluid - * @param {boolean?} isFirmaDynamic - */ - function cookingRecipe(id, input, out, fluid, isFirmaDynamic) { - registerFoodRecipe("food_oven", id, 300, 32, { - itemInputs: [input], - itemOutputs: [out], - fluidInputs: (fluid === undefined) ? [] : [fluid], - itemInputs: [input], - itemOutputProvider: (isFirmaDynamic) ? TFC.isp.of(out).firmaLifeCopyDynamicFood() : TFC.isp.of(out).copyFood().addTrait("firmalife:oven_baked") - }) - } - - //#endregion - - //#region ================= Meat cooking ================= - - global.TFC_MEAT_RECIPE_COMPONENTS.forEach(item => { - cookingRecipe(item.name, item.input, item.output) - }) - - //#endregion - //#region ================= TFC Grains ================= - - global.TFC_GRAINS.forEach(grain => { - - // Raw crop to grain - processorRecipe(`${grain}_grain`, 100, 8, { - itemInputs: [`tfc:food/${grain}`], - itemOutputs: [`tfc:food/${grain}_grain`], - itemOutputProvider: TFC.isp.of(`tfc:food/${grain}_grain`).copyOldestFood() - }) - - // Grain to flour - processorRecipe(`${grain}_flour`, 100, 8, { - itemInputs: [`tfc:food/${grain}_grain`], - itemOutputs: [`2x tfc:food/${grain}_flour`], - itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_flour`).copyOldestFood() - }) - - // Flatbread dough - processorRecipe(`${grain}_flatbread_dough`, 300, 8, { - itemInputs: [`tfc:food/${grain}_flour`], - itemOutputs: [`2x tfc:food/${grain}_dough`], - fluidInputs: [Fluid.of('minecraft:water', 100)], - itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_dough`).copyFood() - }) - - // Firmalife dough - processorRecipe(`${grain}_dough`, 300, 16, { - itemInputs: [`tfc:food/${grain}_flour`, `#tfc:sweetener`], - itemOutputs: [`4x firmalife:food/${grain}_dough`], - fluidInputs: [Fluid.of('firmalife:yeast_starter', 200)], - itemOutputProvider: TFC.isp.of(`4x firmalife:food/${grain}_dough`).copyFood() - }) - - // Bread baking - cookingRecipe(`${grain}_flatbread`, `tfc:food/${grain}_dough`, `firmalife:food/${grain}_flatbread`) - cookingRecipe(`${grain}_bread`, `firmalife:food/${grain}_dough`, `tfc:food/${grain}_bread`) - - processorRecipe(`${grain}_bread_slice`, 10, 8, { - circuit: 1, - itemInputs: [`tfc:food/${grain}_bread`], - itemOutputs: [`2x firmalife:food/${grain}_slice`], - itemOutputProvider: TFC.isp.of(`2x firmalife:food/${grain}_slice`).copyOldestFood() - }) - - //Sandwich making - - let breadTypes = [["bread", `tfc:food/${grain}_bread`], ["flatbread", `firmalife:food/${grain}_flatbread`], ["slice", `firmalife:food/${grain}_slice`]] - breadTypes.forEach((type) => { - processorRecipe(`${grain}_${type[0]}_sandwich`, 100, 16, { - circuit: 3, - itemInputs: [`2x ${type[1]}`, "3x #tfc:foods/usable_in_sandwich"], - itemOutputs: [`2x tfc:food/${grain}_bread_sandwich`], - itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_sandwich`).meal( - (food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [ - (portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5), - (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8), - ]) - }) - - //Note: Jam needs to be first in the recipe code or else it will consider it as the usable_in_jam_sandwhich ingredients. - processorRecipe(`${grain}_${type[0]}_jam_sandwich`, 100, 16, { - circuit: 4, - itemInputs: [`2x ${type[1]}`, '#tfc:foods/preserves', '2x #tfc:foods/usable_in_jam_sandwich'], - itemOutputs: [`2x tfc:food/${grain}_bread_jam_sandwich`, 'tfc:empty_jar'], - itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_bread_jam_sandwich`).meal( - (food => food.hunger(4).water(0.5).saturation(1).decayModifier(4.5)), [ - (portion) => portion.ingredient(Ingredient.of('#tfc:sandwich_bread')).nutrientModifier(0.5).saturationModifier(0.5).waterModifier(0.5), - (portion) => portion.nutrientModifier(0.8).saturationModifier(0.8).waterModifier(0.8), - ]), - }) - }) - - - }) - - //#endregion - - //#region ================= Firmalife ================= - - global.FIRMALIFE_COOKING_RECIPE_COMPONENTS.forEach(item => { - cookingRecipe(item.name, item.input, item.output, undefined, true) - }) - - //#endregion - //#region ================= Dairy ================= - - global.TFC_CURDS_AND_CHEESES.forEach(item => { - - processorRecipe(`${item.curd}_curd`, 1200, 16, { - itemOutputs: [item.curd], - fluidInputs: [Fluid.of(item.input_fluid, 1000)], - itemOutputProvider: TFC.isp.of(item.curd).resetFood() - }) - - processorRecipe(`${item.cheese1}_cheese_wheel_1`, 8000, 16, { - itemInputs: [`3x ${item.curd}`], - itemOutputs: [`firmalife:${item.cheese1}_wheel`], - fluidInputs: [Fluid.of('tfc:salt_water', 750)], - itemOutputProvider: TFC.isp.of(`firmalife:${item.cheese1}_wheel`).copyOldestFood() - }) - - processorRecipe(`${item.cheese2}_cheese_wheel_2`, 1000, 16, { - circuit: 2, - itemInputs: [`3x ${item.curd}`, `6x tfc:powder/salt`], - itemOutputs: [`firmalife:${item.cheese2}_wheel`], - itemOutputProvider: TFC.isp.of(`firmalife:${item.cheese2}_wheel`).copyOldestFood() - }) - - processorRecipe(`${item.cheese1}_cheese_cutting_1`, 100, 8, { - itemInputs: [`firmalife:${item.cheese1}_wheel`], - itemOutputs: [`4x firmalife:food/${item.cheese1}`], - itemOutputProvider: TFC.isp.of(`4x firmalife:food/${item.cheese1}`).copyOldestFood() - }) - - processorRecipe(`${item.cheese2}_cheese_cutting_2`, 100, 8, { - itemInputs: [`firmalife:${item.cheese2}_wheel`], - itemOutputs: [`4x firmalife:food/${item.cheese2}`], - itemOutputProvider: TFC.isp.of(`4x firmalife:food/${item.cheese2}`).copyOldestFood() - }) - - }) - - global.TFC_MILKS.forEach(milk => { - const milkID = milk.id.split(':')[1]; - - processorRecipe(`white_chocolate_blend_from_${milkID}`, 300, 16, { - circuit: 3, - itemInputs: ['2x firmalife:food/cocoa_butter', '#tfc:sweetener'], - itemOutputs: ['2x firmalife:food/white_chocolate_blend'], - fluidInputs: [Fluid.of(milk.id, 1000)], - itemOutputProvider: TFC.isp.of('2x firmalife:food/white_chocolate_blend').resetFood(), - }) - - processorRecipe(`dark_chocolate_blend_from_${milkID}`, 300, 16, { - circuit: 2, - itemInputs: ['2x firmalife:food/cocoa_powder', '#tfc:sweetener'], - itemOutputs: ['2x firmalife:food/dark_chocolate_blend'], - fluidInputs: [Fluid.of(milk.id, 1000)], - itemOutputProvider: TFC.isp.of('2x firmalife:food/dark_chocolate_blend').resetFood(), - }) - - processorRecipe(`milk_chocolate_blend_from_${milkID}`, 300, 16, { - circuit: 1, - itemInputs: ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener'], - itemOutputs: ['2x firmalife:food/milk_chocolate_blend'], - fluidInputs: [Fluid.of(milk.id, 1000)], - itemOutputProvider: TFC.isp.of('2x firmalife:food/milk_chocolate_blend').resetFood(), - }) - - processorRecipe(`egg_noodles_from_${milkID}`, 50, 8, { - circuit: 6, - itemInputs: ["#tfc:foods/flour", 'tfc:powder/salt', '#forge:eggs'], - itemOutputs: ['firmalife:food/raw_egg_noodles'], - fluidInputs: [Fluid.of(milk.id, 1000)], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_egg_noodles").copyOldestFood(), - }) - - processorRecipe(`rice_noodles_from_${milkID}`, 50, 8, { - itemInputs: ["tfc:food/rice_flour", 'tfc:food/maize_flour', 'tfc:powder/salt'], - fluidInputs: [Fluid.of(milk.id, 1000)], - itemOutputs: ['2x firmalife:food/raw_rice_noodles'], - itemOutputProvider: TFC.isp.of('2x firmalife:food/raw_rice_noodles').copyOldestFood() - }) - - // No ISP needed here - event.recipes.gtceu.fermenter(`tfg:fermenter/cream_from_${milkID}`) - .inputFluids(Fluid.of(milk.id, 1000)) - .outputFluids(Fluid.of('firmalife:cream')) - .circuit(6) - .duration(1200) - .EUt(24) - }) - - //#endregion - - //#region ================= Food preservation ================= - - const smoking_meats = Ingredient.of('#tfc:foods/raw_meats').itemIds; - const brining_veg = Ingredient.of('#firmalife:foods/pizza_ingredients').itemIds; - - const brining_ingredients = smoking_meats.concat(brining_veg); - - brining_ingredients.forEach(item => { - processorRecipe(`${item}/brining`, 200, 16, { - circuit: 5, - itemInputs: [item], - itemOutputs: [item], - fluidInputs: [Fluid.of("tfc:brine", 100)], - itemOutputProvider: TFC.isp.of(item).copyOldestFood().addTrait('tfc:brined') - }) - }) - - smoking_meats.forEach(item => { - processorRecipe(`${item}/smoking`, 200, 16, { - circuit: 6, - itemInputs: [[item, TFC.ingredient.lacksTrait(item, "firmalife:smoked")]], - itemOutputs: [item], - fluidInputs: [Fluid.of('gtceu:wood_gas', 50)], - itemOutputProvider: TFC.isp.of(item).copyOldestFood().addTrait("firmalife:smoked") - }) - }) - - //#endregion - - //#region ================= Misc ================= - - global.TFC_JAMS.forEach(name => { - processorRecipe(`${name}_jam`, 200, 8, { - circuit: 15, - itemInputs: [`4x tfc:food/${name}`, "#tfg:sugars", "#tfc:empty_jar_with_lid"], - itemOutputs: [`4x tfc:jar/${name}`], - fluidInputs: [Fluid.of("minecraft:water", 100)], - itemOutputProvider: TFC.isp.of(`4x tfc:jar/${name}`).copyFood() - }) - - processorRecipe(`${name}_jam_no_seal`, 200, 8, { - circuit: 16, - itemInputs: [`4x tfc:food/${name}`, "#tfg:sugars", "tfc:empty_jar"], - itemOutputs: [`4x tfc:jar/${name}_unsealed`], - fluidInputs: [Fluid.of("minecraft:water", 100)], - itemOutputProvider: TFC.isp.of(`4x tfc:jar/${name}_unsealed`).copyFood() - }) - }) - - cookingRecipe("pasta", "firmalife:food/raw_egg_noodles", "firmalife:food/cooked_pasta", Fluid.of("minecraft:water", 100)) - cookingRecipe("corn_tortilla", "firmalife:food/masa", "firmalife:food/corn_tortilla") - cookingRecipe("boiled_egg", "#firmalife:foods/raw_eggs", "tfc:food/boiled_egg", Fluid.of("minecraft:water", 200)) - cookingRecipe("cooked_rice", "tfc:food/rice_grain", "tfc:food/cooked_rice", Fluid.of("minecraft:water", 200)) - - processorRecipe("pasta_tomato_sauce", 60, 8, { - itemInputs: ["firmalife:food/cooked_pasta", "firmalife:food/tomato_sauce"], - itemOutputs: ["firmalife:food/pasta_with_tomato_sauce"], - itemOutputProvider: TFC.isp.of('firmalife:food/pasta_with_tomato_sauce').copyFood() - }) - - processorRecipe('firmalife_masa', 300, 2, { - itemInputs: ["firmalife:food/masa_flour"], - itemOutputs: ["2x firmalife:food/masa"], - fluidInputs: [Fluid.of('minecraft:water', 100)], - itemOutputProvider: TFC.isp.of("2x firmalife:food/masa").copyFood() - }) - - processorRecipe("tortilla_chips", 40, 16, { - itemInputs: ["firmalife:food/taco_shell", "tfc:powder/salt"], - itemOutputs: ["firmalife:food/tortilla_chips"], - itemOutputProvider: TFC.isp.of("firmalife:food/tortilla_chips").copyFood() - }) - - processorRecipe("tomato_sauce_mix", 600, 8, { - itemInputs: ['tfc:food/tomato', 'tfc:powder/salt', 'tfc:food/garlic'], - itemOutputs: ['5x firmalife:food/tomato_sauce_mix'], - itemOutputProvider: TFC.isp.of('5x firmalife:food/tomato_sauce_mix').copyOldestFood(), - }) - - processorRecipe("tomato_sauce_from_mix", 200, 8, { - itemInputs: ['firmalife:food/tomato_sauce_mix'], - itemOutputs: ['firmalife:food/tomato_sauce'], - fluidInputs: [Fluid.of('minecraft:water', 200)], - itemOutputProvider: TFC.isp.of('firmalife:food/tomato_sauce').copyOldestFood(), - }) - - processorRecipe("olive_paste", 60, 8, { - itemInputs: ['tfc:food/olive'], - itemOutputs: ['2x tfc:olive_paste'], - itemOutputProvider: TFC.isp.of('2x tfc:olive_paste'), - }) - - processorRecipe("soybean_paste", 60, 8, { - itemInputs: ['firmalife:food/dehydrated_soybeans'], - itemOutputs: ['firmalife:food/soybean_paste'], - itemOutputProvider: TFC.isp.of('firmalife:food/soybean_paste').copyOldestFood(), - }) - - // Vinegar - global.TFC_ALCOHOL.forEach(alcohol => { - let name = `vinegar_${alcohol.id.replace(':', '_')}`; - - processorRecipe(name, 600, 32, { - circuit: 5, - itemInputs: ['#tfc:foods/fruits'], - fluidInputs: [Fluid.of(alcohol.id, 250)], - fluidOutputs: [Fluid.of('tfc:vinegar', 250)], - }) - - }) - - processorRecipe("pizza_no_extra", 600, 16, { - itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese"], - itemOutputs: ["firmalife:food/raw_pizza"], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal( - (food) => food.hunger(4).saturation(1).grain(1).dairy(0.25).decayModifier(4.5), - [(portion) => portion.nutrientModifier(0.8).waterModifier(0.8).saturationModifier(0.8)] - ) - }) - - processorRecipe("pizza_1_extra", 600, 16, { - circuit: 1, - itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese", "#firmalife:foods/pizza_ingredients"], - itemOutputs: ["firmalife:food/raw_pizza"], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal( - (food) => food.hunger(4).saturation(1).grain(1).dairy(0.25).decayModifier(4.5), - [(portion) => portion.nutrientModifier(0.8).waterModifier(0.8).saturationModifier(0.8)] - ) - }) - - processorRecipe("pizza_2_extra", 600, 16, { - 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"], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_pizza").meal( - (food) => food.hunger(4).saturation(1).grain(1).dairy(0.25).decayModifier(4.5), - [(portion) => portion.nutrientModifier(0.8).waterModifier(0.8).saturationModifier(0.8)] - ) - }) - - processorRecipe("pizza_dough_olive_oil", 300, 16, { - itemInputs: ['firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt'], - itemOutputs: ['4x firmalife:food/pizza_dough'], - fluidInputs: [Fluid.of('tfc:olive_oil', 1000)], - itemOutputProvider: TFC.isp.of("4x firmalife:food/pizza_dough").copyOldestFood() - }) - - processorRecipe("pizza_dough_soybean_oil", 300, 16, { - itemInputs: ['firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt'], - itemOutputs: ['4x firmalife:food/pizza_dough'], - fluidInputs: [Fluid.of('firmalife:soybean_oil', 1000)], - itemOutputProvider: TFC.isp.of("4x firmalife:food/pizza_dough").copyOldestFood() - }) - - processorRecipe("vanilla_ice_cream", 300, 16, { - itemInputs: ['firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla'], - itemOutputs: ['2x firmalife:food/vanilla_ice_cream'], - fluidInputs: [Fluid.of('firmalife:cream', 1000)], - itemOutputProvider: TFC.isp.of("2x firmalife:food/vanilla_ice_cream").resetFood() - }) - - processorRecipe("chocolate_ice_cream", 300, 16, { - itemInputs: ['firmalife:food/vanilla_ice_cream'], - itemOutputs: ['firmalife:food/chocolate_ice_cream'], - fluidInputs: [Fluid.of('firmalife:chocolate', 1000)], - itemOutputProvider: TFC.isp.of("firmalife:food/chocolate_ice_cream").resetFood() - }) - - processorRecipe("strawberry_ice_cream", 300, 16, { - itemInputs: ['firmalife:food/vanilla_ice_cream', '2x tfc:food/strawberry'], - itemOutputs: ['firmalife:food/strawberry_ice_cream'], - itemOutputProvider: TFC.isp.of("firmalife:food/strawberry_ice_cream").resetFood() - }) - - processorRecipe("cookie_dough_ice_cream", 300, 16, { - itemInputs: [`firmalife:food/vanilla_ice_cream`, `firmalife:food/chocolate_chip_cookie_dough`], - itemOutputs: [`firmalife:food/cookie_dough_ice_cream`], - itemOutputProvider: TFC.isp.of("firmalife:food/cookie_dough_ice_cream").resetFood() - }) - - processorRecipe("butter", 300, 16, { - itemInputs: ["tfc:powder/salt"], - itemOutputs: ["firmalife:food/butter"], - fluidInputs: [Fluid.of('firmalife:cream', 1000)], - itemOutputProvider: TFC.isp.of('firmalife:food/butter').resetFood() - }) - - processorRecipe("pie_dough", 300, 16, { - circuit: 2, - itemInputs: ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour'], - itemOutputs: ['firmalife:food/pie_dough'], - fluidInputs: [Fluid.of('minecraft:water', 1000)], - itemOutputProvider: TFC.isp.of('firmalife:food/pie_dough').copyOldestFood() - }) - - processorRecipe("pumpkin_pie_dough", 300, 16, { - circuit: 2, - itemInputs: ['#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour'], - itemOutputs: ['firmalife:food/pumpkin_pie_dough'], - fluidInputs: [Fluid.of('minecraft:water', 1000)], - itemOutputProvider: TFC.isp.of('firmalife:food/pumpkin_pie_dough').copyOldestFood() - }) - - processorRecipe("raw_pumpkin_pie", 20, 8, { - itemInputs: ["firmalife:food/pumpkin_pie_dough", "firmalife:pie_pan"], - itemOutputs: ["firmalife:raw_pumpkin_pie"], - itemOutputProvider: TFC.isp.of("firmalife:food/raw_pumpkin_pie").copyFood() - }) - - processorRecipe("cookie_dough", 300, 16, { - itemInputs: ['#tfc:sweetener', '#forge:eggs', 'firmalife:food/butter', '#tfc:foods/flour', "firmalife:spice/vanilla"], - itemOutputs: ['4x firmalife:food/cookie_dough'], - itemOutputProvider: TFC.isp.of('4x firmalife:food/cookie_dough').copyOldestFood() - }) - - processorRecipe("chocolate_chip_cookie_dough", 300, 16, { - itemInputs: ['4x firmalife:food/cookie_dough', '#firmalife:chocolate_blends'], - itemOutputs: ['4x firmalife:food/chocolate_chip_cookie_dough'], - itemOutputProvider: TFC.isp.of('4x firmalife:food/chocolate_chip_cookie_dough').copyOldestFood() - }) - - processorRecipe("hardtack_dough", 300, 16, { - itemInputs: ['tfc:powder/salt', '#tfc:foods/flour'], - itemOutputs: ['4x firmalife:food/hardtack_dough'], - fluidInputs: [Fluid.of('minecraft:water', 1000)], - itemOutputProvider: TFC.isp.of('4x firmalife:food/hardtack_dough').copyOldestFood() - }) - - processorRecipe("yeast_starter", 1200, 8, { - circuit: 1, - fluidInputs: [Fluid.of('firmalife:yeast_starter', 100)], - fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)], - itemInputs: ['#tfc:foods/flour'], - }) - - processorRecipe("yeast_starter_from_water", 7200, 8, { - circuit: 10, - fluidInputs: [Fluid.of('minecraft:water', 100)], - fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)], - itemInputs: ['#tfc:foods/fruits'], - }) - - processorRecipe("cocoa_dust", 100, 4, { - itemInputs: ["firmalife:food/roasted_cocoa_beans"], - itemOutputs: ["gtceu:cocoa_dust"], - itemOutputProvider: TFC.isp.of("gtceu:cocoa_dust") - }) - - processorRecipe("red_grapes", 50, 8, { - itemInputs: ["firmalife:food/red_grapes"], - itemOutputs: ["firmalife:food/smashed_red_grapes"], - itemOutputProvider: TFC.isp.of('firmalife:food/smashed_red_grapes').copyOldestFood() - }) - - processorRecipe("white_grapes", 50, 8, { - itemInputs: ["firmalife:food/white_grapes"], - itemOutputs: ["firmalife:food/smashed_white_grapes"], - itemOutputProvider: TFC.isp.of('firmalife:food/smashed_white_grapes').copyOldestFood() - }) - - processorRecipe("cured_maize", 300, 8, { - itemInputs: ["tfc:food/maize_grain"], - itemOutputs: ["firmalife:food/cured_maize"], - itemOutputProvider: TFC.isp.of('firmalife:food/cured_maize').copyOldestFood() - }) - - processorRecipe("soy_mixture", 300, 8, { - itemInputs: ["tfc:food/soybean", 'tfc:powder/salt'], - itemOutputs: ["firmalife:food/soy_mixture"], - fluidInputs: [Fluid.of('minecraft:water', 50)], - itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyOldestFood(), - - }) - - // These don't need the ISP handling, they're just here to keep all the food recipes together - - event.recipes.gtceu.mixer('tfg:tfc/olive_oil_water') - .inputFluids(Fluid.of('water', 200)) - .itemInputs('1x tfc:olive_paste') - .outputFluids(Fluid.of('tfc:olive_oil_water', 200)) - .duration(200) - .EUt(28) - - event.recipes.gtceu.distillery('tfg:tfc/olive_oil') - .inputFluids(Fluid.of('tfc:olive_oil_water', 250)) - .outputFluids(Fluid.of('tfc:olive_oil', 50)) - .duration(600) - .EUt(28) - - event.recipes.gtceu.fermenter('soybean_oil') - .itemInputs('firmalife:food/soybean_paste') - .inputFluids(Fluid.of('minecraft:water', 100)) - .outputFluids(Fluid.of('firmalife:soybean_oil', 250)) - .EUt(GTValues.VA[GTValues.ULV]) - .duration(600) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_milk') - .inputFluids(Fluid.of('minecraft:milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('tfc:curdled_milk', 2000)) - .duration(2400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_yak_milk') - .inputFluids(Fluid.of('firmalife:yak_milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('firmalife:curdled_yak_milk', 2000)) - .duration(2400) - .EUt(16) - - event.recipes.gtceu.fermenter('tfg:fermenter/curdled_goat_milk') - .inputFluids(Fluid.of('firmalife:goat_milk', 2000)) - .itemInputs('firmalife:rennet') - .outputFluids(Fluid.of('firmalife:curdled_goat_milk', 2000)) - .duration(2400) - .EUt(16) - - // GT cocoa dust compat - event.recipes.gtceu.macerator('firmalife:food/cocoa_powder') - .itemInputs('gtceu:cocoa_dust') - .itemOutputs('4x firmalife:food/cocoa_powder') - .duration(100) - .EUt(2) - - event.recipes.tfc.quern('4x firmalife:food/cocoa_powder', 'gtceu:cocoa_dust') - .id(`tfg:quern/cocoa_powder`) - - event.recipes.tfc.quern('gtceu:cocoa_dust', 'firmalife:food/roasted_cocoa_beans') - .id('tfg:quern/cocoa_dust'); - - //#endregion - - event.replaceInput({id: 'gtceu:shaped/lv_food_processor'}, 'gtceu:lv_electric_piston', 'gtceu:steel_whisk') - event.replaceInput({id: 'gtceu:shaped/mv_food_processor'}, 'gtceu:mv_electric_piston', 'gtceu:aluminium_whisk') - event.replaceInput({id: 'gtceu:shaped/hv_food_processor'}, 'gtceu:hv_electric_piston', 'gtceu:stainless_steel_whisk') - event.replaceInput({id: 'gtceu:shaped/ev_food_processor'}, 'gtceu:ev_electric_piston', 'gtceu:titanium_whisk') - - event.replaceInput({id: 'gtceu:shaped/lv_food_oven'}, 'gtceu:lv_electric_piston', '#tfg:metal_bars') - event.replaceInput({id: 'gtceu:shaped/mv_food_oven'}, 'gtceu:mv_electric_piston', '#tfg:metal_bars') - event.replaceInput({id: 'gtceu:shaped/hv_food_oven'}, 'gtceu:hv_electric_piston', '#tfg:metal_bars') - event.replaceInput({id: 'gtceu:shaped/ev_food_oven'}, 'gtceu:ev_electric_piston', '#tfg:metal_bars') -} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index 0f4bc7713..eec0f9d35 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -14,5 +14,4 @@ const registerTFGRecipes = (event) => { registerTFGSupportRecipes(event) registerTFGFishingNetsRecipes(event) registerTFGConvertingRecipes(event) - registerTFGFoodRecipes(event) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index 90a2eb47f..d8fce61c8 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -287,4 +287,4 @@ function registerTFGRockRecipes(event) { .EUt(GTValues.VA[GTValues.LV]) }) //#endregion -} +} \ No newline at end of file diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js index 371ee10f7..14ef74306 100644 --- a/kubejs/server_scripts/vintage_improvements/recipes.js +++ b/kubejs/server_scripts/vintage_improvements/recipes.js @@ -293,10 +293,6 @@ function registerVintageImprovementsRecipes(event) { forEachMaterial(material => { - const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1); - if (ingotItem == null || ingotItem.hasTag('c:hidden_from_recipe_viewers')) - return; - // #region Coiling if (material.hasFlag(MaterialFlags.GENERATE_ROD) && material.hasFlag(MaterialFlags.GENERATE_SPRING_SMALL)) { @@ -631,13 +627,6 @@ function registerVintageImprovementsRecipes(event) { processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER }).id(`tfg:vi/coiling/phantom_thread`) - event.custom({ - type: 'vintageimprovements:coiling', - ingredients: [{ item: 'firmalife:pineapple_fiber' }], - results: [{ item: 'firmalife:pineapple_yarn', count: 8 }], - processingTime: 100 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id(`tfg:vi/coiling/pineapple_yarn`) - event.custom({ type: 'vintageimprovements:coiling', ingredients: [ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Polycaprolactam, 1)], diff --git a/kubejs/startup_scripts/ae2/tag_prefixes.js b/kubejs/startup_scripts/ae2/tag_prefixes.js index 31a6e4325..2c03f700b 100644 --- a/kubejs/startup_scripts/ae2/tag_prefixes.js +++ b/kubejs/startup_scripts/ae2/tag_prefixes.js @@ -1,15 +1,15 @@ // priority: 0 const registerAE2TagPrefixes = (event) => { + const $AE_BLOCKS = Java.loadClass('appeng.core.definitions.AEBlocks'); const $AE_ITEMS = Java.loadClass('appeng.core.definitions.AEItems'); const Fluix = GTCEuAPI.materialManager.getMaterial('tfg:fluix') - // Blocks have to be handled in java because ae2 is weird - + TagPrefix.block.setIgnored(Fluix, $AE_BLOCKS.FLUIX_BLOCK); TagPrefix.dust.setIgnored(Fluix, $AE_ITEMS.FLUIX_DUST); TagPrefix.gem.setIgnored(Fluix, $AE_ITEMS.FLUIX_CRYSTAL); - +; TagPrefix.dust.setIgnored(GTMaterials.CertusQuartz, $AE_ITEMS.CERTUS_QUARTZ_DUST); TagPrefix.gem.setIgnored(GTMaterials.CertusQuartz, $AE_ITEMS.CERTUS_QUARTZ_CRYSTAL); diff --git a/kubejs/startup_scripts/create/constants.js b/kubejs/startup_scripts/create/constants.js index b534cfb44..c78f93e53 100644 --- a/kubejs/startup_scripts/create/constants.js +++ b/kubejs/startup_scripts/create/constants.js @@ -188,6 +188,9 @@ global.CREATE_DISABLED_ITEMS = [ // Blocks 'create:andesite_alloy_block', 'create:experience_block', + 'create:rose_quartz_block', + 'create:rose_quartz_tiles', + 'create:small_rose_quartz_tiles', // Other 'create:honey_bucket', @@ -202,6 +205,7 @@ global.CREATE_DISABLED_ITEMS = [ 'create:blaze_cake_base', 'create:sturdy_sheet', 'create:polished_rose_quartz', + 'create:rose_quartz', 'create:cinder_flour', 'create:dough', 'create:bar_of_chocolate', diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index 6bc9a7428..e0e9b6220 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -84,13 +84,6 @@ global.FIRMALIFE_ORE_MATERIALS = [ 'chromite' ]; -global.FIRMALIFE_JAMS = [ - "fig", - "pineapple", - "red_grapes", - "white_grapes" -] - 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' }, @@ -101,20 +94,26 @@ global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ { input: 'firmalife:plant/nightshade_bush', fluid_amount: 6000, output: '3x firmalife:food/nightshade_berry', name: 'nightshade' }, ]; -global.FIRMALIFE_COOKING_RECIPE_COMPONENTS = [ - { input: 'firmalife:food/white_chocolate_blend', output: 'firmalife:food/white_chocolate', name: 'white_chocolate' }, - { input: 'firmalife:food/dark_chocolate_blend', output: 'firmalife:food/dark_chocolate', name: 'dark_chocolate' }, - { input: 'firmalife:food/milk_chocolate_blend', output: 'firmalife:food/milk_chocolate', name: 'milk_chocolate' }, - { input: 'firmalife:food/raw_pizza', output: 'firmalife:food/cooked_pizza', name: 'cooked_pizza' }, - { input: 'firmalife:food/corn_tortilla', output: 'firmalife:food/taco_shell', name: 'taco_shell' }, - { input: 'firmalife:food/cookie_dough', output: 'firmalife:food/sugar_cookie', name: 'sugar_cookie' }, - { input: 'firmalife:food/chocolate_chip_cookie_dough', output: 'firmalife:food/chocolate_chip_cookie', name: 'chocolate_chip_cookie' }, - { input: 'firmalife:food/hardtack_dough', output: 'firmalife:food/hardtack', name: 'hardtack' }, - { 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' } -]; \ No newline at end of file +global.FIRMALIFE_QUERN_FLOUR_RECIPE_COMPONENTS = [ + { input: 'firmalife:food/nixtamal', output: '2x firmalife:food/masa_flour', name: 'masa_flour' }, +]; + +global.FIRMALIFE_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS = [ + { input: 'tfc:food/barley_flour', output: '4x firmalife:food/barley_dough', name: 'firmalife_barley_dough' }, + { input: 'tfc:food/maize_flour', output: '4x firmalife:food/maize_dough', name: 'firmalife_maize_dough' }, + { input: 'tfc:food/oat_flour', output: '4x firmalife:food/oat_dough', name: 'firmalife_oat_dough' }, + { input: 'tfc:food/rye_flour', output: '4x firmalife:food/rye_dough', name: 'firmalife_rye_dough' }, + { input: 'tfc:food/rice_flour', output: '4x firmalife:food/rice_dough', name: 'firmalife_rice_dough' }, + { input: 'tfc:food/wheat_flour', output: '4x firmalife:food/wheat_dough', name: 'firmalife_wheat_dough' }, + { input: 'firmalife:food/masa_flour', output: '2x firmalife:food/masa', name: 'firmalife_masa' }, +]; + +global.FIRMALIFE_FURNACE_FLATBREAD_RECIPE_COMPONENTS = [ + { input: 'tfc:food/barley_dough', output: 'firmalife:food/barley_flatbread', name: 'barley_flatbread' }, + { input: 'tfc:food/maize_dough', output: 'firmalife:food/maize_flatbread', name: 'maize_flatbread' }, + { input: 'tfc:food/oat_dough', output: 'firmalife:food/oat_flatbread', name: 'oat_flatbread' }, + { input: 'tfc:food/rye_dough', output: 'firmalife:food/rye_flatbread', name: 'rye_flatbread' }, + { input: 'tfc:food/rice_dough', output: 'firmalife:food/rice_flatbread', name: 'rice_flatbread' }, + { input: 'tfc:food/wheat_dough', output: 'firmalife:food/wheat_flatbread', name: 'wheat_flatbread' }, + { input: 'firmalife:food/masa', output: 'firmalife:food/corn_tortilla', name: 'corn_tortilla' }, +]; diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 21cb9ddfd..936294408 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -1,5 +1,7 @@ // priority: 0 +//#region Greenhouse + const registerGTCEuMachines = (event) => { GTMachineUtils.registerCrate(GTMaterials.BismuthBronze, 54, "Bismuth Bronze Crate"); @@ -10,6 +12,66 @@ const registerGTCEuMachines = (event) => { const $SteamMulti = Java.loadClass('com.gregtechceu.gtceu.common.machine.multiblock.steam.SteamParallelMultiblockMachine'); const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags") + event.create('greenhouse', 'multiblock') + .rotationState(RotationState.NON_Y_AXIS) + .recipeType('greenhouse') + .recipeModifiers([GTRecipeModifiers.OC_PERFECT]) + .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) + .pattern(definition => FactoryBlockPattern.start() + .aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "FFFFFFF") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CCCYCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .where('X', Predicates.blocks('ae2:quartz_glass')) + .where('F', Predicates.frames('steel')) + .where('D', Predicates.blocks('tfc:grass/silt') + .or(Predicates.blocks('tfc:dirt/loam')) + .or(Predicates.blocks('tfc:dirt/sandy_loam')) + .or(Predicates.blocks('tfc:dirt/silty_loam')) + .or(Predicates.blocks('tfc:grass/silt')) + .or(Predicates.blocks('tfc:grass/loam')) + .or(Predicates.blocks('tfc:grass/sandy_loam')) + .or(Predicates.blocks('tfc:grass/silty_loam'))) + .where('C', Predicates.blocks('gtceu:steel_machine_casing').or(Predicates.autoAbilities(definition.getRecipeTypes()))) + .where('#', Predicates.air() + .or(Predicates.blockTag($Tags.block("minecraft:logs"))) + .or(Predicates.blockTag($Tags.block("minecraft:leaves")))) + .where(' ', Predicates.any()) + .where('Y', Predicates.controller(Predicates.blocks(definition.get()))) + .build() + ) + .shapeInfo(controller => MultiblockShapeInfo.builder() + .aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X##L##X", "X#LLL#X", "X##L##X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "F##W##F", "F##W##F", "F##W##F", "F#LWL#F", "F#LWL#F", "F#LLL#F", "F#####F", "FFFFFFF") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X##L##X", "X#LLL#X", "X##L##X", "X#####X", " XXFXX ") + .aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ") + .aisle("CitYfeC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ") + .where('Y', controller, Direction.SOUTH) + .where('C', GTBlocks.STEEL_HULL.get()) + .where('D', Block.getBlock('tfc:grass/silt')) + .where('F', Block.getBlock('gtceu:steel_frame')) + .where('X', Block.getBlock('ae2:quartz_glass')) + .where('W', Block.getBlock('tfc:wood/log/oak')) + .where('L', Block.getBlock('tfc:wood/leaves/oak')) + .where(' ', Block.getBlock('minecraft:air')) + .where('i', GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.SOUTH) + .where('t', GTMachines.ITEM_EXPORT_BUS[GTValues.ULV], Direction.SOUTH) + .where('f', GTMachines.FLUID_IMPORT_HATCH[GTValues.ULV], Direction.SOUTH) + .where('e', GTMachines.ENERGY_INPUT_HATCH[GTValues.LV], Direction.SOUTH) + .build() + ) + .workableCasingRenderer( + 'gtceu:block/casings/solid/machine_casing_solid_steel', + 'gtceu:block/multiblock/implosion_compressor', false + ) + + //#endregion + //#region Nether Dome event.create('nether_dome', 'multiblock') diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index 08433c05d..089d4e92f 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -280,7 +280,7 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.IronMagnetic.setMaterialARGB(0x503d32) GTMaterials.IronMagnetic.setMaterialSecondaryARGB(0x131212) GTMaterials.Zinc.setMaterialARGB(0xd6ffdc) - GTMaterials.Zinc.setMaterialSecondaryARGB(0xA3BE9E) + GTMaterials.Zinc.setMaterialSecondaryARGB(0x213b3f) GTMaterials.Graphite.setMaterialARGB(0x889BA8) GTMaterials.Graphite.setMaterialSecondaryARGB(0x30383E) GTMaterials.Amethyst.setMaterialARGB(0xCC9EF0) diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js index 979ef3a46..7ba54d0be 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gtceu/recipe_types.js @@ -1,6 +1,13 @@ // priority: 0 const registerGTCEuRecipeTypes = (event) => { + event.create('greenhouse') + .category('greenhouse') + .setEUIO('in') + .setMaxIOSize(3, 4, 1, 0) + .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) + .setSound(GTSoundEntries.BATH) + event.create('nether_dome') .category('nether_dome') .setEUIO('in') diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index d7f2c995e..ce425b1ff 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -852,7 +852,7 @@ global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = [ { input: 'tfc:volcanic_glass_batch', output: 'tfc:volcanic_glass_bottle', name: 'volcanic_glass_bottle' }, ]; -global.TFC_MEAT_RECIPE_COMPONENTS = [ +global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS = [ { input: 'tfc:food/horse_meat', output: 'tfc:food/cooked_horse_meat', name: 'cooked_horse_meat' }, { input: 'tfc:food/bear', output: 'tfc:food/cooked_bear', name: 'cooked_bear' }, { input: 'tfc:food/mutton', output: 'tfc:food/cooked_mutton', name: 'cooked_mutton' }, @@ -924,39 +924,41 @@ global.TFC_QUERN_POWDER_RECIPE_COMPONENTS = [ { input: 'firmalife:ore/small_chromite', output: 'gtceu:small_chromite_dust', name: 'chromite' } ]; -global.TFC_GRAINS = [ - "barley", - "maize", - "oat", - "rye", - "rice", - "wheat", -] +global.TFC_QUERN_GRAIN_RECIPE_COMPONENTS = [ + { input: 'tfc:food/barley', output: 'tfc:food/barley_grain', name: 'barley_grain' }, + { input: 'tfc:food/maize', output: 'tfc:food/maize_grain', name: 'maize_grain' }, + { input: 'tfc:food/oat', output: 'tfc:food/oat_grain', name: 'oat_grain' }, + { input: 'tfc:food/rye', output: 'tfc:food/rye_grain', name: 'rye_grain' }, + { input: 'tfc:food/rice', output: 'tfc:food/rice_grain', name: 'rice_grain' }, + { input: 'tfc:food/wheat', output: 'tfc:food/wheat_grain', name: 'wheat_grain' }, +]; -global.TFC_JAMS = [ - "blackberry", - "blueberry", - "bunchberry", - "cloudberry", - "cranberry", - "elderberry", - "gooseberry", - "raspberry", - "snowberry", - "strawberry", - "wintergreen_berry", - "banana", - "cherry", - "green_apple", - "lemon", - "olive", - "orange", - "peach", - "plum", - "red_apple", - "pumpkin_chunks", - "melon_slice", -] +global.TFC_QUERN_FLOUR_RECIPE_COMPONENTS = [ + { input: 'tfc:food/barley_grain', output: '2x tfc:food/barley_flour', name: 'barley_flour' }, + { input: 'tfc:food/maize_grain', output: '2x tfc:food/maize_flour', name: 'maize_flour' }, + { input: 'tfc:food/oat_grain', output: '2x tfc:food/oat_flour', name: 'oat_flour' }, + { input: 'tfc:food/rye_grain', output: '2x tfc:food/rye_flour', name: 'rye_flour' }, + { input: 'tfc:food/rice_grain', output: '2x tfc:food/rice_flour', name: 'rice_flour' }, + { input: 'tfc:food/wheat_grain', output: '2x tfc:food/wheat_flour', name: 'wheat_flour' }, +]; + +global.TFC_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS = [ + { input: 'tfc:food/barley_flour', output: '2x tfc:food/barley_dough', name: 'tfc_barley_dough' }, + { input: 'tfc:food/maize_flour', output: '2x tfc:food/maize_dough', name: 'tfc_maize_dough' }, + { input: 'tfc:food/oat_flour', output: '2x tfc:food/oat_dough', name: 'tfc_oat_dough' }, + { input: 'tfc:food/rye_flour', output: '2x tfc:food/rye_dough', name: 'tfc_rye_dough' }, + { input: 'tfc:food/rice_flour', output: '2x tfc:food/rice_dough', name: 'tfc_rice_dough' }, + { input: 'tfc:food/wheat_flour', output: '2x tfc:food/wheat_dough', name: 'tfc_wheat_dough' }, +]; + +global.TFC_FURNACE_BREAD_RECIPE_COMPONENTS = [ + { input: 'firmalife:food/barley_dough', output: 'tfc:food/barley_bread', name: 'barley_bread' }, + { input: 'firmalife:food/maize_dough', output: 'tfc:food/maize_bread', name: 'maize_bread' }, + { input: 'firmalife:food/oat_dough', output: 'tfc:food/oat_bread', name: 'oat_bread' }, + { input: 'firmalife:food/rye_dough', output: 'tfc:food/rye_bread', name: 'rye_bread' }, + { input: 'firmalife:food/rice_dough', output: 'tfc:food/rice_bread', name: 'rice_bread' }, + { input: 'firmalife:food/wheat_dough', output: 'tfc:food/wheat_bread', name: 'wheat_bread' }, +]; global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ { input: 'tfc:plant/cherry_sapling', fluid_amount: 8000, output: '32x tfc:food/cherry', name: 'cherry' }, @@ -1014,14 +1016,7 @@ global.TFC_MILKS = [ {id: 'minecraft:milk'}, {id: 'firmalife:yak_milk'}, {id: 'firmalife:goat_milk'}, - // Uncomment this if firmalife ever makes this obtainable - //{id: 'firmalife:coconut_milk'}, -]; - -global.TFC_CURDS_AND_CHEESES = [ - { id: 'milk', input_fluid: 'tfc:curdled_milk', curd: 'firmalife:food/milk_curd', cheese1: 'gouda', cheese2: 'cheddar' }, - { id: 'yak', input_fluid: 'firmalife:curdled_yak_milk', curd: 'firmalife:food/yak_curd', cheese1: 'shosha', cheese2: 'rajya_metok' }, - { id: 'goat', input_fluid: 'firmalife:curdled_goat_milk', curd: 'firmalife:food/goat_curd', cheese1: 'feta', cheese2: 'chevre' }, + {id: 'firmalife:coconut_milk'}, ]; global.TFC_ALCOHOL = [