From 033b4113631852c871c74d9753bfde1d00798fd3 Mon Sep 17 00:00:00 2001 From: KonSola5 <125081901+KonSola5@users.noreply.github.com> Date: Sat, 13 Sep 2025 20:46:20 +0200 Subject: [PATCH] Item sizes (#1778) * Item sizes and some helpful tags * Try putting item sizes in a KJS script (NOT TESTED) * Move Greate tags to KJS, add sizes for various pipes and cables * Whoops, accidentally overrode tiny pipe size * Air duct sizes * Prettier config and tags moved to JS - Added `.prettierrc` file, which configures the tab width and code wrapping point for the Prettier formatter. - Moved remaining tags from JSON to JS files. * Delete floating carpet tag JSON Signed-off-by: KonSola5 <125081901+KonSola5@users.noreply.github.com> --------- Signed-off-by: KonSola5 <125081901+KonSola5@users.noreply.github.com> Co-authored-by: Redeix --- .gitignore | 3 +- .prettierrc | 4 + .../tfc/tfc/item_sizes/double_sheets.json | 1 + kubejs/data/tfc/tfc/item_sizes/ingots.json | 13 + kubejs/data/tfc/tfc/item_sizes/sheets.json | 13 + kubejs/server_scripts/createdeco/tags.js | 109 +- .../server_scripts/domum_ornamentum/tags.js | 381 ++-- kubejs/server_scripts/greate/tags.js | 44 +- kubejs/server_scripts/gregtech/tags.js | 165 +- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/tfc/tags.js | 1051 ++++++----- kubejs/server_scripts/tfg/data.js | 1431 ++++++++------ .../startup_scripts/createdeco/constants.js | 47 +- .../domum_ornamentum/constants.js | 27 +- .../startup_scripts/framedblocks/constants.js | 72 +- kubejs/startup_scripts/greate/constants.js | 410 ++-- kubejs/startup_scripts/gtceu/constants.js | 589 +++--- kubejs/startup_scripts/tfc/constants.js | 1674 +++++++++-------- 18 files changed, 3283 insertions(+), 2752 deletions(-) create mode 100644 .prettierrc create mode 100644 kubejs/data/tfc/tfc/item_sizes/double_sheets.json create mode 100644 kubejs/data/tfc/tfc/item_sizes/ingots.json create mode 100644 kubejs/data/tfc/tfc/item_sizes/sheets.json diff --git a/.gitignore b/.gitignore index 301acdcbf..2304f4794 100644 --- a/.gitignore +++ b/.gitignore @@ -124,4 +124,5 @@ icon.png .pakku/server-overrides/user_jvm_args.txt /tacz/tacz_default_gun -EffekseerNativeForJava.dll +EffekseerNativeForJava.dll +libEffekseerNativeForJava.so diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..08d6d29d7 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "tabWidth": 4, + "printWidth": 120 +} diff --git a/kubejs/data/tfc/tfc/item_sizes/double_sheets.json b/kubejs/data/tfc/tfc/item_sizes/double_sheets.json new file mode 100644 index 000000000..244e42b84 --- /dev/null +++ b/kubejs/data/tfc/tfc/item_sizes/double_sheets.json @@ -0,0 +1 @@ +{ "ingredient": { "tag": "forge:double_plates" }, "size": "large", "weight": "heavy" } diff --git a/kubejs/data/tfc/tfc/item_sizes/ingots.json b/kubejs/data/tfc/tfc/item_sizes/ingots.json new file mode 100644 index 000000000..ea2b892d0 --- /dev/null +++ b/kubejs/data/tfc/tfc/item_sizes/ingots.json @@ -0,0 +1,13 @@ +{ + "ingredient": { + "type": "forge:difference", + "base": { "tag": "forge:ingots" }, + "subtracted": [ + { "item": "minecraft:brick" }, + { "item": "minecraft:nether_brick" }, + { "item": "minecraft:clay_ball" } + ] + }, + "size": "large", + "weight": "medium" +} diff --git a/kubejs/data/tfc/tfc/item_sizes/sheets.json b/kubejs/data/tfc/tfc/item_sizes/sheets.json new file mode 100644 index 000000000..727b7ced3 --- /dev/null +++ b/kubejs/data/tfc/tfc/item_sizes/sheets.json @@ -0,0 +1,13 @@ +{ + "ingredient": { + "type": "forge:difference", + "base": { "tag": "forge:plates" }, + "subtracted": [ + { "item": "minecraft:paper" }, + { "item": "gtceu:wood_plate" }, + { "item": "gtceu:treated_wood_plate" } + ] + }, + "size": "large", + "weight": "medium" +} diff --git a/kubejs/server_scripts/createdeco/tags.js b/kubejs/server_scripts/createdeco/tags.js index 9ab63b54e..76a65383a 100644 --- a/kubejs/server_scripts/createdeco/tags.js +++ b/kubejs/server_scripts/createdeco/tags.js @@ -1,65 +1,70 @@ "use strict"; -const metalBars = ['andesite', 'brass', 'iron', 'copper', 'industrial_iron', 'zinc']; +const metalBars = /** @type {const} */ (["andesite", "brass", "iron", "copper", "industrial_iron", "zinc"]); -const registerCreateDecoItemTags = (event) => { +/** @param {TagEvent.Item} event */ +function registerCreateDecoItemTags(event) { + global.CREATEDECO_DISABLED_ITEMS.forEach((item) => { + event.removeAllTagsFrom(item); + event.add("c:hidden_from_recipe_viewers", item); + }); - global.CREATEDECO_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }); + event.remove("createdeco:internal/blocks/iron_blocks", "minecraft:iron_block"); + event.remove("createdeco:internal/blocks/industrial_iron_blocks", "create:industrial_iron_block"); - event.remove('createdeco:internal/blocks/iron_blocks', 'minecraft:iron_block') - event.remove('createdeco:internal/blocks/industrial_iron_blocks', 'create:industrial_iron_block') + metalBars.forEach((metalBars) => { + event.add("tfg:metal_bars", `createdeco:${metalBars}_bars`); + event.add("tfg:metal_bars", `createdeco:${metalBars}_bars_overlay`); + }); - metalBars.forEach(metalBars => { - event.add('tfg:metal_bars', `createdeco:${metalBars}_bars`) - event.add('tfg:metal_bars', `createdeco:${metalBars}_bars_overlay`) - }); + event.add("createdeco:metal_trapdoors", "createdeco:andesite_trapdoor"); + event.add("createdeco:metal_trapdoors", "createdeco:brass_trapdoor"); + event.add("createdeco:metal_trapdoors", "createdeco:copper_trapdoor"); + event.add("createdeco:metal_trapdoors", "createdeco:industrial_iron_trapdoor"); + event.add("createdeco:metal_trapdoors", "createdeco:zinc_trapdoor"); - event.add('createdeco:metal_trapdoors', 'createdeco:andesite_trapdoor') - event.add('createdeco:metal_trapdoors', 'createdeco:brass_trapdoor') - event.add('createdeco:metal_trapdoors', 'createdeco:copper_trapdoor') - event.add('createdeco:metal_trapdoors', 'createdeco:industrial_iron_trapdoor') - event.add('createdeco:metal_trapdoors', 'createdeco:zinc_trapdoor') + event.add("createdeco:internal/plates/iron_plates", "#forge:plates/wrought_iron"); + event.add("createdeco:internal/plates/copper_plates", "#forge:plates/copper"); + event.add("createdeco:internal/plates/brass_plates", "#forge:plates/brass"); + event.add("createdeco:internal/plates/andesite_plates", "#forge:plates/tin_alloy"); + event.add("createdeco:internal/plates/industrial_iron_plates", "#forge:sheets/steel"); + event.add("createdeco:internal/plates/zinc_plates", "#forge:sheets/zinc"); - event.add("createdeco:internal/plates/iron_plates", "#forge:plates/wrought_iron") - event.add("createdeco:internal/plates/copper_plates", "#forge:plates/copper") - event.add("createdeco:internal/plates/brass_plates", "#forge:plates/brass") - event.add('createdeco:internal/plates/andesite_plates', '#forge:plates/tin_alloy') - event.add('createdeco:internal/plates/industrial_iron_plates', '#forge:sheets/steel') - event.add('createdeco:internal/plates/zinc_plates', '#forge:sheets/zinc') + event.add("createdeco:internal/nuggets/iron_nuggets", "#forge:nuggets/wrought_iron"); + event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper"); + event.add("createdeco:internal/nuggets/zinc_nuggets", "#forge:nuggets/zinc"); + event.add("createdeco:internal/nuggets/industrial_iron_nuggets", "#forge:nuggets/steel"); + event.add("createdeco:internal/nuggets/brass_nuggets", "#forge:nuggets/brass"); + event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper"); - event.add("createdeco:internal/nuggets/iron_nuggets", "#forge:nuggets/wrought_iron") - event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper") - event.add("createdeco:internal/nuggets/zinc_nuggets", "#forge:nuggets/zinc") - event.add("createdeco:internal/nuggets/industrial_iron_nuggets", "#forge:nuggets/steel") - event.add("createdeco:internal/nuggets/brass_nuggets", "#forge:nuggets/brass") - event.add("createdeco:internal/nuggets/copper_nuggets", "#forge:nuggets/copper") + event.add("createdeco:internal/ingots/iron_ingots", "#forge:ingots/wrought_iron"); + event.add("createdeco:internal/ingots/copper_ingots", "#forge:ingots/copper"); + event.add("createdeco:internal/ingots/brass_ingots", "#forge:ingots/brass"); + event.add("createdeco:internal/ingots/zinc_ingots", "#forge:ingots/zinc"); + event.add("createdeco:internal/ingots/andesite_ingots", "#forge:ingots/tin_alloy"); + event.add("createdeco:internal/ingots/industrial_iron_ingots", `#forge:ingots/steel`); - event.add("createdeco:internal/ingots/iron_ingots", "#forge:ingots/wrought_iron") - event.add("createdeco:internal/ingots/copper_ingots", "#forge:ingots/copper") - event.add("createdeco:internal/ingots/brass_ingots", "#forge:ingots/brass") - event.add("createdeco:internal/ingots/zinc_ingots", "#forge:ingots/zinc") - event.add("createdeco:internal/ingots/andesite_ingots", "#forge:ingots/tin_alloy") - event.add("createdeco:internal/ingots/industrial_iron_ingots", `#forge:ingots/steel`) + event.add("createdeco:internal/blocks/iron_blocks", "#forge:storage_blocks/wrought_iron"); + event.add("createdeco:internal/blocks/copper", "#forge:storage_blocks/copper"); + event.add("createdeco:internal/blocks/brass_blocks", "#forge:storage_blocks/brass"); + event.add("createdeco:internal/blocks/industrial_iron_blocks", "#forge:storage_blocks/steel"); + event.add("createdeco:internal/blocks/zinc_blocks", "#forge:storage_blocks/zinc"); + event.add("createdeco:internal/blocks/andesite_blocks", "#forge:storage_blocks/tin_alloy"); - event.add("createdeco:internal/blocks/iron_blocks", "#forge:storage_blocks/wrought_iron") - event.add("createdeco:internal/blocks/copper", "#forge:storage_blocks/copper") - event.add("createdeco:internal/blocks/brass_blocks", "#forge:storage_blocks/brass") - event.add("createdeco:internal/blocks/industrial_iron_blocks", "#forge:storage_blocks/steel") - event.add("createdeco:internal/blocks/zinc_blocks", "#forge:storage_blocks/zinc") - event.add("createdeco:internal/blocks/andesite_blocks", "#forge:storage_blocks/tin_alloy") + global.MINECRAFT_DYE_NAMES.forEach((color) => { + event.add("createdeco:shipping_containers", `createdeco:${color}_shipping_container`); + }); - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.add('createdeco:shipping_containers', `createdeco:${color}_shipping_container`) - }) -}; + global.CREATE_DECO_GLASS_PANES.forEach(pane => { + event.add("forge:glass_panes", pane) + }) +} -const registerCreateDecoBlockTags = (event) => { - metalBars.forEach(metalBars => { - // The bars are missing mineable tags for some reason - event.add('minecraft:mineable/pickaxe', `createdeco:${metalBars}_bars`) - event.add('minecraft:mineable/pickaxe', `createdeco:${metalBars}_bars_overlay`) - }); -} \ No newline at end of file +/** @param {TagEvent.Block} event */ +function registerCreateDecoBlockTags(event) { + metalBars.forEach((metalBars) => { + // The bars are missing mineable tags for some reason + event.add("minecraft:mineable/pickaxe", `createdeco:${metalBars}_bars`); + event.add("minecraft:mineable/pickaxe", `createdeco:${metalBars}_bars_overlay`); + }); +} diff --git a/kubejs/server_scripts/domum_ornamentum/tags.js b/kubejs/server_scripts/domum_ornamentum/tags.js index 6f93c1b4f..5a85f632a 100644 --- a/kubejs/server_scripts/domum_ornamentum/tags.js +++ b/kubejs/server_scripts/domum_ornamentum/tags.js @@ -1,193 +1,200 @@ "use strict"; -const registerDomumOrnamentumBlockTags = (event) => { +/** @param {TagEvent.Item} event */ +function registerDomumOrnamentumItemTags(event) { + global.DOMUM_ORNAMENTUM_FLOATING_CARPETS.forEach((carpet) => { + event.add("domum_ornamentum:floating_carpet", carpet); + }); +} - //#region Hidden Items - global.DOMUM_ORNAMENTUM_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }); - //#endregion +/** @param {TagEvent.Block} event */ +function registerDomumOrnamentumBlockTags(event) { + //#region Hidden Items + global.DOMUM_ORNAMENTUM_DISABLED_ITEMS.forEach((item) => { + event.removeAllTagsFrom(item); + event.add("c:hidden_from_recipe_viewers", item); + }); + //#endregion - //#region Assign Tags - const materials = [ - //tags - '#tfc:rock/bricks', - '#tfc:rock/smooth', - '#tfc:rock/gravel', - '#minecraft:planks', - '#minecraft:logs', - '#tfc:colored_raw_alabaster', - '#tfc:colored_bricks_alabaster', - '#tfc:colored_polished_alabaster', - '#tfc:mud_bricks', - '#forge:sandstone', - //rnr shingles - 'rnr:wood/shingles/teak', - 'rnr:wood/shingles/cypress', - 'rnr:wood/shingles/fig', - 'rnr:wood/shingles/ironwood', - 'rnr:wood/shingles/ipe', - 'rnr:wood/shingles/chestnut', - 'rnr:wood/shingles/blackwood', - 'rnr:wood/shingles/birch', - 'rnr:wood/shingles/aspen', - 'rnr:wood/shingles/ash', - 'rnr:wood/shingles/acacia', - 'rnr:ceramic_roof', - 'rnr:terracotta_roof', - 'rnr:wood/shingles/douglas_fir', - 'rnr:wood/shingles/hickory', - 'rnr:wood/shingles/kapok', - 'rnr:wood/shingles/mangrove', - 'rnr:wood/shingles/maple', - 'rnr:wood/shingles/oak', - 'rnr:wood/shingles/palm', - 'rnr:wood/shingles/pine', - 'rnr:wood/shingles/rosewood', - 'rnr:wood/shingles/sequoia', - 'rnr:wood/shingles/spruce', - 'rnr:wood/shingles/sycamore', - 'rnr:wood/shingles/white_cedar', - 'rnr:wood/shingles/willow', - 'rnr:wood/shingles/baobab', - 'rnr:wood/shingles/eucalyptus', - 'rnr:wood/shingles/mahogany', - 'rnr:wood/shingles/hevea', - 'rnr:wood/shingles/tualang', - //tfc blocks - 'tfc:fire_bricks', - 'tfc:aggregate', - 'tfc:alabaster/raw', - 'tfc:alabaster/bricks', - 'tfc:alabaster/polished', - //gtceu blocks - 'gtceu:coke_oven_bricks', - 'gtceu:firebricks', - 'gtceu:mossy_light_concrete_cobblestone', - 'gtceu:polished_light_concrete', - 'gtceu:light_concrete_bricks', - 'gtceu:cracked_light_concrete_bricks', - 'gtceu:mossy_light_concrete_bricks', - 'gtceu:chiseled_light_concrete', - 'gtceu:light_concrete_tile', - 'gtceu:light_concrete_small_tile', - 'gtceu:light_concrete_windmill_a', - 'gtceu:light_concrete_windmill_b', - 'gtceu:small_light_concrete_bricks', - 'gtceu:square_light_concrete_bricks', - 'gtceu:mossy_dark_concrete_cobblestone', - 'gtceu:polished_dark_concrete', - 'gtceu:dark_concrete_bricks', - 'gtceu:cracked_dark_concrete_bricks', - 'gtceu:mossy_dark_concrete_bricks', - 'gtceu:chiseled_dark_concrete', - 'gtceu:dark_concrete_tile', - 'gtceu:dark_concrete_small_tile', - 'gtceu:dark_concrete_windmill_a', - 'gtceu:dark_concrete_windmill_b', - 'gtceu:small_dark_concrete_bricks', - 'gtceu:square_dark_concrete_bricks', - //createdeco blocks - 'createdeco:dean_bricks', - 'createdeco:short_dean_bricks', - 'createdeco:tiled_dean_bricks', - 'createdeco:long_dean_bricks', - 'createdeco:corner_dean_bricks', - 'createdeco:cracked_dean_bricks', - 'createdeco:mossy_dean_bricks', - 'createdeco:verdant_bricks', - 'createdeco:short_verdant_bricks', - 'createdeco:tiled_verdant_bricks', - 'createdeco:long_verdant_bricks', - 'createdeco:corner_verdant_bricks', - 'createdeco:cracked_verdant_bricks', - 'createdeco:mossy_verdant_bricks', - 'createdeco:umber_bricks', - 'createdeco:short_umber_bricks', - 'createdeco:tiled_umber_bricks', - 'createdeco:long_umber_bricks', - 'createdeco:corner_umber_bricks', - 'createdeco:cracked_umber_bricks', - 'createdeco:mossy_umber_bricks', - 'createdeco:short_red_bricks', - 'createdeco:tiled_red_bricks', - 'createdeco:long_red_bricks', - 'createdeco:corner_red_bricks', - 'createdeco:cracked_red_bricks', - 'createdeco:mossy_red_bricks', - 'createdeco:scarlet_bricks', - 'createdeco:short_scarlet_bricks', - 'createdeco:tiled_scarlet_bricks', - 'createdeco:long_scarlet_bricks', - 'createdeco:corner_scarlet_bricks', - 'createdeco:cracked_scarlet_bricks', - 'createdeco:mossy_scarlet_bricks', - 'createdeco:blue_bricks', - 'createdeco:short_blue_bricks', - 'createdeco:tiled_blue_bricks', - 'createdeco:long_blue_bricks', - 'createdeco:corner_blue_bricks', - 'createdeco:cracked_blue_bricks', - 'createdeco:mossy_blue_bricks', - 'createdeco:dusk_bricks', - 'createdeco:short_dusk_bricks', - 'createdeco:tiled_dusk_bricks', - 'createdeco:long_dusk_bricks', - 'createdeco:corner_dusk_bricks', - 'createdeco:cracked_dusk_bricks', - 'createdeco:mossy_dusk_bricks', - 'createdeco:pearl_bricks', - 'createdeco:short_pearl_bricks', - 'createdeco:tiled_pearl_bricks', - 'createdeco:long_pearl_bricks', - 'createdeco:corner_pearl_bricks', - 'createdeco:cracked_pearl_bricks', - 'createdeco:mossy_pearl_bricks' - ]; + //#region Assign Tags + const materials = [ + //tags + "#tfc:rock/bricks", + "#tfc:rock/smooth", + "#tfc:rock/gravel", + "#minecraft:planks", + "#minecraft:logs", + "#tfc:colored_raw_alabaster", + "#tfc:colored_bricks_alabaster", + "#tfc:colored_polished_alabaster", + "#tfc:mud_bricks", + "#forge:sandstone", + //rnr shingles + "rnr:wood/shingles/teak", + "rnr:wood/shingles/cypress", + "rnr:wood/shingles/fig", + "rnr:wood/shingles/ironwood", + "rnr:wood/shingles/ipe", + "rnr:wood/shingles/chestnut", + "rnr:wood/shingles/blackwood", + "rnr:wood/shingles/birch", + "rnr:wood/shingles/aspen", + "rnr:wood/shingles/ash", + "rnr:wood/shingles/acacia", + "rnr:ceramic_roof", + "rnr:terracotta_roof", + "rnr:wood/shingles/douglas_fir", + "rnr:wood/shingles/hickory", + "rnr:wood/shingles/kapok", + "rnr:wood/shingles/mangrove", + "rnr:wood/shingles/maple", + "rnr:wood/shingles/oak", + "rnr:wood/shingles/palm", + "rnr:wood/shingles/pine", + "rnr:wood/shingles/rosewood", + "rnr:wood/shingles/sequoia", + "rnr:wood/shingles/spruce", + "rnr:wood/shingles/sycamore", + "rnr:wood/shingles/white_cedar", + "rnr:wood/shingles/willow", + "rnr:wood/shingles/baobab", + "rnr:wood/shingles/eucalyptus", + "rnr:wood/shingles/mahogany", + "rnr:wood/shingles/hevea", + "rnr:wood/shingles/tualang", + //tfc blocks + "tfc:fire_bricks", + "tfc:aggregate", + "tfc:alabaster/raw", + "tfc:alabaster/bricks", + "tfc:alabaster/polished", + //gtceu blocks + "gtceu:coke_oven_bricks", + "gtceu:firebricks", + "gtceu:mossy_light_concrete_cobblestone", + "gtceu:polished_light_concrete", + "gtceu:light_concrete_bricks", + "gtceu:cracked_light_concrete_bricks", + "gtceu:mossy_light_concrete_bricks", + "gtceu:chiseled_light_concrete", + "gtceu:light_concrete_tile", + "gtceu:light_concrete_small_tile", + "gtceu:light_concrete_windmill_a", + "gtceu:light_concrete_windmill_b", + "gtceu:small_light_concrete_bricks", + "gtceu:square_light_concrete_bricks", + "gtceu:mossy_dark_concrete_cobblestone", + "gtceu:polished_dark_concrete", + "gtceu:dark_concrete_bricks", + "gtceu:cracked_dark_concrete_bricks", + "gtceu:mossy_dark_concrete_bricks", + "gtceu:chiseled_dark_concrete", + "gtceu:dark_concrete_tile", + "gtceu:dark_concrete_small_tile", + "gtceu:dark_concrete_windmill_a", + "gtceu:dark_concrete_windmill_b", + "gtceu:small_dark_concrete_bricks", + "gtceu:square_dark_concrete_bricks", + //createdeco blocks + "createdeco:dean_bricks", + "createdeco:short_dean_bricks", + "createdeco:tiled_dean_bricks", + "createdeco:long_dean_bricks", + "createdeco:corner_dean_bricks", + "createdeco:cracked_dean_bricks", + "createdeco:mossy_dean_bricks", + "createdeco:verdant_bricks", + "createdeco:short_verdant_bricks", + "createdeco:tiled_verdant_bricks", + "createdeco:long_verdant_bricks", + "createdeco:corner_verdant_bricks", + "createdeco:cracked_verdant_bricks", + "createdeco:mossy_verdant_bricks", + "createdeco:umber_bricks", + "createdeco:short_umber_bricks", + "createdeco:tiled_umber_bricks", + "createdeco:long_umber_bricks", + "createdeco:corner_umber_bricks", + "createdeco:cracked_umber_bricks", + "createdeco:mossy_umber_bricks", + "createdeco:short_red_bricks", + "createdeco:tiled_red_bricks", + "createdeco:long_red_bricks", + "createdeco:corner_red_bricks", + "createdeco:cracked_red_bricks", + "createdeco:mossy_red_bricks", + "createdeco:scarlet_bricks", + "createdeco:short_scarlet_bricks", + "createdeco:tiled_scarlet_bricks", + "createdeco:long_scarlet_bricks", + "createdeco:corner_scarlet_bricks", + "createdeco:cracked_scarlet_bricks", + "createdeco:mossy_scarlet_bricks", + "createdeco:blue_bricks", + "createdeco:short_blue_bricks", + "createdeco:tiled_blue_bricks", + "createdeco:long_blue_bricks", + "createdeco:corner_blue_bricks", + "createdeco:cracked_blue_bricks", + "createdeco:mossy_blue_bricks", + "createdeco:dusk_bricks", + "createdeco:short_dusk_bricks", + "createdeco:tiled_dusk_bricks", + "createdeco:long_dusk_bricks", + "createdeco:corner_dusk_bricks", + "createdeco:cracked_dusk_bricks", + "createdeco:mossy_dusk_bricks", + "createdeco:pearl_bricks", + "createdeco:short_pearl_bricks", + "createdeco:tiled_pearl_bricks", + "createdeco:long_pearl_bricks", + "createdeco:corner_pearl_bricks", + "createdeco:cracked_pearl_bricks", + "createdeco:mossy_pearl_bricks", + ]; - materials.forEach(material => { - event.add('domum_ornamentum:all_brick_materials', `${material}`) - event.add('domum_ornamentum:bricks', `${material}`) - event.add('domum_ornamentum:doors_materials', `${material}`) - event.add('domum_ornamentum:fancy_doors_materials', `${material}`) - event.add('domum_ornamentum:fancy_trapdoors_materials', `${material}`) - event.add('domum_ornamentum:fancy_gate_materials', `${material}`) - event.add('domum_ornamentum:fence_materials', `${material}`) - event.add('domum_ornamentum:paper_wall_center', `${material}`) - event.add('domum_ornamentum:paper_wall_frame', `${material}`) - event.add('domum_ornamentum:pillar_materials', `${material}`) - event.add('domum_ornamentum:post_materials', `${material}`) - event.add('domum_ornamentum:shingles_cover', `${material}`) - event.add('domum_ornamentum:shingles_roof', `${material}`) - event.add('domum_ornamentum:shingles_support', `${material}`) - event.add('domum_ornamentum:slab_materials', `${material}`) - event.add('domum_ornamentum:stairs_material', `${material}`) - event.add('domum_ornamentum:timber_frames_center', `${material}`) - event.add('domum_ornamentum:timber_frames_frame', `${material}`) - event.add('domum_ornamentum:trapdoors_materials', `${material}`) - }); + materials.forEach((material) => { + event.add("domum_ornamentum:all_brick_materials", `${material}`); + event.add("domum_ornamentum:bricks", `${material}`); + event.add("domum_ornamentum:doors_materials", `${material}`); + event.add("domum_ornamentum:fancy_doors_materials", `${material}`); + event.add("domum_ornamentum:fancy_trapdoors_materials", `${material}`); + event.add("domum_ornamentum:fancy_gate_materials", `${material}`); + event.add("domum_ornamentum:fence_materials", `${material}`); + event.add("domum_ornamentum:paper_wall_center", `${material}`); + event.add("domum_ornamentum:paper_wall_frame", `${material}`); + event.add("domum_ornamentum:pillar_materials", `${material}`); + event.add("domum_ornamentum:post_materials", `${material}`); + event.add("domum_ornamentum:shingles_cover", `${material}`); + event.add("domum_ornamentum:shingles_roof", `${material}`); + event.add("domum_ornamentum:shingles_support", `${material}`); + event.add("domum_ornamentum:slab_materials", `${material}`); + event.add("domum_ornamentum:stairs_material", `${material}`); + event.add("domum_ornamentum:timber_frames_center", `${material}`); + event.add("domum_ornamentum:timber_frames_frame", `${material}`); + event.add("domum_ornamentum:trapdoors_materials", `${material}`); + }); - // Gregtech storage blocks don't work here - event.remove('domum_ornamentum:all_brick_materials', '#forge:storage_blocks') - event.remove('domum_ornamentum:bricks', '#forge:storage_blocks') - event.remove('domum_ornamentum:doors_materials', '#forge:storage_blocks') - event.remove('domum_ornamentum:fancy_doors_materials', '#forge:storage_blocks') - event.remove('domum_ornamentum:fancy_trapdoors_materials', '#forge:storage_blocks') - event.remove('domum_ornamentum:fancy_gate_materials', '#forge:storage_blocks') - event.remove('domum_ornamentum:fence_materials', '#forge:storage_blocks') - event.remove('domum_ornamentum:paper_wall_center', '#forge:storage_blocks') - event.remove('domum_ornamentum:paper_wall_frame', '#forge:storage_blocks') - event.remove('domum_ornamentum:pillar_materials', '#forge:storage_blocks') - event.remove('domum_ornamentum:post_materials', '#forge:storage_blocks') - event.remove('domum_ornamentum:shingles_cover', '#forge:storage_blocks') - event.remove('domum_ornamentum:shingles_roof', '#forge:storage_blocks') - event.remove('domum_ornamentum:shingles_support', '#forge:storage_blocks') - event.remove('domum_ornamentum:slab_materials', '#forge:storage_blocks') - event.remove('domum_ornamentum:stairs_material', '#forge:storage_blocks') - event.remove('domum_ornamentum:timber_frames_center', '#forge:storage_blocks') - event.remove('domum_ornamentum:timber_frames_frame', '#forge:storage_blocks') - event.remove('domum_ornamentum:trapdoors_materials', '#forge:storage_blocks') - event.remove('domum_ornamentum:framed_light_center', '#forge:storage_blocks') - //#endregion -}; \ No newline at end of file + // Gregtech storage blocks don't work here + event.remove("domum_ornamentum:all_brick_materials", "#forge:storage_blocks"); + event.remove("domum_ornamentum:bricks", "#forge:storage_blocks"); + event.remove("domum_ornamentum:doors_materials", "#forge:storage_blocks"); + event.remove("domum_ornamentum:fancy_doors_materials", "#forge:storage_blocks"); + event.remove("domum_ornamentum:fancy_trapdoors_materials", "#forge:storage_blocks"); + event.remove("domum_ornamentum:fancy_gate_materials", "#forge:storage_blocks"); + event.remove("domum_ornamentum:fence_materials", "#forge:storage_blocks"); + event.remove("domum_ornamentum:paper_wall_center", "#forge:storage_blocks"); + event.remove("domum_ornamentum:paper_wall_frame", "#forge:storage_blocks"); + event.remove("domum_ornamentum:pillar_materials", "#forge:storage_blocks"); + event.remove("domum_ornamentum:post_materials", "#forge:storage_blocks"); + event.remove("domum_ornamentum:shingles_cover", "#forge:storage_blocks"); + event.remove("domum_ornamentum:shingles_roof", "#forge:storage_blocks"); + event.remove("domum_ornamentum:shingles_support", "#forge:storage_blocks"); + event.remove("domum_ornamentum:slab_materials", "#forge:storage_blocks"); + event.remove("domum_ornamentum:stairs_material", "#forge:storage_blocks"); + event.remove("domum_ornamentum:timber_frames_center", "#forge:storage_blocks"); + event.remove("domum_ornamentum:timber_frames_frame", "#forge:storage_blocks"); + event.remove("domum_ornamentum:trapdoors_materials", "#forge:storage_blocks"); + event.remove("domum_ornamentum:framed_light_center", "#forge:storage_blocks"); + //#endregion +} diff --git a/kubejs/server_scripts/greate/tags.js b/kubejs/server_scripts/greate/tags.js index e9753d9d8..86a620dcd 100644 --- a/kubejs/server_scripts/greate/tags.js +++ b/kubejs/server_scripts/greate/tags.js @@ -1,31 +1,35 @@ // priority: 0 "use strict"; +/** @param {TagEvent.Item} event */ function registerGreateItemTags(event) { + global.GREATE_DISABLED_ITEMS.forEach((item) => { + event.removeAllTagsFrom(item); + event.add("c:hidden_from_recipe_viewers", item); + }); - global.GREATE_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) + global.GREATE_BELTS.forEach((belt) => event.add("greate:belts", belt)); + global.GREATE_CRUSHING_WHEELS.forEach((crushingWheel) => event.add("greate:crushing_wheels", crushingWheel)); + global.GREATE_ENCASED_FANS.forEach((fan) => event.add("greate:encased_fans", fan)); + global.GREATE_MECHANICAL_MIXERS.forEach((mixer) => event.add("greate:mechanical_mixers", mixer)); + global.GREATE_MECHANICAL_PRESSES.forEach((press) => event.add("greate:mechanical_presses", press)); + global.GREATE_MECHANICAL_PUMPS.forEach((pump) => event.add("greate:mechanical_pumps", pump)); + global.GREATE_MECHANICAL_SAWS.forEach((saw) => event.add("greate:mechanical_saws", saw)); + global.GREATE_MILLSTONES.forEach((millstone) => event.add("greate:millstones", millstone)); } - +/** @param {TagEvent.Block} event */ function registerGreateBlockTags(event) { - - global.GREATE_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) - + global.GREATE_DISABLED_ITEMS.forEach((item) => { + event.removeAllTagsFrom(item); + event.add("c:hidden_from_recipe_viewers", item); + }); } - - +/** @param {TagEvent.Fluid} event */ function registerGreateFluidTags(event) { - - global.GREATE_DISABLED_FLUIDS.forEach(fluid => { - event.removeAllTagsFrom(fluid) - event.add('c:hidden_from_recipe_viewers', fluid) - }) - -} \ No newline at end of file + global.GREATE_DISABLED_FLUIDS.forEach((fluid) => { + event.removeAllTagsFrom(fluid); + event.add("c:hidden_from_recipe_viewers", fluid); + }); +} diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 223c68cd5..00beeefa6 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -1,107 +1,114 @@ // priority: 0 "use strict"; -const registerGTCEUItemTags = (event) => { +/** @param {TagEvent.Item} event */ +function registerGTCEUItemTags(event) { + // Удаление тегов у отключенных предметов + global.GTCEU_DISABLED_ITEMS.forEach((item) => { + event.removeAllTagsFrom(item); + event.add("c:hidden_from_recipe_viewers", item); + }); - // Удаление тегов у отключенных предметов - global.GTCEU_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) + global.GTCEU_HIDED_ITEMS.forEach((item) => { + event.add("c:hidden_from_recipe_viewers", item); + }); - global.GTCEU_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) - }) + global.GTCEU_ARMORS.forEach((item) => { + event.add("minecraft:trimmable_armor", item); + }); - global.GTCEU_ARMORS.forEach(item => { - event.add('minecraft:trimmable_armor', item) - }) + // Добавление тега EMI для скрытия всех руд + event.add("c:hidden_from_recipe_viewers", "#forge:ores"); - // Добавление тега EMI для скрытия всех руд - event.add('c:hidden_from_recipe_viewers', '#forge:ores') + event.remove("minecraft:planks", "gtceu:treated_wood_planks"); + event.remove("minecraft:planks", "gtceu:treated_wood_plate"); + event.remove("minecraft:planks", "gtceu:wood_plate"); - event.remove('minecraft:planks', 'gtceu:treated_wood_planks') - event.remove('minecraft:planks', 'gtceu:treated_wood_plate') + event.add("tfg:sugars", "minecraft:sugar"); + event.add("tfg:sugars", "afc:birch_sugar"); + event.add("tfg:sugars", "afc:maple_sugar"); - event.remove('minecraft:planks', 'gtceu:wood_plate') + global.MINECRAFT_DYE_NAMES.forEach((dyeName) => { + event.remove("ae2:p2p_attunements/fluid_p2p_tunnel", `gtceu:${dyeName}_dye_bucket`); + }); - event.add('tfg:sugars', 'minecraft:sugar') - event.add('tfg:sugars', 'afc:birch_sugar') - event.add('tfg:sugars', 'afc:maple_sugar') - - global.MINECRAFT_DYE_NAMES.forEach(dyeName => { - event.remove('ae2:p2p_attunements/fluid_p2p_tunnel', `gtceu:${dyeName}_dye_bucket`) - }) + // Piglin loved + event.add("minecraft:piglin_loved", "gtceu:tiny_pyrite_dust"); + event.add("minecraft:piglin_loved", "gtceu:poor_raw_pyrite"); + event.add("minecraft:piglin_loved", "gtceu:raw_pyrite"); + event.add("minecraft:piglin_loved", "gtceu:rich_raw_pyrite"); - // Piglin loved - event.add('minecraft:piglin_loved', 'gtceu:tiny_pyrite_dust') - event.add('minecraft:piglin_loved', 'gtceu:poor_raw_pyrite') - event.add('minecraft:piglin_loved', 'gtceu:raw_pyrite') - event.add('minecraft:piglin_loved', 'gtceu:rich_raw_pyrite') + event.remove("forge:gems", "gtceu:coke_gem"); - event.remove('forge:gems', 'gtceu:coke_gem') + // Rose Quartz Lens + event.add("forge:lenses/pink", "gtceu:rose_quartz_lens"); - // Rose Quartz Lens - event.add('forge:lenses/pink', 'gtceu:rose_quartz_lens') + event.add("tfc:saws", "#forge:tools/buzzsaws"); + event.add("tfc:saws", "#forge:tools/chainsaws"); - event.add('tfc:saws', '#forge:tools/buzzsaws') - event.add('tfc:saws', '#forge:tools/chainsaws') + global.GTCEU_CASTING_MOLDS.concat(global.TFG_CASTING_MOLDS).forEach((mold) => { + event.add("gtceu:casting_molds", mold); + }); + + global.GTCEU_EXTRUDER_MOLDS.concat(global.TFG_EXTRUDER_MOLDS).forEach((mold) => { + event.add("gtceu:extruder_molds", mold); + }); + + // @ts-expect-error According to KJS docs adding tags to tags is supported. + event.add("gtceu:molds", "#gtceu:casting_molds", "#gtceu:extruder_molds", "gtceu:empty_mold"); } -const registerGTCEUBlockTags = (event) => { +/** @param {TagEvent.Block} event */ +function registerGTCEUBlockTags(event) { + // Удаление тегов у отключенных предметов + global.GTCEU_DISABLED_ITEMS.forEach((item) => { + event.removeAllTagsFrom(item); + }); - // Удаление тегов у отключенных предметов - global.GTCEU_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) + // TODO: Ores all broke for some reason? This is a workaround for now + event.add("minecraft:mineable/pickaxe", "#forge:ores"); + event.add("minecraft:needs_iron_tool", "#forge:ores"); - // TODO: Ores all broke for some reason? This is a workaround for now - event.add('minecraft:mineable/pickaxe', '#forge:ores') - event.add('minecraft:needs_iron_tool', '#forge:ores') + // Collapse tags + event.add("tfc:can_collapse", "#forge:ores"); + event.add("tfc:can_start_collapse", "#forge:ores"); + event.add("tfc:can_trigger_collapse", "#forge:ores"); + event.add("c:hidden_from_recipe_viewers", "#forge:ores"); - // Collapse tags - event.add('tfc:can_collapse', '#forge:ores') - event.add('tfc:can_start_collapse', '#forge:ores') - event.add('tfc:can_trigger_collapse', '#forge:ores') - event.add('c:hidden_from_recipe_viewers', '#forge:ores') - - event.add('tfc:can_collapse', '#forge:raw_ore_blocks') - event.add('tfc:can_start_collapse', '#forge:raw_ore_blocks') - event.add('tfc:can_trigger_collapse', '#forge:raw_ore_blocks') - event.add('c:hidden_from_recipe_viewers', '#forge:raw_ore_blocks') + event.add("tfc:can_collapse", "#forge:raw_ore_blocks"); + event.add("tfc:can_start_collapse", "#forge:raw_ore_blocks"); + event.add("tfc:can_trigger_collapse", "#forge:raw_ore_blocks"); + event.add("c:hidden_from_recipe_viewers", "#forge:raw_ore_blocks"); - // Let GT indicators be covered by snow - forEachMaterial(material => { - - if (material.hasProperty(PropertyKey.ORE)) { - let indicator = `gtceu:${material.getName()}_indicator`; + // Let GT indicators be covered by snow + forEachMaterial((material) => { + if (material.hasProperty(PropertyKey.ORE)) { + const indicator = `gtceu:${material.getName()}_indicator`; - event.add('tfg:dust_ore_indicators', indicator) - event.add('tfc:can_be_snow_piled', indicator) - event.add('tfc:can_be_ice_piled', indicator) + event.add("tfg:dust_ore_indicators", indicator); + event.add("tfc:can_be_snow_piled", indicator); + event.add("tfc:can_be_ice_piled", indicator); - if (material.hasProperty(PropertyKey.GEM)) { + if (material.hasProperty(PropertyKey.GEM)) { + const bud = `gtceu:${material.getName()}_bud_indicator`; - let bud = `gtceu:${material.getName()}_bud_indicator`; - - event.add('tfg:bud_ore_indicators', bud) - event.add('tfc:can_be_snow_piled', bud) - event.add('tfc:can_be_ice_piled', bud) + event.add("tfg:bud_ore_indicators", bud); + event.add("tfc:can_be_snow_piled", bud); + event.add("tfc:can_be_ice_piled", bud); - event.add('minecraft:mineable/pickaxe', bud) - } - } - }) + event.add("minecraft:mineable/pickaxe", bud); + } + } + }); } +/** @param {TagEvent.Fluid} event */ +function registerGTCEUFluidTags(event) { + event.add("c:hidden_from_recipe_viewers", /gtceu.*potion.*/); -const registerGTCEUFluidTags = (event) => { - - event.add('c:hidden_from_recipe_viewers', /gtceu.*potion.*/) - - event.add('c:hidden_from_recipe_viewers', 'gtceu:molten_black_steel') - event.add('c:hidden_from_recipe_viewers', 'gtceu:molten_red_steel') - event.add('c:hidden_from_recipe_viewers', 'gtceu:molten_blue_steel') - event.add('c:hidden_from_recipe_viewers', 'gtceu:damascus_steel') -} \ No newline at end of file + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_black_steel"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_red_steel"); + event.add("c:hidden_from_recipe_viewers", "gtceu:molten_blue_steel"); + event.add("c:hidden_from_recipe_viewers", "gtceu:damascus_steel"); +} diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index b09650698..577a6212a 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -22,6 +22,7 @@ ServerEvents.tags('item', event => { registerCreateConnectedItemTags(event) registerCreateDecoItemTags(event) registerCreateFactoryLogisticsItemTags(event) + registerDomumOrnamentumItemTags(event) registerDiggerHelmetItemTags(event) registerEndermanOverhaulItemTags(event) registerEveryCompatItemTags(event) diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 3e9df62ba..24deafc04 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,615 +1,624 @@ // priority: 0 "use strict"; -const registerTFCItemTags = (event) => { - // Теги для соответствия инструментов TFC и GT +/** @param {TagEvent.Item} event */ +function registerTFCItemTags(event) { + // Теги для соответствия инструментов TFC и GT - forEachMaterial(material => { - if (material.hasProperty(PropertyKey.TOOL)) { - for (let [key, value] of Object.entries(global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS)) { - let tool = ToolHelper.get(value, material) - if (!tool.isEmpty()) { - event.add(key, tool.getId()) - } - event.add('tfc:usable_on_tool_rack', `#${key}`) - } - } - }) + forEachMaterial((material) => { + if (material.hasProperty(PropertyKey.TOOL)) { + for (let [key, value] of Object.entries(global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS)) { + let tool = ToolHelper.get(value, material); + if (!tool.isEmpty()) { + event.add(key, tool.getId()); + } + event.add("tfc:usable_on_tool_rack", `#${key}`); + } + } + }); - event.add('tfc:usable_on_tool_rack', '#forge:tools/mining_hammers') - event.add('tfc:usable_on_tool_rack', '#forge:tools/spades') - event.add('tfc:usable_on_tool_rack', '#forge:tools/wrenches') - event.add('tfc:usable_on_tool_rack', '#forge:tools/files') - event.add('tfc:usable_on_tool_rack', '#forge:tools/crowbars') - event.add('tfc:usable_on_tool_rack', '#forge:tools/screwdrivers') - event.add('tfc:usable_on_tool_rack', '#forge:tools/wire_cutters') - event.add('tfc:usable_on_tool_rack', '#forge:tools/butchery_knives') - event.add('tfc:usable_on_tool_rack', '#forge:tools/plungers') - event.add('tfc:usable_on_tool_rack', '#forge:tools/mortars') - event.add('tfc:usable_on_tool_rack', '#forge:tools/mallets') + event.add("tfc:usable_on_tool_rack", "#forge:tools/mining_hammers"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/spades"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/wrenches"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/files"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/crowbars"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/screwdrivers"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/wire_cutters"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/butchery_knives"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/plungers"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/mortars"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/mallets"); - event.add('tfc:usable_on_tool_rack', '#forge:tools/chainsaws') - event.add('tfc:usable_on_tool_rack', '#forge:tools/buzzsaws') - event.add('tfc:usable_on_tool_rack', '#forge:tools/drills') + event.add("tfc:usable_on_tool_rack", "#forge:tools/chainsaws"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/buzzsaws"); + event.add("tfc:usable_on_tool_rack", "#forge:tools/drills"); - event.add('tfc:usable_on_tool_rack', '#forge:tools/fishing_nets') + event.add("tfc:usable_on_tool_rack", "#forge:tools/fishing_nets"); - event.add('tfc:usable_on_tool_rack', '#tfc:buckets') + event.add("tfc:usable_on_tool_rack", "#tfc:buckets"); - event.add('tfc:usable_on_tool_rack', 'buildinggadgets2:gadget_building') - event.add('tfc:usable_on_tool_rack', 'buildinggadgets2:gadget_exchanging') - event.add('tfc:usable_on_tool_rack', 'buildinggadgets2:gadget_copy_paste') - event.add('tfc:usable_on_tool_rack', 'buildinggadgets2:gadget_cut_paste') - event.add('tfc:usable_on_tool_rack', 'buildinggadgets2:gadget_destruction') - event.add('tfc:usable_on_tool_rack', 'create:super_glue') - event.add('tfc:usable_on_tool_rack', 'exposure:camera') - event.add('tfc:usable_on_tool_rack', 'measurements:tape_measure') - event.add('tfc:usable_on_tool_rack', '#chalk:chalks') - event.add('tfc:usable_on_tool_rack', 'chalk:chalk_box') - event.add('tfc:usable_on_tool_rack', 'computercraft:pocket_computer_normal') - event.add('tfc:usable_on_tool_rack', 'computercraft:pocket_computer_advanced') - event.add('tfc:usable_on_tool_rack', 'grapplemod:grapplinghook') - event.add('tfc:usable_on_tool_rack', 'grapplemod:launcheritem') - event.add('tfc:usable_on_tool_rack', 'ae2:color_applicator') - event.add('tfc:usable_on_tool_rack', 'ae2:matter_cannon') - event.add('tfc:usable_on_tool_rack', 'ae2:network_tool') - event.add('tfc:usable_on_tool_rack', 'ae2:wireless_terminal') - event.add('tfc:usable_on_tool_rack', 'ae2:wireless_crafting_terminal') - event.add('tfc:usable_on_tool_rack', 'waterflasks:leather_flask') - event.add('tfc:usable_on_tool_rack', 'waterflasks:iron_flask') - event.add('tfc:usable_on_tool_rack', 'waterflasks:red_steel_flask') - event.add('tfc:usable_on_tool_rack', 'tfc:wool_cloth') - event.add('tfc:usable_on_tool_rack', 'firmalife:mixing_bowl') + event.add("tfc:usable_on_tool_rack", "buildinggadgets2:gadget_building"); + event.add("tfc:usable_on_tool_rack", "buildinggadgets2:gadget_exchanging"); + event.add("tfc:usable_on_tool_rack", "buildinggadgets2:gadget_copy_paste"); + event.add("tfc:usable_on_tool_rack", "buildinggadgets2:gadget_cut_paste"); + event.add("tfc:usable_on_tool_rack", "buildinggadgets2:gadget_destruction"); + event.add("tfc:usable_on_tool_rack", "create:super_glue"); + event.add("tfc:usable_on_tool_rack", "exposure:camera"); + event.add("tfc:usable_on_tool_rack", "measurements:tape_measure"); + event.add("tfc:usable_on_tool_rack", "#chalk:chalks"); + event.add("tfc:usable_on_tool_rack", "chalk:chalk_box"); + event.add("tfc:usable_on_tool_rack", "computercraft:pocket_computer_normal"); + event.add("tfc:usable_on_tool_rack", "computercraft:pocket_computer_advanced"); + event.add("tfc:usable_on_tool_rack", "grapplemod:grapplinghook"); + event.add("tfc:usable_on_tool_rack", "grapplemod:launcheritem"); + event.add("tfc:usable_on_tool_rack", "ae2:color_applicator"); + event.add("tfc:usable_on_tool_rack", "ae2:matter_cannon"); + event.add("tfc:usable_on_tool_rack", "ae2:network_tool"); + event.add("tfc:usable_on_tool_rack", "ae2:wireless_terminal"); + event.add("tfc:usable_on_tool_rack", "ae2:wireless_crafting_terminal"); + event.add("tfc:usable_on_tool_rack", "waterflasks:leather_flask"); + event.add("tfc:usable_on_tool_rack", "waterflasks:iron_flask"); + event.add("tfc:usable_on_tool_rack", "waterflasks:red_steel_flask"); + event.add("tfc:usable_on_tool_rack", "tfc:wool_cloth"); + event.add("tfc:usable_on_tool_rack", "firmalife:mixing_bowl"); - // Ингредиенты для закваски - event.add('tfg:ferments_to_rennet', 'tfc:food/soybean') - event.add('tfg:ferments_to_rennet', 'firmalife:food/fig') - event.add('tfg:ferments_to_rennet', 'tfc:plant/ivy') + // Ингредиенты для закваски + event.add("tfg:ferments_to_rennet", "tfc:food/soybean"); + event.add("tfg:ferments_to_rennet", "firmalife:food/fig"); + event.add("tfg:ferments_to_rennet", "tfc:plant/ivy"); - //Plants - event.add('tfc:plants', '#tfc:wild_fruits') + //Plants + event.add("tfc:plants", "#tfc:wild_fruits"); - // Для складывания - event.add('tfc:pileable_ingots', '#forge:ingots') - event.add('tfc:pileable_sheets', '#forge:plates') - event.add('tfc:pileable_double_ingots', 'gtceu:tin_alloy_double_ingot') - event.add('tfc:pileable_double_ingots', 'gtceu:red_alloy_double_ingot') - event.add('tfc:pileable_double_ingots', 'gtceu:lead_double_ingot') - event.add('tfc:pileable_double_ingots', 'gtceu:invar_double_ingot') - event.add('tfc:pileable_double_ingots', 'gtceu:potin_double_ingot') - event.add('tfc:pileable_double_ingots', 'gtceu:cobalt_double_ingot') - event.add('tfc:pileable_double_ingots', 'gtceu:cobalt_brass_double_ingot') + // Для складывания + event.add("tfc:pileable_ingots", "#forge:ingots"); + event.add("tfc:pileable_sheets", "#forge:plates"); + event.add("tfc:pileable_double_ingots", "gtceu:tin_alloy_double_ingot"); + event.add("tfc:pileable_double_ingots", "gtceu:red_alloy_double_ingot"); + event.add("tfc:pileable_double_ingots", "gtceu:lead_double_ingot"); + event.add("tfc:pileable_double_ingots", "gtceu:invar_double_ingot"); + event.add("tfc:pileable_double_ingots", "gtceu:potin_double_ingot"); + event.add("tfc:pileable_double_ingots", "gtceu:cobalt_double_ingot"); + event.add("tfc:pileable_double_ingots", "gtceu:cobalt_brass_double_ingot"); - // Рыба - event.add('minecraft:fishes', 'tfc:food/calamari') - event.add('minecraft:fishes', 'tfc:food/bluegill') - event.add('minecraft:fishes', 'tfc:food/crappie') - event.add('minecraft:fishes', 'tfc:food/lake_trout') - event.add('minecraft:fishes', 'tfc:food/largemouth_bass') - event.add('minecraft:fishes', 'tfc:food/rainbow_trout') - event.add('minecraft:fishes', 'tfc:food/smallmouth_bass') + // Рыба + event.add("minecraft:fishes", "tfc:food/calamari"); + event.add("minecraft:fishes", "tfc:food/bluegill"); + event.add("minecraft:fishes", "tfc:food/crappie"); + event.add("minecraft:fishes", "tfc:food/lake_trout"); + event.add("minecraft:fishes", "tfc:food/largemouth_bass"); + event.add("minecraft:fishes", "tfc:food/rainbow_trout"); + event.add("minecraft:fishes", "tfc:food/smallmouth_bass"); - // Make eggs not useless - event.add('tfc:foods/usable_in_salad', 'tfc:food/cooked_egg') - event.add('tfc:foods/usable_in_salad', 'tfc:food/boiled_egg') - event.add('tfc:foods/usable_in_jam_sandwich', 'tfc:food/cooked_egg') - event.add('tfc:foods/usable_in_jam_sandwich', 'tfc:food/boiled_egg') - event.add('tfc:foods/usable_in_sandwich', 'tfc:food/cooked_egg') - event.add('tfc:foods/usable_in_sandwich', 'tfc:food/boiled_egg') + // Make eggs not useless + event.add("tfc:foods/usable_in_salad", "tfc:food/cooked_egg"); + event.add("tfc:foods/usable_in_salad", "tfc:food/boiled_egg"); + event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/cooked_egg"); + event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/boiled_egg"); + event.add("tfc:foods/usable_in_sandwich", "tfc:food/cooked_egg"); + event.add("tfc:foods/usable_in_sandwich", "tfc:food/boiled_egg"); - // Чтобы жарились бревна из TFC в пиролиз. печке - // Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия... - global.TFC_WOOD_TYPES.forEach(woodType => { - event.add('minecraft:logs_that_burn', `#tfc:${woodType}_logs`) - }) + // Чтобы жарились бревна из TFC в пиролиз. печке + // Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия... + global.TFC_WOOD_TYPES.forEach((woodType) => { + event.add("minecraft:logs_that_burn", `#tfc:${woodType}_logs`); + }); - // Allows TFC stick bundles to be burned in the coke/pyrolyse ovens - event.add("minecraft:logs_that_burn", "tfc:stick_bundle"); + // Allows TFC stick bundles to be burned in the coke/pyrolyse ovens + event.add("minecraft:logs_that_burn", "tfc:stick_bundle"); - // Remove sulfur dust overlap - event.remove('forge:dusts/sulfur', 'tfc:powder/sulfur'); + // Remove sulfur dust overlap + event.remove("forge:dusts/sulfur", "tfc:powder/sulfur"); - // Тэги для возможности использования разных углей в кузне - event.add('tfc:forge_fuel', 'minecraft:coal') - event.add('tfc:forge_fuel', 'beneath:cursecoal') - event.add('tfc:forge_fuel', 'gtceu:coke_gem') - event.add('tfc:forge_fuel', 'gtceu:rich_raw_coal') - event.add('tfc:forge_fuel', 'gtceu:raw_coal') - event.add('tfc:forge_fuel', 'gtceu:poor_raw_coal') - event.add('tfc:forge_fuel', 'gtceu:coal_dust') - event.add('tfc:forge_fuel', 'gtceu:charcoal_dust') + // Тэги для возможности использования разных углей в кузне + event.add("tfc:forge_fuel", "minecraft:coal"); + event.add("tfc:forge_fuel", "beneath:cursecoal"); + event.add("tfc:forge_fuel", "gtceu:coke_gem"); + event.add("tfc:forge_fuel", "gtceu:rich_raw_coal"); + event.add("tfc:forge_fuel", "gtceu:raw_coal"); + event.add("tfc:forge_fuel", "gtceu:poor_raw_coal"); + event.add("tfc:forge_fuel", "gtceu:coal_dust"); + event.add("tfc:forge_fuel", "gtceu:charcoal_dust"); - // Change blast furnace to use coke - event.remove('tfc:blast_furnace_fuel', 'minecraft:coal') - event.remove('tfc:blast_furnace_fuel', 'minecraft:charcoal') - event.add('tfc:blast_furnace_fuel', 'gtceu:coke_gem') - event.add('tfc:blast_furnace_fuel', 'beneath:cursecoal') + // Change blast furnace to use coke + event.remove("tfc:blast_furnace_fuel", "minecraft:coal"); + event.remove("tfc:blast_furnace_fuel", "minecraft:charcoal"); + event.add("tfc:blast_furnace_fuel", "gtceu:coke_gem"); + event.add("tfc:blast_furnace_fuel", "beneath:cursecoal"); - // Create a tag for Steam Bloomery + // Create a tag for Steam Bloomery - event.add('tfc:steam_bloomery_basic_fuels', 'minecraft:coal') - event.add('tfc:steam_bloomery_basic_fuels', 'minecraft:charcoal') - event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:rich_raw_coal') - event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:raw_coal') - event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:poor_raw_coal') - event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:coal_dust') - event.add('tfc:steam_bloomery_basic_fuels', 'gtceu:charcoal_dust') + event.add("tfc:steam_bloomery_basic_fuels", "minecraft:coal"); + event.add("tfc:steam_bloomery_basic_fuels", "minecraft:charcoal"); + event.add("tfc:steam_bloomery_basic_fuels", "gtceu:rich_raw_coal"); + event.add("tfc:steam_bloomery_basic_fuels", "gtceu:raw_coal"); + event.add("tfc:steam_bloomery_basic_fuels", "gtceu:poor_raw_coal"); + event.add("tfc:steam_bloomery_basic_fuels", "gtceu:coal_dust"); + event.add("tfc:steam_bloomery_basic_fuels", "gtceu:charcoal_dust"); - // Тэги для сундуков, чтобы отличать их виды - global.TFC_WOOD_TYPES.forEach(woodType => { - event.add('tfg:default_chests', `tfc:wood/chest/${woodType}`) - event.add('tfg:trapped_chests', `tfc:wood/trapped_chest/${woodType}`) + // Тэги для сундуков, чтобы отличать их виды + global.TFC_WOOD_TYPES.forEach((woodType) => { + event.add("tfg:default_chests", `tfc:wood/chest/${woodType}`); + event.add("tfg:trapped_chests", `tfc:wood/trapped_chest/${woodType}`); - event.add('tfg:bladed_axles', `tfc:wood/bladed_axle/${woodType}`) - }) + event.add("tfg:bladed_axles", `tfc:wood/bladed_axle/${woodType}`); + }); - //Hardwood Tags - global.TFC_HARDWOOD_TYPES.forEach(woodType => { - event.add('tfg:hardwood', `#tfc:${woodType}_logs`) - event.add('tfg:stripped_hardwood', `tfc:wood/stripped_log/${woodType}`) - event.add('tfg:stripped_hardwood', `tfc:wood/stripped_wood/${woodType}`) - }); + //Hardwood Tags + global.TFC_HARDWOOD_TYPES.forEach((woodType) => { + event.add("tfg:hardwood", `#tfc:${woodType}_logs`); + event.add("tfg:stripped_hardwood", `tfc:wood/stripped_log/${woodType}`); + event.add("tfg:stripped_hardwood", `tfc:wood/stripped_wood/${woodType}`); + }); - //Softwood Tags - global.TFC_SOFTWOOD_TYPES.forEach(woodType => { - event.add('tfg:softwood', `#tfc:${woodType}_logs`) - event.add('tfg:stripped_softwood', `tfc:wood/stripped_log/${woodType}`) - event.add('tfg:stripped_softwood', `tfc:wood/stripped_wood/${woodType}`) - }) + //Softwood Tags + global.TFC_SOFTWOOD_TYPES.forEach((woodType) => { + event.add("tfg:softwood", `#tfc:${woodType}_logs`); + event.add("tfg:stripped_softwood", `tfc:wood/stripped_log/${woodType}`); + event.add("tfg:stripped_softwood", `tfc:wood/stripped_wood/${woodType}`); + }); - // Теги для сосудов по цветам - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.add('tfg:colorized_unfired_vessels', `tfc:ceramic/${dye}_unfired_vessel`) - event.add('tfg:colorized_fired_vessels', `tfc:ceramic/${dye}_glazed_vessel`) + // Теги для сосудов по цветам + global.MINECRAFT_DYE_NAMES.forEach((dye) => { + event.add("tfg:colorized_unfired_vessels", `tfc:ceramic/${dye}_unfired_vessel`); + event.add("tfg:colorized_fired_vessels", `tfc:ceramic/${dye}_glazed_vessel`); - event.add('tfg:colorized_unfired_large_vessels', `tfc:ceramic/unfired_large_vessel/${dye}`) - event.add('tfg:colorized_fired_large_vessels', `tfc:ceramic/large_vessel/${dye}`) + event.add("tfg:colorized_unfired_large_vessels", `tfc:ceramic/unfired_large_vessel/${dye}`); + event.add("tfg:colorized_fired_large_vessels", `tfc:ceramic/large_vessel/${dye}`); + }); - }) + // Цвета гравия + // Коричневый + event.add("tfc:brown_gravel", "tfc:rock/gravel/claystone"); + // Белый + event.add("tfc:white_gravel", "tfc:rock/gravel/chalk"); + event.add("tfc:white_gravel", "tfc:rock/gravel/diorite"); + event.add("tfc:white_gravel", "tfc:rock/gravel/quartzite"); + event.add("tfc:white_gravel", "tfc:rock/gravel/marble"); + // Черный + event.add("tfc:black_gravel", "tfc:rock/gravel/basalt"); + event.add("tfc:black_gravel", "tfc:rock/gravel/phyllite"); + event.add("tfc:black_gravel", "tfc:rock/gravel/andesite"); + event.add("tfc:black_gravel", "tfc:rock/gravel/dacite"); + event.add("tfc:black_gravel", "tfc:rock/gravel/gabbro"); + event.add("tfc:black_gravel", "tfc:rock/gravel/dolomite"); + event.add("tfc:black_gravel", "tfc:rock/gravel/shale"); + // Красный + event.add("tfc:red_gravel", "tfc:rock/gravel/chert"); + event.add("tfc:red_gravel", "tfc:rock/gravel/rhyolite"); + // Желтый + event.add("tfc:yellow_gravel", "tfc:rock/gravel/limestone"); + event.add("tfc:yellow_gravel", "tfc:rock/gravel/slate"); + // Зеленый + event.add("tfc:green_gravel", "tfc:rock/gravel/gneiss"); + event.add("tfc:green_gravel", "tfc:rock/gravel/conglomerate"); + event.add("tfc:green_gravel", "tfc:rock/gravel/schist"); + // Розовый + event.add("tfc:pink_gravel", "tfc:rock/gravel/granite"); - // Цвета гравия - // Коричневый - event.add('tfc:brown_gravel', 'tfc:rock/gravel/claystone') - // Белый - event.add('tfc:white_gravel', 'tfc:rock/gravel/chalk') - event.add('tfc:white_gravel', 'tfc:rock/gravel/diorite') - event.add('tfc:white_gravel', 'tfc:rock/gravel/quartzite') - event.add('tfc:white_gravel', 'tfc:rock/gravel/marble') - // Черный - event.add('tfc:black_gravel', 'tfc:rock/gravel/basalt') - event.add('tfc:black_gravel', 'tfc:rock/gravel/phyllite') - event.add('tfc:black_gravel', 'tfc:rock/gravel/andesite') - event.add('tfc:black_gravel', 'tfc:rock/gravel/dacite') - event.add('tfc:black_gravel', 'tfc:rock/gravel/gabbro') - event.add('tfc:black_gravel', 'tfc:rock/gravel/dolomite') - event.add('tfc:black_gravel', 'tfc:rock/gravel/shale') - // Красный - event.add('tfc:red_gravel', 'tfc:rock/gravel/chert') - event.add('tfc:red_gravel', 'tfc:rock/gravel/rhyolite') - // Желтый - event.add('tfc:yellow_gravel', 'tfc:rock/gravel/limestone') - event.add('tfc:yellow_gravel', 'tfc:rock/gravel/slate') - // Зеленый - event.add('tfc:green_gravel', 'tfc:rock/gravel/gneiss') - event.add('tfc:green_gravel', 'tfc:rock/gravel/conglomerate') - event.add('tfc:green_gravel', 'tfc:rock/gravel/schist') - // Розовый - event.add('tfc:pink_gravel', 'tfc:rock/gravel/granite') + // Теги для объединения наковален + event.add("tfc:red_or_blue_anvil", "tfc:metal/anvil/blue_steel"); + event.add("tfc:red_or_blue_anvil", "tfc:metal/anvil/red_steel"); - // Теги для объединения наковален - event.add('tfc:red_or_blue_anvil', 'tfc:metal/anvil/blue_steel') - event.add('tfc:red_or_blue_anvil', 'tfc:metal/anvil/red_steel') + // Теги для решеток + event.add("tfg:metal_bars", "tfc:metal/bars/bismuth_bronze"); + event.add("tfg:metal_bars", "tfc:metal/bars/black_bronze"); + event.add("tfg:metal_bars", "tfc:metal/bars/bronze"); + event.add("tfg:metal_bars", "tfc:metal/bars/copper"); + event.add("tfg:metal_bars", "tfc:metal/bars/wrought_iron"); + event.add("tfg:metal_bars", "tfc:metal/bars/steel"); + event.add("tfg:metal_bars", "tfc:metal/bars/black_steel"); + event.add("tfg:metal_bars", "tfc:metal/bars/blue_steel"); + event.add("tfg:metal_bars", "tfc:metal/bars/red_steel"); - // Теги для решеток - event.add('tfg:metal_bars', 'tfc:metal/bars/bismuth_bronze') - event.add('tfg:metal_bars', 'tfc:metal/bars/black_bronze') - event.add('tfg:metal_bars', 'tfc:metal/bars/bronze') - event.add('tfg:metal_bars', 'tfc:metal/bars/copper') - event.add('tfg:metal_bars', 'tfc:metal/bars/wrought_iron') - event.add('tfg:metal_bars', 'tfc:metal/bars/steel') - event.add('tfg:metal_bars', 'tfc:metal/bars/black_steel') - event.add('tfg:metal_bars', 'tfc:metal/bars/blue_steel') - event.add('tfg:metal_bars', 'tfc:metal/bars/red_steel') + // Тэги для цепей + event.add("tfg:metal_chains", "tfc:metal/chain/bismuth_bronze"); + event.add("tfg:metal_chains", "tfc:metal/chain/black_bronze"); + event.add("tfg:metal_chains", "tfc:metal/chain/bronze"); + event.add("tfg:metal_chains", "tfc:metal/chain/copper"); + event.add("tfg:metal_chains", "tfc:metal/chain/wrought_iron"); + event.add("tfg:metal_chains", "tfc:metal/chain/steel"); + event.add("tfg:metal_chains", "tfc:metal/chain/black_steel"); + event.add("tfg:metal_chains", "tfc:metal/chain/blue_steel"); + event.add("tfg:metal_chains", "tfc:metal/chain/red_steel"); - // Тэги для цепей - event.add('tfg:metal_chains', 'tfc:metal/chain/bismuth_bronze') - event.add('tfg:metal_chains', 'tfc:metal/chain/black_bronze') - event.add('tfg:metal_chains', 'tfc:metal/chain/bronze') - event.add('tfg:metal_chains', 'tfc:metal/chain/copper') - event.add('tfg:metal_chains', 'tfc:metal/chain/wrought_iron') - event.add('tfg:metal_chains', 'tfc:metal/chain/steel') - event.add('tfg:metal_chains', 'tfc:metal/chain/black_steel') - event.add('tfg:metal_chains', 'tfc:metal/chain/blue_steel') - event.add('tfg:metal_chains', 'tfc:metal/chain/red_steel') + // Теги для незаконченных ламп + event.add("tfg:unfinished_lamps", "tfc:metal/unfinished_lamp/bismuth_bronze"); + event.add("tfg:unfinished_lamps", "tfc:metal/unfinished_lamp/black_bronze"); + event.add("tfg:unfinished_lamps", "tfc:metal/unfinished_lamp/bronze"); + event.add("tfg:unfinished_lamps", "tfc:metal/unfinished_lamp/copper"); + event.add("tfg:unfinished_lamps", "tfc:metal/unfinished_lamp/wrought_iron"); + event.add("tfg:unfinished_lamps", "tfc:metal/unfinished_lamp/steel"); + event.add("tfg:unfinished_lamps", "tfc:metal/unfinished_lamp/black_steel"); + event.add("tfg:unfinished_lamps", "tfc:metal/unfinished_lamp/blue_steel"); + event.add("tfg:unfinished_lamps", "tfc:metal/unfinished_lamp/red_steel"); - // Теги для незаконченных ламп - event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/bismuth_bronze') - event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/black_bronze') - event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/bronze') - event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/copper') - event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/wrought_iron') - event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/steel') - event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/black_steel') - event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/blue_steel') - event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/red_steel') + // Теги для кораллов + event.add("tfc:corals", "tfc:coral/tube_coral_fan"); + event.add("tfc:corals", "tfc:coral/brain_coral_fan"); + event.add("tfc:corals", "tfc:coral/bubble_coral_fan"); + event.add("tfc:corals", "tfc:coral/fire_coral_fan"); + event.add("tfc:corals", "tfc:coral/horn_coral_fan"); + event.add("tfc:corals", "tfc:coral/tube_coral"); + event.add("tfc:corals", "tfc:coral/brain_coral"); + event.add("tfc:corals", "tfc:coral/bubble_coral"); + event.add("tfc:corals", "tfc:coral/fire_coral"); + event.add("tfc:corals", "tfc:coral/horn_coral"); + event.add("tfc:corals", "tfc:coral/tube_dead_coral_fan"); + event.add("tfc:corals", "tfc:coral/brain_dead_coral_fan"); + event.add("tfc:corals", "tfc:coral/bubble_dead_coral_fan"); + event.add("tfc:corals", "tfc:coral/bubble_dead_coral"); + event.add("tfc:corals", "tfc:coral/fire_dead_coral_fan"); + event.add("tfc:corals", "tfc:coral/horn_dead_coral_fan"); + event.add("tfc:corals", "tfc:coral/tube_dead_coral"); + event.add("tfc:corals", "tfc:coral/brain_dead_coral"); + event.add("tfc:corals", "tfc:coral/fire_dead_coral"); + event.add("tfc:corals", "tfc:coral/horn_dead_coral"); - // Теги для кораллов - event.add('tfc:corals', 'tfc:coral/tube_coral_fan') - event.add('tfc:corals', 'tfc:coral/brain_coral_fan') - event.add('tfc:corals', 'tfc:coral/bubble_coral_fan') - event.add('tfc:corals', 'tfc:coral/fire_coral_fan') - event.add('tfc:corals', 'tfc:coral/horn_coral_fan') - event.add('tfc:corals', 'tfc:coral/tube_coral') - event.add('tfc:corals', 'tfc:coral/brain_coral') - event.add('tfc:corals', 'tfc:coral/bubble_coral') - event.add('tfc:corals', 'tfc:coral/fire_coral') - event.add('tfc:corals', 'tfc:coral/horn_coral') - event.add('tfc:corals', 'tfc:coral/tube_dead_coral_fan') - event.add('tfc:corals', 'tfc:coral/brain_dead_coral_fan') - event.add('tfc:corals', 'tfc:coral/bubble_dead_coral_fan') - event.add('tfc:corals', 'tfc:coral/bubble_dead_coral') - event.add('tfc:corals', 'tfc:coral/fire_dead_coral_fan') - event.add('tfc:corals', 'tfc:coral/horn_dead_coral_fan') - event.add('tfc:corals', 'tfc:coral/tube_dead_coral') - event.add('tfc:corals', 'tfc:coral/brain_dead_coral') - event.add('tfc:corals', 'tfc:coral/fire_dead_coral') - event.add('tfc:corals', 'tfc:coral/horn_dead_coral') + // Теги для каменных ступенек тфк + global.TFC_STONE_TYPES.forEach((stoneTypeName) => { + global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach((slabType) => { + event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`); + event.add(`tfg:rock_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`); + event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`); + }); + }); - // Теги для каменных ступенек тфк - global.TFC_STONE_TYPES.forEach(stoneTypeName => { - global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { - event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) - event.add(`tfg:rock_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`) - event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`) - }) - }) + // Теги для кирпичных ступенек тфк + global.TFC_STONE_TYPES.forEach((stoneTypeName) => { + global.TFC_BRICK_SLAB_BLOCK_TYPES.forEach((slabType) => { + event.add(`tfg:brick_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`); + event.add(`tfg:brick_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`); + event.add(`tfg:brick_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`); + }); + }); - // Теги для кирпичных ступенек тфк - global.TFC_STONE_TYPES.forEach(stoneTypeName => { - global.TFC_BRICK_SLAB_BLOCK_TYPES.forEach(slabType => { - event.add(`tfg:brick_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) - event.add(`tfg:brick_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`) - event.add(`tfg:brick_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`) - }) - }) + // Удаление тегов у отключенных предметов + global.TFC_DISABLED_ITEMS.forEach((item) => { + event.removeAllTagsFrom(item); + event.add("c:hidden_from_recipe_viewers", item); + }); - // Удаление тегов у отключенных предметов - global.TFC_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) - }) + global.TFC_HIDDEN_ITEMS.forEach((item) => { + event.add("c:hidden_from_recipe_viewers", item); + }); - global.TFC_HIDDEN_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) - }) + // Удаление тегов у руд + event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/"); - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + //Stone javelins + event.add("tfc:stone_javelins", "tfc:stone/javelin/igneous_extrusive"); + event.add("tfc:stone_javelins", "tfc:stone/javelin/igneous_intrusive"); + event.add("tfc:stone_javelins", "tfc:stone/javelin/metamorphic"); + event.add("tfc:stone_javelins", "tfc:stone/javelin/sedimentary"); - //Stone javelins - event.add('tfc:stone_javelins', 'tfc:stone/javelin/igneous_extrusive') - event.add('tfc:stone_javelins', 'tfc:stone/javelin/igneous_intrusive') - event.add('tfc:stone_javelins', 'tfc:stone/javelin/metamorphic') - event.add('tfc:stone_javelins', 'tfc:stone/javelin/sedimentary') + //Moss + event.add("tfc:moss", "tfc:plant/moss"); + event.add("tfc:moss", "tfc:plant/spanish_moss"); + event.add("tfc:moss", "tfc:plant/reindeer_lichen"); + event.add("tfc:moss", "tfc:plant/cobblestone_lichen"); - //Moss - event.add('tfc:moss', 'tfc:plant/moss') - event.add('tfc:moss', 'tfc:plant/spanish_moss') - event.add('tfc:moss', 'tfc:plant/reindeer_lichen') - event.add('tfc:moss', 'tfc:plant/cobblestone_lichen') + //Cloth + event.add("forge:cloth", "tfc:burlap_cloth"); + event.add("forge:cloth", "tfc:wool_cloth"); + event.add("forge:cloth", "tfc:silk_cloth"); - //Cloth - event.add('forge:cloth', 'tfc:burlap_cloth') - event.add('forge:cloth', 'tfc:wool_cloth') - event.add('forge:cloth', 'tfc:silk_cloth') + // Piglin loved + event.add("minecraft:piglin_loved", "tfc:ore/small_native_gold"); + event.add("minecraft:piglin_loved", "tfc:ore/poor_native_gold"); + event.add("minecraft:piglin_loved", "tfc:ore/normal_native_gold"); + event.add("minecraft:piglin_loved", "tfc:ore/rich_native_gold"); - // Piglin loved - event.add('minecraft:piglin_loved', 'tfc:ore/small_native_gold') - event.add('minecraft:piglin_loved', 'tfc:ore/poor_native_gold') - event.add('minecraft:piglin_loved', 'tfc:ore/normal_native_gold') - event.add('minecraft:piglin_loved', 'tfc:ore/rich_native_gold') + // Bells + event.add("tfc:bells", "tfc:bronze_bell"); + event.add("tfc:bells", "tfc:brass_bell"); - // Bells - event.add('tfc:bells', 'tfc:bronze_bell') - event.add('tfc:bells', 'tfc:brass_bell') + // Lets the basin be put on top of a charcoal forge + event.add("tfc:forge_invisible_whitelist", "create:basin"); - // Lets the basin be put on top of a charcoal forge - event.add('tfc:forge_invisible_whitelist', 'create:basin') + // Allows automation with the 3x3 Hellforge + event.add("tfc:forge_invisible_whitelist", "tfcchannelcasting:channel"); + event.add("tfc:forge_invisible_whitelist", "tfcchannelcasting:mold_table"); + event.add("tfc:forge_invisible_whitelist", "greate:steel_mechanical_pump"); + event.add("tfc:forge_invisible_whitelist", "greate:aluminum_mechanical_pump"); + event.add("tfc:forge_invisible_whitelist", "greate:stainless_steel_mechanical_pump"); + event.add("tfc:forge_invisible_whitelist", "greate:titanium_mechanical_pump"); - // Allows automation with the 3x3 Hellforge - event.add('tfc:forge_invisible_whitelist', 'tfcchannelcasting:channel') - event.add('tfc:forge_invisible_whitelist', 'tfcchannelcasting:mold_table') - event.add('tfc:forge_invisible_whitelist', 'greate:steel_mechanical_pump') - event.add('tfc:forge_invisible_whitelist', 'greate:aluminum_mechanical_pump') - event.add('tfc:forge_invisible_whitelist', 'greate:stainless_steel_mechanical_pump') - event.add('tfc:forge_invisible_whitelist', 'greate:titanium_mechanical_pump') + event.add("forge:mushrooms", "tfc:plant/artists_conk"); - event.add('forge:mushrooms', 'tfc:plant/artists_conk') + global.TFC_STONE_TYPES.forEach((stone) => { + event.add("minecraft:stone_buttons", `tfc:rock/button/${stone}`); + event.add("minecraft:buttons", `tfc:rock/button/${stone}`); + }); - global.TFC_STONE_TYPES.forEach(stone => { - event.add('minecraft:stone_buttons', `tfc:rock/button/${stone}`) - event.add('minecraft:buttons', `tfc:rock/button/${stone}`) - }) - - event.add('tfc:any_knapping', '#tfc:pit_kiln_straw') - event.add('tfg:burlap_fiber', 'tfc:jute_fiber') + event.add("tfc:any_knapping", "#tfc:pit_kiln_straw"); + event.add("tfg:burlap_fiber", "tfc:jute_fiber"); + + global.TFC_WET_MUD_BRICKS.forEach((wetMudBrick) => { + event.add("tfc:wet_mud_bricks", wetMudBrick); + }); + + global.TFC_MUD_BRICKS.forEach((mudBrick) => { + event.add("tfc:mud_bricks", mudBrick); + }); } -const registerTFCBlockTags = (event) => { - // Теги для каменных ступенек тфк - global.TFC_STONE_TYPES.forEach(stoneTypeName => { - global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { - event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) - event.add(`tfg:rock_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`) - event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`) - }) - }) +/** @param {TagEvent.Block} event */ +function registerTFCBlockTags(event) { + // Теги для каменных ступенек тфк + global.TFC_STONE_TYPES.forEach((stoneTypeName) => { + global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach((slabType) => { + event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`); + event.add(`tfg:rock_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`); + event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`); + }); + }); - // Теги для кирпичных ступенек тфк - global.TFC_STONE_TYPES.forEach(stoneTypeName => { - global.TFC_BRICK_SLAB_BLOCK_TYPES.forEach(slabType => { - event.add(`tfg:brick_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) - event.add(`tfg:brick_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`) - event.add(`tfg:brick_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`) - }) - }) + // Теги для кирпичных ступенек тфк + global.TFC_STONE_TYPES.forEach((stoneTypeName) => { + global.TFC_BRICK_SLAB_BLOCK_TYPES.forEach((slabType) => { + event.add(`tfg:brick_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`); + event.add(`tfg:brick_stairs`, `tfc:rock/${slabType}/${stoneTypeName}_stairs`); + event.add(`tfg:brick_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`); + }); + }); - // Возможность обрушения полу-блоков - event.add('tfc:can_collapse', '#tfg:rock_slabs') - event.add('tfc:can_start_collapse', '#tfg:rock_slabs') - event.add('tfc:can_trigger_collapse', '#tfg:rock_slabs') + // Возможность обрушения полу-блоков + event.add("tfc:can_collapse", "#tfg:rock_slabs"); + event.add("tfc:can_start_collapse", "#tfg:rock_slabs"); + event.add("tfc:can_trigger_collapse", "#tfg:rock_slabs"); - // Возможность обрушения ступеней - event.add('tfc:can_collapse', '#tfg:rock_stairs') - event.add('tfc:can_start_collapse', '#tfg:rock_stairs') - event.add('tfc:can_trigger_collapse', '#tfg:rock_stairs') + // Возможность обрушения ступеней + event.add("tfc:can_collapse", "#tfg:rock_stairs"); + event.add("tfc:can_start_collapse", "#tfg:rock_stairs"); + event.add("tfc:can_trigger_collapse", "#tfg:rock_stairs"); - // Возможность обрушения стен - event.add('tfc:can_collapse', '#tfg:rock_walls') - event.add('tfc:can_start_collapse', '#tfg:rock_walls') - event.add('tfc:can_trigger_collapse', '#tfg:rock_walls') + // Возможность обрушения стен + event.add("tfc:can_collapse", "#tfg:rock_walls"); + event.add("tfc:can_start_collapse", "#tfg:rock_walls"); + event.add("tfc:can_trigger_collapse", "#tfg:rock_walls"); - event.add('tfc:can_start_collapse', '#tfc:rock/smooth') - event.add('tfc:can_trigger_collapse', '#tfc:rock/smooth') + event.add("tfc:can_start_collapse", "#tfc:rock/smooth"); + event.add("tfc:can_trigger_collapse", "#tfc:rock/smooth"); - // Возможность обрушения руды - event.add('tfc:can_collapse', '#forge:ores') - event.add('tfc:can_start_collapse', '#forge:ores') - event.add('tfc:can_trigger_collapse', '#forge:ores') + // Возможность обрушения руды + event.add("tfc:can_collapse", "#forge:ores"); + event.add("tfc:can_start_collapse", "#forge:ores"); + event.add("tfc:can_trigger_collapse", "#forge:ores"); - event.add('tfc:monster_spawns_on', '#forge:ores') - event.add('tfc:prospectable', '#forge:ores') + event.add("tfc:monster_spawns_on", "#forge:ores"); + event.add("tfc:prospectable", "#forge:ores"); - event.add('tfc:glass_basin_blocks', 'create:brass_block') - event.add('tfc:glass_pouring_table', 'create:brass_block') + event.add("tfc:glass_basin_blocks", "create:brass_block"); + event.add("tfc:glass_pouring_table", "create:brass_block"); - event.add('tfc:glass_basin_blocks', 'tfc:red_kaolin_clay') - event.add('tfc:glass_pouring_table', 'tfc:red_kaolin_clay') + event.add("tfc:glass_basin_blocks", "tfc:red_kaolin_clay"); + event.add("tfc:glass_pouring_table", "tfc:red_kaolin_clay"); - event.add('tfc:glass_basin_blocks', 'tfc:pink_kaolin_clay') - event.add('tfc:glass_pouring_table', 'tfc:pink_kaolin_clay') + event.add("tfc:glass_basin_blocks", "tfc:pink_kaolin_clay"); + event.add("tfc:glass_pouring_table", "tfc:pink_kaolin_clay"); - event.add('tfc:glass_basin_blocks', 'tfc:white_kaolin_clay') - event.add('tfc:glass_pouring_table', 'tfc:white_kaolin_clay') + event.add("tfc:glass_basin_blocks", "tfc:white_kaolin_clay"); + event.add("tfc:glass_pouring_table", "tfc:white_kaolin_clay"); - // Удаление тегов у отключенных предметов - global.TFC_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) + // Удаление тегов у отключенных предметов + global.TFC_DISABLED_ITEMS.forEach((item) => { + event.removeAllTagsFrom(item); + }); - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + // Удаление тегов у руд + event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/"); + //#region Позволяем ТФК магме греть бойлер из Create + global.TFC_MAGMA_BLOCKS.forEach((el) => { + event.add("create:passive_boiler_heaters", el); + }); + //#endregion - //#region Позволяем ТФК магме греть бойлер из Create - global.TFC_MAGMA_BLOCKS.forEach(el => { - event.add('create:passive_boiler_heaters', el) - }) - //#endregion + //#region Nether - //#region Nether + event.add("beneath:nether_bush_plantable_on", "#tfc:clay_grass"); + event.add("minecraft:small_dripleaf_placeable", "#tfc:clay_grass"); + event.add("minecraft:big_dripleaf_placeable", "#tfc:clay_grass"); + event.add("minecraft:frogs_spawnable_on", "#tfc:clay_grass"); + event.add("minecraft:axolotls_spawnable_on", "#tfc:clay_grass"); - event.add('beneath:nether_bush_plantable_on', '#tfc:clay_grass') - event.add('minecraft:small_dripleaf_placeable', '#tfc:clay_grass') - event.add('minecraft:big_dripleaf_placeable', '#tfc:clay_grass') - event.add('minecraft:frogs_spawnable_on', '#tfc:clay_grass') - event.add('minecraft:axolotls_spawnable_on', '#tfc:clay_grass') + event.add("minecraft:small_dripleaf_placeable", "#tfc:clay"); + event.add("minecraft:big_dripleaf_placeable", "#tfc:clay"); + event.add("minecraft:frogs_spawnable_on", "#tfc:clay"); + event.add("minecraft:axolotls_spawnable_on", "#tfc:clay"); - event.add('minecraft:small_dripleaf_placeable', '#tfc:clay') - event.add('minecraft:big_dripleaf_placeable', '#tfc:clay') - event.add('minecraft:frogs_spawnable_on', '#tfc:clay') - event.add('minecraft:axolotls_spawnable_on', '#tfc:clay') + event.add("beneath:nether_bush_plantable_on", "#tfc:mud"); + event.add("minecraft:frogs_spawnable_on", "#tfc:mud"); - event.add('beneath:nether_bush_plantable_on', '#tfc:mud') - event.add('minecraft:frogs_spawnable_on', '#tfc:mud') + event.add("beneath:nether_bush_plantable_on", "#tfc:dirt"); + event.add("minecraft:frogs_spawnable_on", "#tfc:dirt"); - event.add('beneath:nether_bush_plantable_on', '#tfc:dirt') - event.add('minecraft:frogs_spawnable_on', '#tfc:dirt') + event.add("minecraft:base_stone_nether", "tfc:rock/raw/gneiss"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/schist"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/diorite"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/granite"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/gabbro"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/basalt"); + event.add("minecraft:nether_carver_replaceables", "#minecraft:base_stone_nether"); + event.add("minecraft:frogs_spawnable_on", "#minecraft:base_stone_nether"); - event.add('minecraft:base_stone_nether', 'tfc:rock/raw/gneiss') - event.add('minecraft:base_stone_nether', 'tfc:rock/raw/schist') - event.add('minecraft:base_stone_nether', 'tfc:rock/raw/diorite') - event.add('minecraft:base_stone_nether', 'tfc:rock/raw/granite') - event.add('minecraft:base_stone_nether', 'tfc:rock/raw/gabbro') - event.add('minecraft:base_stone_nether', 'tfc:rock/raw/basalt') - event.add('minecraft:nether_carver_replaceables', '#minecraft:base_stone_nether') - event.add('minecraft:frogs_spawnable_on', '#minecraft:base_stone_nether') + //#endregion - //#endregion + // Lets the basin be put on top of a charcoal forge + event.add("tfc:forge_invisible_whitelist", "create:basin"); - // Lets the basin be put on top of a charcoal forge - event.add('tfc:forge_invisible_whitelist', 'create:basin') + // Allows automation with the 3x3 Hellforge + event.add("tfc:forge_invisible_whitelist", "tfcchannelcasting:channel"); + event.add("tfc:forge_invisible_whitelist", "tfcchannelcasting:mold_table"); + event.add("tfc:forge_invisible_whitelist", "greate:steel_mechanical_pump"); + event.add("tfc:forge_invisible_whitelist", "greate:aluminum_mechanical_pump"); + event.add("tfc:forge_invisible_whitelist", "greate:stainless_steel_mechanical_pump"); + event.add("tfc:forge_invisible_whitelist", "greate:titanium_mechanical_pump"); - // Allows automation with the 3x3 Hellforge - event.add('tfc:forge_invisible_whitelist', 'tfcchannelcasting:channel') - event.add('tfc:forge_invisible_whitelist', 'tfcchannelcasting:mold_table') - event.add('tfc:forge_invisible_whitelist', 'greate:steel_mechanical_pump') - event.add('tfc:forge_invisible_whitelist', 'greate:aluminum_mechanical_pump') - event.add('tfc:forge_invisible_whitelist', 'greate:stainless_steel_mechanical_pump') - event.add('tfc:forge_invisible_whitelist', 'greate:titanium_mechanical_pump') + //Allows any block with the word "brick" in its id to be used as bloomery and forge insulation. + //Add blacklisted words to the const with | between. + const brick_blacklist = "drying|slab|stairs|wall|additionalplacements"; + event.add("tfc:bloomery_insulation", `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); + event.add("tfc:forge_insulation", `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); - //Allows any block with the word "brick" in its id to be used as bloomery and forge insulation. - //Add blacklisted words to the const with | between. - const brick_blacklist = ('drying|slab|stairs|wall|additionalplacements'); - event.add('tfc:bloomery_insulation', `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); - event.add('tfc:forge_insulation', `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); - - global.TFC_STONE_TYPES.forEach(stone => { - event.add('minecraft:stone_buttons', `tfc:rock/button/${stone}`) - event.add('minecraft:buttons', `tfc:rock/button/${stone}`) - }) + global.TFC_STONE_TYPES.forEach((stone) => { + event.add("minecraft:stone_buttons", `tfc:rock/button/${stone}`); + event.add("minecraft:buttons", `tfc:rock/button/${stone}`); + }); } -const registerTFCFluidTags = (event) => { - // Удаление TFC металлов из возможных в форме слитка - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth_bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/brass') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/copper') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/gold') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/nickel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/rose_gold') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/silver') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/tin') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/zinc') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/sterling_silver') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/wrought_iron') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/red_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/blue_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/cast_iron') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_black_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_red_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_blue_steel') +/** @param {TagEvent.Fluid} event */ +function registerTFCFluidTags(event) { + // Удаление TFC металлов из возможных в форме слитка + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/bismuth"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/bismuth_bronze"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/bronze"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/black_bronze"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/brass"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/copper"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/gold"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/nickel"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/rose_gold"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/silver"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/tin"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/zinc"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/sterling_silver"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/wrought_iron"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/steel"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/black_steel"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/red_steel"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/blue_steel"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/cast_iron"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/high_carbon_steel"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/high_carbon_black_steel"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/high_carbon_red_steel"); + event.remove("tfc:usable_in_ingot_mold", "tfc:metal/high_carbon_blue_steel"); - // Добавление GTCEu металлов в форму слитков - event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth') - event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth_bronze') - event.add('tfc:usable_in_ingot_mold', 'gtceu:black_bronze') - event.add('tfc:usable_in_ingot_mold', 'gtceu:bronze') - event.add('tfc:usable_in_ingot_mold', 'gtceu:brass') - event.add('tfc:usable_in_ingot_mold', 'gtceu:copper') - event.add('tfc:usable_in_ingot_mold', 'gtceu:gold') - event.add('tfc:usable_in_ingot_mold', 'gtceu:nickel') - event.add('tfc:usable_in_ingot_mold', 'gtceu:rose_gold') - event.add('tfc:usable_in_ingot_mold', 'gtceu:silver') - event.add('tfc:usable_in_ingot_mold', 'gtceu:tin') - event.add('tfc:usable_in_ingot_mold', 'gtceu:zinc') - event.add('tfc:usable_in_ingot_mold', 'gtceu:sterling_silver') - event.add('tfc:usable_in_ingot_mold', 'gtceu:wrought_iron') - event.add('tfc:usable_in_ingot_mold', 'gtceu:iron') - event.add('tfc:usable_in_ingot_mold', 'gtceu:steel') - event.add('tfc:usable_in_ingot_mold', 'gtceu:black_steel') - event.add('tfc:usable_in_ingot_mold', 'gtceu:blue_steel') - event.add('tfc:usable_in_ingot_mold', 'gtceu:red_steel') + // Добавление GTCEu металлов в форму слитков + event.add("tfc:usable_in_ingot_mold", "gtceu:bismuth"); + event.add("tfc:usable_in_ingot_mold", "gtceu:bismuth_bronze"); + event.add("tfc:usable_in_ingot_mold", "gtceu:black_bronze"); + event.add("tfc:usable_in_ingot_mold", "gtceu:bronze"); + event.add("tfc:usable_in_ingot_mold", "gtceu:brass"); + event.add("tfc:usable_in_ingot_mold", "gtceu:copper"); + event.add("tfc:usable_in_ingot_mold", "gtceu:gold"); + event.add("tfc:usable_in_ingot_mold", "gtceu:nickel"); + event.add("tfc:usable_in_ingot_mold", "gtceu:rose_gold"); + event.add("tfc:usable_in_ingot_mold", "gtceu:silver"); + event.add("tfc:usable_in_ingot_mold", "gtceu:tin"); + event.add("tfc:usable_in_ingot_mold", "gtceu:zinc"); + event.add("tfc:usable_in_ingot_mold", "gtceu:sterling_silver"); + event.add("tfc:usable_in_ingot_mold", "gtceu:wrought_iron"); + event.add("tfc:usable_in_ingot_mold", "gtceu:iron"); + event.add("tfc:usable_in_ingot_mold", "gtceu:steel"); + event.add("tfc:usable_in_ingot_mold", "gtceu:black_steel"); + event.add("tfc:usable_in_ingot_mold", "gtceu:blue_steel"); + event.add("tfc:usable_in_ingot_mold", "gtceu:red_steel"); - event.add('tfc:usable_in_ingot_mold', 'gtceu:red_alloy') - event.add('tfc:usable_in_ingot_mold', 'gtceu:tin_alloy') - event.add('tfc:usable_in_ingot_mold', 'gtceu:lead') - event.add('tfc:usable_in_ingot_mold', 'gtceu:invar') - event.add('tfc:usable_in_ingot_mold', 'gtceu:potin') - event.add('tfc:usable_in_ingot_mold', 'gtceu:cobalt') - event.add('tfc:usable_in_ingot_mold', 'gtceu:cobalt_brass') - event.add('tfc:usable_in_ingot_mold', 'gtceu:aluminium_silicate') + event.add("tfc:usable_in_ingot_mold", "gtceu:red_alloy"); + event.add("tfc:usable_in_ingot_mold", "gtceu:tin_alloy"); + event.add("tfc:usable_in_ingot_mold", "gtceu:lead"); + event.add("tfc:usable_in_ingot_mold", "gtceu:invar"); + event.add("tfc:usable_in_ingot_mold", "gtceu:potin"); + event.add("tfc:usable_in_ingot_mold", "gtceu:cobalt"); + event.add("tfc:usable_in_ingot_mold", "gtceu:cobalt_brass"); + event.add("tfc:usable_in_ingot_mold", "gtceu:aluminium_silicate"); - event.add('tfc:usable_in_bell_mold', 'gtceu:bronze') - event.add('tfc:usable_in_bell_mold', 'gtceu:gold') - event.add('tfc:usable_in_bell_mold', 'gtceu:brass') + event.add("tfc:usable_in_bell_mold", "gtceu:bronze"); + event.add("tfc:usable_in_bell_mold", "gtceu:gold"); + event.add("tfc:usable_in_bell_mold", "gtceu:brass"); - event.add('tfc:usable_in_tool_head_mold', 'gtceu:copper') - event.add('tfc:usable_in_tool_head_mold', 'gtceu:bismuth_bronze') - event.add('tfc:usable_in_tool_head_mold', 'gtceu:black_bronze') - event.add('tfc:usable_in_tool_head_mold', 'gtceu:bronze') + event.add("tfc:usable_in_tool_head_mold", "gtceu:copper"); + event.add("tfc:usable_in_tool_head_mold", "gtceu:bismuth_bronze"); + event.add("tfc:usable_in_tool_head_mold", "gtceu:black_bronze"); + event.add("tfc:usable_in_tool_head_mold", "gtceu:bronze"); - event.add('tfc:usable_in_barrel', 'gtceu:creosote') - event.add('tfc:usable_in_wooden_bucket', 'gtceu:creosote') - event.add('tfc:usable_in_red_steel_bucket', 'gtceu:creosote') - event.add('tfc:usable_in_blue_steel_bucket', 'gtceu:creosote') + event.add("tfc:usable_in_barrel", "gtceu:creosote"); + event.add("tfc:usable_in_wooden_bucket", "gtceu:creosote"); + event.add("tfc:usable_in_red_steel_bucket", "gtceu:creosote"); + event.add("tfc:usable_in_blue_steel_bucket", "gtceu:creosote"); - event.add('tfc:usable_in_barrel', 'gtceu:ice') - event.add('tfc:usable_in_pot', 'gtceu:ice') - event.add('tfc:usable_in_wooden_bucket', 'gtceu:ice') - event.add('tfc:usable_in_red_steel_bucket', 'gtceu:ice') + event.add("tfc:usable_in_barrel", "gtceu:ice"); + event.add("tfc:usable_in_pot", "gtceu:ice"); + event.add("tfc:usable_in_wooden_bucket", "gtceu:ice"); + event.add("tfc:usable_in_red_steel_bucket", "gtceu:ice"); - event.add('tfc:usable_in_barrel', 'gtceu:glue') - event.add('tfc:usable_in_wooden_bucket', 'gtceu:glue') - event.add('tfc:usable_in_blue_steel_bucket', 'tfc:spring_water') - event.add('tfc:usable_in_red_steel_bucket', 'gtceu:glue') + event.add("tfc:usable_in_barrel", "gtceu:glue"); + event.add("tfc:usable_in_wooden_bucket", "gtceu:glue"); + event.add("tfc:usable_in_blue_steel_bucket", "tfc:spring_water"); + event.add("tfc:usable_in_red_steel_bucket", "gtceu:glue"); - event.add('tfc:ingredients', 'tfc:spring_water') - event.add('tfc:usable_in_barrel', 'tfc:spring_water') - event.add('tfc:usable_in_wooden_bucket', 'tfc:spring_water') - event.add('tfc:usable_in_blue_steel_bucket', 'tfc:spring_water') - event.add('tfc:usable_in_red_steel_bucket', 'tfc:spring_water') + event.add("tfc:ingredients", "tfc:spring_water"); + event.add("tfc:usable_in_barrel", "tfc:spring_water"); + event.add("tfc:usable_in_wooden_bucket", "tfc:spring_water"); + event.add("tfc:usable_in_blue_steel_bucket", "tfc:spring_water"); + event.add("tfc:usable_in_red_steel_bucket", "tfc:spring_water"); - event.add('tfc:alcohols', "tfcagedalcohol:aged_beer") - event.add('tfc:alcohols', "tfcagedalcohol:aged_cider") - event.add('tfc:alcohols', "tfcagedalcohol:aged_rum") - event.add('tfc:alcohols', "tfcagedalcohol:aged_sake") - event.add('tfc:alcohols', "tfcagedalcohol:aged_vodka") - event.add('tfc:alcohols', "tfcagedalcohol:aged_whiskey") - event.add('tfc:alcohols', "tfcagedalcohol:aged_corn_whiskey") - event.add('tfc:alcohols', "tfcagedalcohol:aged_rye_whiskey") + event.add("tfc:alcohols", "tfcagedalcohol:aged_beer"); + event.add("tfc:alcohols", "tfcagedalcohol:aged_cider"); + event.add("tfc:alcohols", "tfcagedalcohol:aged_rum"); + event.add("tfc:alcohols", "tfcagedalcohol:aged_sake"); + event.add("tfc:alcohols", "tfcagedalcohol:aged_vodka"); + event.add("tfc:alcohols", "tfcagedalcohol:aged_whiskey"); + event.add("tfc:alcohols", "tfcagedalcohol:aged_corn_whiskey"); + event.add("tfc:alcohols", "tfcagedalcohol:aged_rye_whiskey"); - // Добавляем тег для скрытия в EMI - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth_bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/black_bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/brass') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/copper') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/gold') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/nickel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/rose_gold') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/silver') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/tin') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/zinc') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/sterling_silver') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/wrought_iron') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/black_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/red_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/blue_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/cast_iron') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_black_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_red_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_blue_steel') + // Добавляем тег для скрытия в EMI + event.add("c:hidden_from_recipe_viewers", "tfc:metal/bismuth"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/bismuth_bronze"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/bronze"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/black_bronze"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/brass"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/copper"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/gold"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/nickel"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/rose_gold"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/silver"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/tin"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/zinc"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/sterling_silver"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/wrought_iron"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/steel"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/black_steel"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/red_steel"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/blue_steel"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/cast_iron"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_steel"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_black_steel"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_red_steel"); + event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_blue_steel"); } -const registerTFCBiomeTags = (event) => { - - event.add('tfc:kaolin_clay_spawns_in', 'tfc:rolling_hills') +/** @param {TagEvent.Biome} event */ +function registerTFCBiomeTags(event) { + event.add("tfc:kaolin_clay_spawns_in", "tfc:rolling_hills"); } -const registerTFCPlacedFeatures = (event) => { +/** @param {TagEvent.PlacedFeature} event */ +function registerTFCPlacedFeatures(event) { + // Add back the non-ore ones + event.add("tfc:in_biome/veins", "tfc:vein/gravel"); + event.add("tfc:in_biome/veins", "tfc:vein/kaolin_disc"); + event.add("tfc:in_biome/veins", "tfc:vein/granite_dike"); + event.add("tfc:in_biome/veins", "tfc:vein/diorite_dike"); + event.add("tfc:in_biome/veins", "tfc:vein/gabbro_dike"); - // Add back the non-ore ones - event.add('tfc:in_biome/veins', 'tfc:vein/gravel') - event.add('tfc:in_biome/veins', 'tfc:vein/kaolin_disc') - event.add('tfc:in_biome/veins', 'tfc:vein/granite_dike') - event.add('tfc:in_biome/veins', 'tfc:vein/diorite_dike') - event.add('tfc:in_biome/veins', 'tfc:vein/gabbro_dike') + // Geodes + event.add("tfc:in_biome/veins", "tfg:earth/geode/amethyst"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/barite"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/calcite"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/gypsum"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/opal"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/pyrite"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/quartzite"); - // Geodes - event.add('tfc:in_biome/veins', 'tfg:earth/geode/amethyst') - event.add('tfc:in_biome/veins', 'tfg:earth/geode/barite') - event.add('tfc:in_biome/veins', 'tfg:earth/geode/calcite') - event.add('tfc:in_biome/veins', 'tfg:earth/geode/gypsum') - event.add('tfc:in_biome/veins', 'tfg:earth/geode/opal') - event.add('tfc:in_biome/veins', 'tfg:earth/geode/pyrite') - event.add('tfc:in_biome/veins', 'tfg:earth/geode/quartzite') + // Crops + event.add("tfc:feature/crops", "tfg:earth/sunflower_patch"); + event.add("tfc:feature/crops", "tfg:earth/rapeseed_patch"); + event.add("tfc:feature/crops", "tfg:earth/flax_patch"); - // Crops - event.add('tfc:feature/crops', 'tfg:earth/sunflower_patch') - event.add('tfc:feature/crops', 'tfg:earth/rapeseed_patch') - event.add('tfc:feature/crops', 'tfg:earth/flax_patch') - - // Other decoration - event.add('tfc:in_biome/underground_decoration', 'tfg:glow_lichen') - event.add('tfc:in_biome/underground_decoration', 'tfg:earth/sulfur_patch') -} \ No newline at end of file + // Other decoration + event.add("tfc:in_biome/underground_decoration", "tfg:glow_lichen"); + event.add("tfc:in_biome/underground_decoration", "tfg:earth/sulfur_patch"); +} diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 4fe84fcf7..82cc04185 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -1,664 +1,857 @@ // priority: 0 "use strict"; +/** @param {Internal.TFCDataEventJS} event */ function registerTFCDataForTFG(event) { - registerTFGHeatData(event); - registerTFGItemSize(event); - registerTFGSupportData(event); - registerTFGFoodData(event); - registerTFGCropRanges(event); - registerTFGFLPlanters(event); + registerTFGHeatData(event); + registerTFGItemSize(event); + registerTFGSupportData(event); + registerTFGFoodData(event); + registerTFGCropRanges(event); + registerTFGFLPlanters(event); } +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGHeatData(event) { + event.itemHeat("tfg:latex_soaked_gloves", 1, null, null); -const registerTFGHeatData = (event) => { - event.itemHeat('tfg:latex_soaked_gloves', 1.0, null, null) + global.MINECRAFT_DYE_NAMES.forEach((color) => { + event.itemHeat(`tfg:decorative_vase/unfired/${color}`, 1, null, null); + }); + event.itemHeat("tfg:decorative_vase/unfired", 1, null, null); - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.itemHeat(`tfg:decorative_vase/unfired/${color}`, 1.0, null, null) - }) - event.itemHeat('tfg:decorative_vase/unfired', 1.0, null, null) - - event.itemHeat('tfg:sunflower_product', 1.0, null, null) - event.itemHeat('tfg:roasted_sunflower_seeds', 1.0, null, null) - event.itemHeat('#tfc:powders', 1.0, null, null) + event.itemHeat("tfg:sunflower_product", 1, null, null); + event.itemHeat("tfg:roasted_sunflower_seeds", 1, null, null); + event.itemHeat("#tfc:powders", 1, null, null); } +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGItemSize(event) { + /** + * Turns an array of items into an ingredient that is an alternative of items in the array. + * @param {Internal.Ingredient_[]} items Items to to take. + * @returns {Internal.Ingredient} + */ + function orArray(items) { + // I hate type wrapping + return /** @type {Internal.Ingredient[]} */ (items).reduce( + (/** @type {Internal.Ingredient} */ previous, current) => previous.or(current), + Ingredient.none + ); + } -const registerTFGItemSize = (event) => { + global.MINECRAFT_DYE_NAMES.forEach((color) => { + event.itemSize(`tfg:decorative_vase/${color}`, "normal", "medium", `decorative_vase/${color}`); + event.itemSize(`tfg:decorative_vase/unfired/${color}`, "normal", "medium", `decorative_vase/unfired/${color}`); + }); + event.itemSize("tfg:decorative_vase", "normal", "medium", "decorative_vase"); + event.itemSize("tfg:decorative_vase/unfired", "normal", "medium", "decorative_vase/unfired"); - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.itemSize(`tfg:decorative_vase/${color}`, 'normal', 'medium', `decorative_vase/${color}`) - event.itemSize(`tfg:decorative_vase/unfired/${color}`, 'normal', 'medium', `decorative_vase/unfired/${color}`) - }) - event.itemSize('tfg:decorative_vase', 'normal', 'medium', 'decorative_vase') - event.itemSize('tfg:decorative_vase/unfired', 'normal', 'medium', 'decorative_vase/unfired') + event.itemSize("tfg:fishing_net/wood", "large", "medium", "wood_fishing_net"); + event.itemSize("tfg:fishing_net/brass", "large", "medium", "brass_fishing_net"); + event.itemSize("tfg:fishing_net/rose_gold", "large", "medium", "rose_gold_fishing_net"); + event.itemSize("tfg:fishing_net/sterling_silver", "large", "medium", "sterling_silver_fishing_net"); + event.itemSize("tfg:fishing_net/invar", "large", "medium", "invar_fishing_net"); + event.itemSize("tfg:fishing_net/cupronickel", "large", "medium", "cupronickel_fishing_net"); + event.itemSize("tfg:fishing_net/tin_alloy", "large", "medium", "tin_alloy_fishing_net"); + event.itemSize("tfg:fishing_net/magnalium", "large", "medium", "magnalium_fishing_net"); - event.itemSize('tfg:fishing_net/wood', 'large', 'medium', 'wood_fishing_net') - event.itemSize('tfg:fishing_net/brass', 'large', 'medium', 'brass_fishing_net') - event.itemSize('tfg:fishing_net/rose_gold', 'large', 'medium', 'rose_gold_fishing_net') - event.itemSize('tfg:fishing_net/sterling_silver', 'large', 'medium', 'sterling_silver_fishing_net') - event.itemSize('tfg:fishing_net/invar', 'large', 'medium', 'invar_fishing_net') - event.itemSize('tfg:fishing_net/cupronickel', 'large', 'medium', 'cupronickel_fishing_net') - event.itemSize('tfg:fishing_net/tin_alloy', 'large', 'medium', 'tin_alloy_fishing_net') - event.itemSize('tfg:fishing_net/magnalium', 'large', 'medium', 'magnalium_fishing_net') + event.itemSize("tfg:trowel", "large", "medium", "trowel"); - event.itemSize('tfg:trowel', 'large', 'medium', 'trowel') + event.itemSize("tfg:railgun_ammo_shell", "large", "heavy", "trowel"); - event.itemSize('tfg:railgun_ammo_shell', 'large', 'heavy', 'trowel') + event.itemSize("tfg:harvest_basket", "large", "medium", "harvest_basket"); + event.itemSize("tfg:aluminium_harvest_basket", "large", "medium", "aluminium_harvest_basket"); - event.itemSize('tfg:harvest_basket', 'large', 'medium', 'harvest_basket') - event.itemSize('tfg:aluminium_harvest_basket', 'large', 'medium', 'aluminium_harvest_basket') + event.itemSize("tfg:rapeseed_product", "small", "light", "rapeseed_product"); + event.itemSize("tfg:sunflower_product", "small", "light", "sunflower_product"); + event.itemSize("betterend:amber_root_product", "small", "light", "amber_roots"); + event.itemSize("betterend:blossom_berry_product", "small", "light", "amber_roots"); + event.itemSize("betterend:cave_pumpkin", "small", "light", "amber_roots"); + event.itemSize("betterend:chorus_mushroom_product", "small", "light", "amber_roots"); + event.itemSize("betterend:shadow_berry_product", "small", "light", "amber_roots"); - event.itemSize('tfg:rapeseed_product', 'small', 'light', 'rapeseed_product') - event.itemSize('tfg:sunflower_product', 'small', 'light', 'sunflower_product') - event.itemSize('betterend:amber_root_product', 'small', 'light', 'amber_roots') - event.itemSize('betterend:blossom_berry_product', 'small', 'light', 'amber_roots') - event.itemSize('betterend:cave_pumpkin', 'small', 'light', 'amber_roots') - event.itemSize('betterend:chorus_mushroom_product', 'small', 'light', 'amber_roots') - event.itemSize('betterend:shadow_berry_product', 'small', 'light', 'amber_roots') + event.itemSize(Ingredient.of("#minecraft:buttons"), "very_small", "very_light", "buttons"); + event.itemSize(Ingredient.of("#forge:buzz_saw_heads"), "large", "heavy", "buzz_saw_blades"); + event.itemSize( + Ingredient.of("#minecraft:wool_carpets").or("#domum_ornamentum:floating_carpet"), + "small", + "very_light", + "carpets" + ); + event.itemSize("create:chain_conveyor", "large", "medium", "chain_conveyor"); + event.itemSize("create:flywheel", "large", "medium", "flywheel"); + event.itemSize("create:large_water_wheel", "very_large", "heavy", "large_water_wheel"); + event.itemSize("create:water_wheel", "large", "medium", "water_wheel"); + event.itemSize(Ingredient.of("#forge:dense_plates"), "large", "medium", "dense_plates"); + event.itemSize(Ingredient.of("#forge:dusts"), "small", "very_light", "dusts"); + event.itemSize(Ingredient.of("#forge:pure_dusts"), "small", "very_light", "pure_dusts"); + event.itemSize(Ingredient.of("#forge:impure_dusts"), "small", "very_light", "impure_dusts"); + event.itemSize(orArray(global.FRAMED_HALF_BLOCKS), "small", "very_light", "framed_half_blocks"); + event.itemSize(orArray(global.FRAMED_TINY_BLOCKS), "very_small", "very_light", "framed_tiny_blocks"); + event.itemSize(Ingredient.of("#forge:gears"), "large", "heavy", "gears"); + event.itemSize(Ingredient.of("#forge:glass_panes"), "small", "very_light", "glass_panes"); + event.itemSize(Ingredient.of("#greate:crushing_wheels"), "large", "medium", "crushing_wheels"); + event.itemSize(Ingredient.of("#gtceu:molds"), "large", "heavy", "gregtech_molds"); + event.itemSize(Ingredient.of("#forge:hot_ingots"), "large", "medium", "hot_ingots"); + event.itemSize(Ingredient.of("#forge:rods/long"), "large", "medium", "long_rods"); + event.itemSize(Ingredient.of("#tfg:metal_bars"), "small", "very_light", "metal_bars"); + event.itemSize( + Ingredient.of("#tfc:mud_bricks").or("#tfc:wet_mud_bricks"), + "very_small", + "very_light", + "mud_bricks" + ); + event.itemSize(Ingredient.of("#forge:rotors"), "normal", "medium", "rotors"); + event.itemSize(Ingredient.of("#forge:small_gears"), "normal", "medium", "small_gears"); + event.itemSize(Ingredient.of("#forge:small_springs"), "small", "very_light", "small_springs"); + event.itemSize(Ingredient.of("#forge:springs"), "large", "medium", "springs"); + event.itemSize( + Ingredient.of("#forge:storage_blocks").subtract( + orArray([ + "minecraft:stone", + "minecraft:bricks", + "minecraft:quartz_block", + "minecraft:amethyst_block", + "minecraft:glass", + "minecraft:clay", + "minecraft:ice", + "minecraft:bone_block", + "minecraft:obsidian", + "minecraft:glowstone", + "ae2:quartz_block", + "gtceu:red_granite", + "gtceu:light_concrete", + "gtceu:dark_concrete", + "create:cardboard_block", + ]) + ), + "large", + "medium", + "storage_blocks" + ); + event.itemSize(Ingredient.of("#forge:turbine_blades"), "large", "heavy", "turbine_blades"); + event.itemSize("gtceu:turbine_rotor", "very_large", "very_heavy", "turbine_rotors"); + event.itemSize("vintageimprovements:centrifuge", "very_large", "heavy", "vintage_centrifuge"); + event.itemSize("vintageimprovements:helve_hammer", "large", "medium", "vintage_helve_hammer"); + event.itemSize("vintageimprovements:lathe", "normal", "medium", "vintage_lathe"); + event.itemSize(Ingredient.of("#forge:whisks"), "large", "medium", "whisks"); + + // Fluid pipes + event.itemSize(Ingredient.of("#forge:tiny_fluid_pipes"), "tiny", "very_light", "tiny_fluid_pipes"); + event.itemSize(Ingredient.of("#forge:small_fluid_pipes"), "very_small", "very_light", "small_fluid_pipes"); + event.itemSize(Ingredient.of("#forge:large_fluid_pipes"), "normal", "light", "large_fluid_pipes"); + event.itemSize(Ingredient.of("#forge:huge_fluid_pipes"), "normal", "medium", "huge_fluid_pipes"); + event.itemSize( + Ingredient.of("#forge:quadruple_fluid_pipes").or("#forge:nonuple_fluid_pipes"), + "normal", + "medium", + "multiple_fluid_pipes" + ); + + // Item pipes + event.itemSize( + Ingredient.of("#forge:small_item_pipes").or("#forge:small_restrictive_pipes"), + "very_small", + "very_light", + "small_item_pipes" + ); + event.itemSize( + Ingredient.of("#forge:large_item_pipes").or("#forge:large_restrictive_pipes"), + "normal", + "light", + "large_item_pipes" + ); + event.itemSize( + Ingredient.of("#forge:huge_item_pipes").or("#forge:huge_restrictive_pipes"), + "normal", + "medium", + "huge_item_pipes" + ); + + // Air ducts + event.itemSize("gtceu:small_duct_pipe", "very_small", "very_light", "small_duct_pipe"); + event.itemSize("gtceu:large_duct_pipe", "normal", "light", "large_duct_pipe"); + event.itemSize("gtceu:huge_duct_pipe", "normal", "medium", "huge_duct_pipe"); + + // Cables + event.itemSize(Ingredient.of("#forge:single_cables").or("#forge:single_wires"), "tiny", "very_light", "cables_1x"); + event.itemSize( + Ingredient.of("#forge:double_cables").or("#forge:double_wires"), + "very_small", + "very_light", + "cables_2x" + ); + event.itemSize(Ingredient.of("#forge:octal_cables").or("#forge:octal_wires"), "normal", "light", "cables_8x"); + event.itemSize(Ingredient.of("#forge:hex_cables").or("#forge:hex_wires"), "normal", "medium", "cables_16x"); + event.itemSize("computercraft:cable", "tiny", "very_light", "networking_cable"); + event.itemSize("gtceu:normal_optical_pipe", "very_small", "very_light", "optical_fiber_cable"); + event.itemSize( + Ingredient.of("#ae2:glass_cable").or("#ae2:covered_cable").or("#ae2:smart_cable"), + "very_small", + "very_light", + "me_cables" + ); + event.itemSize( + Ingredient.of("#ae2:covered_dense_cable").or("#ae2:smart_dense_cable"), + "normal", + "light", + "me_dense_cables" + ); + event.itemSize( + orArray([ + "ae2:quartz_fixture", + "ae2:light_detector", + "ae2:wireless_access_point", + "ae2:quartz_fiber", + "ae2:toggle_bus", + "ae2:inverted_toggle_bus", + "ae2:cable_anchor", + "ae2:level_emitter", + "ae2:energy_level_emitter", + "expatternprovider:threshold_level_emitter", + ]), + "tiny", + "very_light", + "ae2_tiny_parts" + ); + event.itemSize( + orArray([ + "ae2:monitor", + "ae2:semi_dark_monitor", + "ae2:dark_monitor", + "ae2:storage_bus", + "ae2:import_bus", + "ae2:export_bus", + "ae2:annihilation_plane", + "ae2:formation_plane", + "ae2:pattern_encoding_terminal", + "ae2:crafting_terminal", + "ae2:terminal", + "ae2:storage_monitor", + "ae2:conversion_monitor", + "ae2:cable_pattern_provider", + "ae2:cable_interface", + "ae2:pattern_access_terminal", + "ae2:cable_energy_acceptor", + "ae2:me_p2p_tunnel", + "ae2:redstone_p2p_tunnel", + "ae2:item_p2p_tunnel", + "ae2:fluid_p2p_tunnel", + "ae2:light_p2p_tunnel", + "ae2:facade", + "expatternprovider:ex_interface_part", + "expatternprovider:ex_export_bus_part", + "expatternprovider:ex_import_bus_part", + "expatternprovider:ex_pattern_access_part", + "expatternprovider:tag_storage_bus", + "expatternprovider:tag_export_bus", + "expatternprovider:mod_storage_bus", + "expatternprovider:mod_export_bus", + "expatternprovider:active_formation_plane", + "expatternprovider:precise_export_bus", + "expatternprovider:precise_storage_bus", + "expatternprovider:threshold_export_bus", + "expatternprovider:oversize_interface_part", + ]), + "very_small", + "very_light", + "ae2_small_parts" + ); } - //up, down, horizontal -const registerTFGSupportData = (event) => { - event.support('tfg:light_concrete_support_horizontal', 4, 4, 8, 'light_concrete_support') - event.support('tfg:dark_concrete_support_horizontal', 4, 4, 8, 'dark_concrete_support') - event.support('tfg:reinforced_light_concrete_support_horizontal', 6, 6, 16, 'reinforced_light_concrete_support') - event.support('tfg:reinforced_dark_concrete_support_horizontal', 6, 6, 16, 'reinforced_dark_concrete_support') - event.support('tfg:rebar_support_horizontal', 4, 4, 8, 'rebar_support') - event.support('tfg:steel_support_horizontal', 6, 6, 16, 'steel_support') +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGSupportData(event) { + event.support("tfg:light_concrete_support_horizontal", 4, 4, 8, "light_concrete_support"); + event.support("tfg:dark_concrete_support_horizontal", 4, 4, 8, "dark_concrete_support"); + event.support("tfg:reinforced_light_concrete_support_horizontal", 6, 6, 16, "reinforced_light_concrete_support"); + event.support("tfg:reinforced_dark_concrete_support_horizontal", 6, 6, 16, "reinforced_dark_concrete_support"); + event.support("tfg:rebar_support_horizontal", 4, 4, 8, "rebar_support"); + event.support("tfg:steel_support_horizontal", 6, 6, 16, "steel_support"); - const other_stone = ['pyroxenite', 'migmatite', 'travertine'] - const stone_types = global.TFC_STONE_TYPES.concat(other_stone) + const other_stone = ["pyroxenite", "migmatite", "travertine"]; + const stone_types = global.TFC_STONE_TYPES.concat(other_stone); - stone_types.forEach(stone => { + stone_types.forEach((stone) => { + event.support(`tfg:${stone}_support_horizontal`, 2, 2, 4, `${stone}_support`); + }); - event.support(`tfg:${stone}_support_horizontal`, 2, 2, 4, `${stone}_support`) - }) + global.AD_ASTRA_WOOD.forEach((wood) => { + event.support(`tfg:${wood.name}_support_horizontal`, 2, 2, 4, `${wood.name}_support`); + }); +} +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGFoodData(event) { + // meats - global.AD_ASTRA_WOOD.forEach(wood => { - event.support(`tfg:${wood.name}_support_horizontal`, 2, 2, 4, `${wood.name}_support`) - }) + event.foodItem("tfg:food/raw_birt", (food) => { + food.hunger(4); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_birt", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(2.5); + food.decayModifier(2.25); + }); + + event.foodItem("tfg:food/raw_crawlermari", (food) => { + food.hunger(4); + food.water(5); + food.protein(1.1); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_crawlermari", (food) => { + food.hunger(4); + food.saturation(2); + food.protein(2.2); + food.decayModifier(2.25); + }); + + event.foodItem("tfg:food/raw_limpet", (food) => { + food.hunger(4); + food.water(5); + food.protein(1.2); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_limpet", (food) => { + food.hunger(5); + food.saturation(2); + food.protein(2.4); + food.decayModifier(2.25); + }); + + event.foodItem("tfg:food/raw_moon_rabbit", (food) => { + food.hunger(3); + food.protein(2.0); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_moon_rabbit", (food) => { + food.hunger(6); + food.saturation(2.5); + food.protein(5); + food.decayModifier(2.25); + }); + + event.foodItem("tfg:food/raw_glacian_mutton", (food) => { + food.hunger(3); + food.protein(2.0); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_glacian_mutton", (food) => { + food.hunger(6); + food.saturation(3); + food.protein(5); + food.decayModifier(1.5); + }); + + event.foodItem("tfg:food/raw_sniffer_beef", (food) => { + food.hunger(3); + food.protein(2.0); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_sniffer_beef", (food) => { + food.hunger(6); + food.saturation(4); + food.protein(7); + food.decayModifier(1.5); + }); + + event.foodItem("tfg:food/raw_wraptor", (food) => { + food.hunger(3); + food.protein(2.0); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_wraptor", (food) => { + food.hunger(6); + food.saturation(4); + food.protein(5); + food.decayModifier(1.5); + }); + + event.foodItem("tfg:food/raw_springling_chops", (food) => { + food.hunger(2); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_springling_chops", (food) => { + food.hunger(4); + food.saturation(3); + food.protein(5); + food.decayModifier(1.5); + }); + + event.foodItem("tfg:food/raw_walker_steak", (food) => { + food.hunger(3); + food.protein(2.0); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_walker_steak", (food) => { + food.hunger(6); + food.saturation(3); + food.protein(8); + food.decayModifier(1.5); + }); + + event.foodItem("tfg:food/raw_glider_wings", (food) => { + food.hunger(1); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_glider_wings", (food) => { + food.hunger(3); + food.saturation(3); + food.protein(3); + food.decayModifier(1.5); + }); + + event.foodItem("tfg:food/raw_whole_soarer", (food) => { + food.hunger(3); + food.protein(2.0); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_whole_soarer", (food) => { + food.hunger(6); + food.saturation(6); + food.protein(4); + food.decayModifier(1.5); + }); + + event.foodItem("tfg:food/raw_crusher_meat", (food) => { + food.hunger(3); + food.protein(1.5); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_crusher_meat", (food) => { + food.hunger(5); + food.saturation(6); + food.protein(4); + food.decayModifier(1.5); + }); + + event.foodItem("tfg:food/raw_goober_meat", (food) => { + food.hunger(2); + food.protein(3.0); + food.decayModifier(3); + }); + + event.foodItem("tfg:food/cooked_goober_meat", (food) => { + food.hunger(4); + food.saturation(3); + food.protein(6); + food.decayModifier(1.5); + }); + + // high-tech food + + global.FOOD_FRUIT.forEach((fruit) => { + event.foodItem(`tfg:food/freeze_dried/${fruit.name}`, (food) => { + food.hunger(4); + food.saturation(fruit.saturation); + food.water(0); + food.fruit(fruit.fruit); + food.decayModifier(fruit.decay); + }); + }); + + event.foodItem("tfg:food/calorie_paste", (food) => { + food.hunger(6); + food.saturation(4); + food.decayModifier(4.5); + food.grain(0.1); + food.vegetables(0.2); + food.protein(0.2); + }); + + event.foodItem("tfg:food/meal_bag", (food) => { + food.type("dynamic"); + }); + + // crops + + event.foodItem("tfg:roasted_sunflower_seeds", (food) => { + food.hunger(4); + food.decayModifier(0.5); + food.grain(0.1); + food.saturation(0.5); + }); + + event.foodItem("tfg:sunflower_product", (food) => { + food.decayModifier(0.5); + }); + + event.foodItem("betterend:amber_root_product", (food) => { + food.hunger(4); + food.decayModifier(1); + food.saturation(1); + food.grain(3); + }); + + event.foodItem("betterend:blossom_berry_product", (food) => { + food.hunger(5); + food.decayModifier(2); + food.saturation(1); + food.water(7.5); + food.fruit(1.5); + }); + + event.foodItem("betterend:cave_pumpkin", (food) => { + food.hunger(4); + food.saturation(0); + food.decayModifier(0.5); + }); + + event.foodItem("betterend:cave_pumpkin_chunks", (food) => { + food.hunger(4); + food.saturation(1); + food.decayModifier(2.5); + food.water(5); + food.fruit(0.8); + }); + + event.foodItem("betterend:cave_pumpkin_pie_dough", (food) => { + food.hunger(2); + food.decayModifier(3); + }); + + event.foodItem("betterend:cave_pumpkin_pie_raw", (food) => { + food.hunger(2); + food.decayModifier(3); + }); + + event.foodItem("betterend:cave_pumpkin_pie", (food) => { + food.hunger(4); + food.saturation(4); + food.decayModifier(2); + food.water(5); + food.fruit(4); + food.grain(2); + }); + + event.foodItem("betterend:chorus_mushroom_product", (food) => { + food.hunger(2); + food.saturation(1); + food.decayModifier(3); + food.water(3); + food.vegetables(1.5); + }); + + event.foodItem("betterend:chorus_mushroom_cooked", (food) => { + food.hunger(2); + food.saturation(2.5); + food.decayModifier(1.5); + food.vegetables(2); + }); + + event.foodItem("betterend:shadow_berry_product", (food) => { + food.hunger(5); + food.decayModifier(2); + food.saturation(1); + food.water(5); + food.fruit(1.5); + }); + + event.foodItem("betterend:shadow_berry_cooked", (food) => { + food.hunger(5); + food.decayModifier(1); + food.saturation(2); + food.fruit(2); + }); + + event.foodItem("betterend:bolux_mushroom_product", (food) => { + food.hunger(2); + food.saturation(1); + food.decayModifier(3); + food.water(3); + food.vegetables(1.5); + }); + + event.foodItem("betterend:bolux_mushroom_cooked", (food) => { + food.hunger(2); + food.saturation(2.5); + food.decayModifier(1.5); + food.vegetables(2); + }); + + // misc + + event.foodItem("tfg:food/ice_soup", (food) => { + food.hunger(1); + food.water(20); + food.decayModifier(0); + }); + + event.drinkable("tfg:semiheavy_ammoniacal_water", (data) => { + data.thirst(10); + data.effect("minecraft:nausea", (effect) => { + effect.chance(0.5); + effect.duration(200); + }); + }); } +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGCropRanges(event) { + // Earth + event.climateRange((climate) => { + climate.minHydration(20); + climate.maxHydration(80); + climate.minTemperature(5); + climate.maxTemperature(40); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "tfg:sunflower"); -const registerTFGFoodData = (event) => { + event.climateRange((climate) => { + climate.minHydration(10); + climate.maxHydration(60); + climate.minTemperature(-5); + climate.maxTemperature(25); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(1.5); + }, "tfg:rapeseed"); - // meats + event.climateRange((climate) => { + climate.minHydration(15); + climate.maxHydration(65); + climate.minTemperature(-8); + climate.maxTemperature(25); + climate.hydrationWiggle(6.5); + climate.temperatureWiggle(3); + }, "tfg:flax"); - event.foodItem('tfg:food/raw_birt', food => { - food.hunger(4) - food.protein(1.5) - food.decayModifier(3) - }) + // Mars + event.climateRange((climate) => { + climate.minHydration(0); + climate.maxHydration(40); + climate.minTemperature(-150); + climate.maxTemperature(15); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:amber_root"); - event.foodItem('tfg:food/cooked_birt', food => { - food.hunger(4) - food.saturation(2) - food.protein(2.5) - food.decayModifier(2.25) - }) + event.climateRange((climate) => { + climate.minHydration(0); + climate.maxHydration(100); + climate.minTemperature(-80); + climate.maxTemperature(30); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:blossom_berry"); - event.foodItem('tfg:food/raw_crawlermari', food => { - food.hunger(4) - food.water(5) - food.protein(1.1) - food.decayModifier(3) - }) + event.climateRange((climate) => { + climate.minHydration(0); + climate.maxHydration(40); + climate.minTemperature(-150); + climate.maxTemperature(15); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:bolux_mushroom"); - event.foodItem('tfg:food/cooked_crawlermari', food => { - food.hunger(4) - food.saturation(2) - food.protein(2.2) - food.decayModifier(2.25) - }) + event.climateRange((climate) => { + climate.minHydration(0); + climate.maxHydration(60); + climate.minTemperature(-100); + climate.maxTemperature(30); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:cave_pumpkin_plant"); - event.foodItem('tfg:food/raw_limpet', food => { - food.hunger(4) - food.water(5) - food.protein(1.2) - food.decayModifier(3) - }) + event.climateRange((climate) => { + climate.minHydration(0); + climate.maxHydration(40); + climate.minTemperature(-150); + climate.maxTemperature(15); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:chorus_mushroom"); - event.foodItem('tfg:food/cooked_limpet', food => { - food.hunger(5) - food.saturation(2) - food.protein(2.4) - food.decayModifier(2.25) - }) - - event.foodItem('tfg:food/raw_moon_rabbit', food => { - food.hunger(3) - food.protein(2.0) - food.decayModifier(3) - }) - - event.foodItem('tfg:food/cooked_moon_rabbit', food => { - food.hunger(6) - food.saturation(2.5) - food.protein(5) - food.decayModifier(2.25) - }) - - event.foodItem('tfg:food/raw_glacian_mutton', food => { - food.hunger(3) - food.protein(2.0) - food.decayModifier(3) - }) - - event.foodItem('tfg:food/cooked_glacian_mutton', food => { - food.hunger(6) - food.saturation(3) - food.protein(5) - food.decayModifier(1.5) - }) - - event.foodItem('tfg:food/raw_sniffer_beef', food => { - food.hunger(3) - food.protein(2.0) - food.decayModifier(3) - }) - - event.foodItem('tfg:food/cooked_sniffer_beef', food => { - food.hunger(6) - food.saturation(4) - food.protein(7) - food.decayModifier(1.5) - }) - - event.foodItem('tfg:food/raw_wraptor', food => { - food.hunger(3) - food.protein(2.0) - food.decayModifier(3) - }) - - event.foodItem('tfg:food/cooked_wraptor', food => { - food.hunger(6) - food.saturation(4) - food.protein(5) - food.decayModifier(1.5) - }) - - event.foodItem('tfg:food/raw_springling_chops', food => { - food.hunger(2) - food.protein(1.5) - food.decayModifier(3) - }) - - event.foodItem('tfg:food/cooked_springling_chops', food => { - food.hunger(4) - food.saturation(3) - food.protein(5) - food.decayModifier(1.5) - }) - - event.foodItem('tfg:food/raw_walker_steak', food => { - food.hunger(3) - food.protein(2.0) - food.decayModifier(3) - }) - - event.foodItem('tfg:food/cooked_walker_steak', food => { - food.hunger(6) - food.saturation(3) - food.protein(8) - food.decayModifier(1.5) - }) - - event.foodItem('tfg:food/raw_glider_wings', food => { - food.hunger(1) - food.protein(1.5) - food.decayModifier(3) - }) - - event.foodItem('tfg:food/cooked_glider_wings', food => { - food.hunger(3) - food.saturation(3) - food.protein(3) - food.decayModifier(1.5) - }) - - event.foodItem('tfg:food/raw_whole_soarer', food => { - food.hunger(3) - food.protein(2.0) - food.decayModifier(3) - }) - - event.foodItem('tfg:food/cooked_whole_soarer', food => { - food.hunger(6) - food.saturation(6) - food.protein(4) - food.decayModifier(1.5) - }) - - event.foodItem('tfg:food/raw_crusher_meat', food => { - food.hunger(3) - food.protein(1.5) - food.decayModifier(3) - }) - - event.foodItem('tfg:food/cooked_crusher_meat', food => { - food.hunger(5) - food.saturation(6) - food.protein(4) - food.decayModifier(1.5) - }) - - event.foodItem('tfg:food/raw_goober_meat', food => { - food.hunger(2) - food.protein(3.0) - food.decayModifier(3) - }) - - event.foodItem('tfg:food/cooked_goober_meat', food => { - food.hunger(4) - food.saturation(3) - food.protein(6) - food.decayModifier(1.5) - }) - - - - - - // high-tech food - - global.FOOD_FRUIT.forEach(fruit => { - event.foodItem(`tfg:food/freeze_dried/${fruit.name}`, food => { - food.hunger(4) - food.saturation(fruit.saturation) - food.water(0) - food.fruit(fruit.fruit) - food.decayModifier(fruit.decay) - }) - }) - - event.foodItem('tfg:food/calorie_paste', food => { - food.hunger(6) - food.saturation(4) - food.decayModifier(4.5) - food.grain(0.1) - food.vegetables(0.2) - food.protein(0.2) - }) - - event.foodItem('tfg:food/meal_bag', food => { - food.type('dynamic') - }) - - // crops - - event.foodItem('tfg:roasted_sunflower_seeds', food => { - food.hunger(4) - food.decayModifier(0.5) - food.grain(0.1) - food.saturation(0.5) - }) - - event.foodItem('tfg:sunflower_product', food => { - food.decayModifier(0.5) - }) - - event.foodItem('betterend:amber_root_product', food => { - food.hunger(4) - food.decayModifier(1) - food.saturation(1) - food.grain(3) - }) - - event.foodItem('betterend:blossom_berry_product', food => { - food.hunger(5) - food.decayModifier(2) - food.saturation(1) - food.water(7.5) - food.fruit(1.5) - }) - - event.foodItem('betterend:cave_pumpkin', food => { - food.hunger(4) - food.saturation(0) - food.decayModifier(0.5) - }) - - event.foodItem('betterend:cave_pumpkin_chunks', food => { - food.hunger(4) - food.saturation(1) - food.decayModifier(2.5) - food.water(5) - food.fruit(0.8) - }) - - event.foodItem('betterend:cave_pumpkin_pie_dough', food => { - food.hunger(2) - food.decayModifier(3) - }) - - event.foodItem('betterend:cave_pumpkin_pie_raw', food => { - food.hunger(2) - food.decayModifier(3) - }) - - event.foodItem('betterend:cave_pumpkin_pie', food => { - food.hunger(4) - food.saturation(4) - food.decayModifier(2) - food.water(5) - food.fruit(4) - food.grain(2) - }) - - event.foodItem('betterend:chorus_mushroom_product', food => { - food.hunger(2) - food.saturation(1) - food.decayModifier(3) - food.water(3) - food.vegetables(1.5) - }) - - event.foodItem('betterend:chorus_mushroom_cooked', food => { - food.hunger(2) - food.saturation(2.5) - food.decayModifier(1.5) - food.vegetables(2) - }) - - event.foodItem('betterend:shadow_berry_product', food => { - food.hunger(5) - food.decayModifier(2) - food.saturation(1) - food.water(5) - food.fruit(1.5) - }) - - event.foodItem('betterend:shadow_berry_cooked', food => { - food.hunger(5) - food.decayModifier(1) - food.saturation(2) - food.fruit(2) - }) - - event.foodItem('betterend:bolux_mushroom_product', food => { - food.hunger(2) - food.saturation(1) - food.decayModifier(3) - food.water(3) - food.vegetables(1.5) - }) - - event.foodItem('betterend:bolux_mushroom_cooked', food => { - food.hunger(2) - food.saturation(2.5) - food.decayModifier(1.5) - food.vegetables(2) - }) - - // misc - - event.foodItem('tfg:food/ice_soup', food => { - food.hunger(1) - food.water(20) - food.decayModifier(0) - }) - - event.drinkable('tfg:semiheavy_ammoniacal_water', data => { - data.thirst(10) - data.effect('minecraft:nausea', effect => { - effect.chance(0.5) - effect.duration(200) - }) - }) + event.climateRange((climate) => { + climate.minHydration(0); + climate.maxHydration(100); + climate.minTemperature(-80); + climate.maxTemperature(30); + climate.hydrationWiggle(7.5); + climate.temperatureWiggle(5.5); + }, "betterend:shadow_berry"); } +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGFLPlanters(event) { + event.firmalifePlantable( + "tfg:sunflower_seeds", + "large", + 0, + 3, + 0.15, + "tfg:sunflower_seeds", + "tfg:sunflower_product", + "nitrogen", + [ + "tfg:block/crop/sunflower_greenhouse_0", + "tfg:block/crop/sunflower_greenhouse_1", + "tfg:block/crop/sunflower_greenhouse_2", + "tfg:block/crop/sunflower_greenhouse_3", + ], + null + ); -const registerTFGCropRanges = (event) => { + event.firmalifePlantable( + "tfg:rapeseed_seeds", + "large", + 0, + 3, + 0.15, + "tfg:rapeseed_seeds", + "tfg:rapeseed_product", + "phosphorous", + [ + "tfg:block/crop/rapeseed_greenhouse_0", + "tfg:block/crop/rapeseed_greenhouse_1", + "tfg:block/crop/rapeseed_greenhouse_2", + "tfg:block/crop/rapeseed_greenhouse_3", + ], + null + ); - // Earth - event.climateRange(climate => { - climate.minHydration(20) - climate.maxHydration(80) - climate.minTemperature(5) - climate.maxTemperature(40) - climate.hydrationWiggle(7.5) - climate.temperatureWiggle(5.5) - }, 'tfg:sunflower') + event.firmalifePlantable( + "tfg:flax_seeds", + "large", + 0, + 3, + 0.2, + "tfg:flax_seeds", + "tfg:flax_product", + "nitrogen", + [ + "tfg:block/crop/flax_age_0", + "tfg:block/crop/flax_age_1", + "tfg:block/crop/flax_age_5_top", + "tfg:block/crop/flax_age_6_top", + ], + null + ); - event.climateRange(climate => { - climate.minHydration(10) - climate.maxHydration(60) - climate.minTemperature(-5) - climate.maxTemperature(25) - climate.hydrationWiggle(7.5) - climate.temperatureWiggle(1.5) - }, 'tfg:rapeseed') - - event.climateRange(climate => { - climate.minHydration(15) - climate.maxHydration(65) - climate.minTemperature(-8) - climate.maxTemperature(25) - climate.hydrationWiggle(6.5) - climate.temperatureWiggle(3) - }, 'tfg:flax') + event.firmalifePlantable( + "betterend:amber_root_seeds", + "large", + 0, + 3, + 0.15, + "betterend:amber_root_seeds", + "betterend:amber_root_product", + "phosphorous", + [ + "betterend:block/amber_root_0", + "betterend:block/amber_root_1", + "betterend:block/amber_root_2", + "betterend:block/amber_root_3", + ], + null + ); - // Mars - event.climateRange(climate => { - climate.minHydration(0) - climate.maxHydration(40) - climate.minTemperature(-150) - climate.maxTemperature(15) - climate.hydrationWiggle(7.5) - climate.temperatureWiggle(5.5) - }, 'betterend:amber_root') + event.firmalifePlantable( + "betterend:blossom_berry_seeds", + "large", + 0, + 3, + 0.15, + "betterend:blossom_berry_seeds", + "betterend:blossom_berry_product", + "potassium", + [ + "betterend:block/blossom_berry_seed_0", + "betterend:block/blossom_berry_seed_1", + "betterend:block/blossom_berry_seed_2", + "betterend:block/blossom_berry_seed_3", + ], + null + ); - event.climateRange(climate => { - climate.minHydration(0) - climate.maxHydration(100) - climate.minTemperature(-80) - climate.maxTemperature(30) - climate.hydrationWiggle(7.5) - climate.temperatureWiggle(5.5) - }, 'betterend:blossom_berry') + event.firmalifePlantable( + "betterend:bolux_mushroom_seeds", + "quad", + 1, + 3, + 0.15, + "betterend:bolux_mushroom_seeds", + "betterend:bolux_mushroom_product", + "phosphorous", + [ + "betterend:block/bolux_mushroom_greenhouse_0", + "betterend:block/bolux_mushroom_greenhouse_1", + "betterend:block/bolux_mushroom_greenhouse_2", + "betterend:block/bolux_mushroom_greenhouse_3", + ], + null + ); - event.climateRange(climate => { - climate.minHydration(0) - climate.maxHydration(40) - climate.minTemperature(-150) - climate.maxTemperature(15) - climate.hydrationWiggle(7.5) - climate.temperatureWiggle(5.5) - }, 'betterend:bolux_mushroom') + event.firmalifePlantable( + "betterend:chorus_mushroom_seeds", + "quad", + 1, + 3, + 0.15, + "betterend:chorus_mushroom_seeds", + "betterend:chorus_mushroom_product", + "phosphorous", + [ + "betterend:block/chorus_mushroom_0", + "betterend:block/chorus_mushroom_1", + "betterend:block/chorus_mushroom_2", + "betterend:block/chorus_mushroom_3", + ], + null + ); - event.climateRange(climate => { - climate.minHydration(0) - climate.maxHydration(60) - climate.minTemperature(-100) - climate.maxTemperature(30) - climate.hydrationWiggle(7.5) - climate.temperatureWiggle(5.5) - }, 'betterend:cave_pumpkin_plant') + event.firmalifePlantable( + "betterend:cave_pumpkin_plant_seeds", + "hanging", + 2, + 3, + 0.15, + "betterend:cave_pumpkin_plant_seeds", + "betterend:cave_pumpkin", + "phosphorous", + [ + "betterend:block/cave_pumpkin_greenhouse_0", + "betterend:block/cave_pumpkin_greenhouse_1", + "betterend:block/cave_pumpkin_greenhouse_2", + "betterend:block/cave_pumpkin_greenhouse_3", + ], + //'betterend:block/cave_pumpkin_greenhouse_fruit' + "betterend:block/cave_pumpkin_top" // TODO: check + ); - event.climateRange(climate => { - climate.minHydration(0) - climate.maxHydration(40) - climate.minTemperature(-150) - climate.maxTemperature(15) - climate.hydrationWiggle(7.5) - climate.temperatureWiggle(5.5) - }, 'betterend:chorus_mushroom') - - event.climateRange(climate => { - climate.minHydration(0) - climate.maxHydration(100) - climate.minTemperature(-80) - climate.maxTemperature(30) - climate.hydrationWiggle(7.5) - climate.temperatureWiggle(5.5) - }, 'betterend:shadow_berry') -} - -const registerTFGFLPlanters = (event) => { - - event.firmalifePlantable( - 'tfg:sunflower_seeds', - 'large', - 0, - 3, - 0.15, - 'tfg:sunflower_seeds', - 'tfg:sunflower_product', - 'nitrogen', - [ - 'tfg:block/crop/sunflower_greenhouse_0', - 'tfg:block/crop/sunflower_greenhouse_1', - 'tfg:block/crop/sunflower_greenhouse_2', - 'tfg:block/crop/sunflower_greenhouse_3' - ], - null - ) - - event.firmalifePlantable( - 'tfg:rapeseed_seeds', - 'large', - 0, - 3, - 0.15, - 'tfg:rapeseed_seeds', - 'tfg:rapeseed_product', - 'phosphorous', - [ - 'tfg:block/crop/rapeseed_greenhouse_0', - 'tfg:block/crop/rapeseed_greenhouse_1', - 'tfg:block/crop/rapeseed_greenhouse_2', - 'tfg:block/crop/rapeseed_greenhouse_3' - ], - null - ) - - event.firmalifePlantable( - 'tfg:flax_seeds', - 'large', - 0, - 3, - 0.2, - 'tfg:flax_seeds', - 'tfg:flax_product', - 'nitrogen', - [ - 'tfg:block/crop/flax_age_0', - 'tfg:block/crop/flax_age_1', - 'tfg:block/crop/flax_age_5_top', - 'tfg:block/crop/flax_age_6_top' - ], - null - ) - - event.firmalifePlantable( - 'betterend:amber_root_seeds', - 'large', - 0, - 3, - 0.15, - 'betterend:amber_root_seeds', - 'betterend:amber_root_product', - 'phosphorous', - [ - 'betterend:block/amber_root_0', - 'betterend:block/amber_root_1', - 'betterend:block/amber_root_2', - 'betterend:block/amber_root_3' - ], - null - ) - - event.firmalifePlantable( - 'betterend:blossom_berry_seeds', - 'large', - 0, - 3, - 0.15, - 'betterend:blossom_berry_seeds', - 'betterend:blossom_berry_product', - 'potassium', - [ - 'betterend:block/blossom_berry_seed_0', - 'betterend:block/blossom_berry_seed_1', - 'betterend:block/blossom_berry_seed_2', - 'betterend:block/blossom_berry_seed_3' - ], - null - ) - - event.firmalifePlantable( - 'betterend:bolux_mushroom_seeds', - 'quad', - 1, - 3, - 0.15, - 'betterend:bolux_mushroom_seeds', - 'betterend:bolux_mushroom_product', - 'phosphorous', - [ - 'betterend:block/bolux_mushroom_greenhouse_0', - 'betterend:block/bolux_mushroom_greenhouse_1', - 'betterend:block/bolux_mushroom_greenhouse_2', - 'betterend:block/bolux_mushroom_greenhouse_3' - ], - null - ) - - event.firmalifePlantable( - 'betterend:chorus_mushroom_seeds', - 'quad', - 1, - 3, - 0.15, - 'betterend:chorus_mushroom_seeds', - 'betterend:chorus_mushroom_product', - 'phosphorous', - [ - 'betterend:block/chorus_mushroom_0', - 'betterend:block/chorus_mushroom_1', - 'betterend:block/chorus_mushroom_2', - 'betterend:block/chorus_mushroom_3' - ], - null - ) - - event.firmalifePlantable( - 'betterend:cave_pumpkin_plant_seeds', - 'hanging', - 2, - 3, - 0.15, - 'betterend:cave_pumpkin_plant_seeds', - 'betterend:cave_pumpkin', - 'phosphorous', - [ - 'betterend:block/cave_pumpkin_greenhouse_0', - 'betterend:block/cave_pumpkin_greenhouse_1', - 'betterend:block/cave_pumpkin_greenhouse_2', - 'betterend:block/cave_pumpkin_greenhouse_3' - ], - //'betterend:block/cave_pumpkin_greenhouse_fruit' - 'betterend:block/cave_pumpkin_top' // TODO: check - ) - - event.firmalifePlantable( - 'betterend:shadow_berry_seeds', - 'quad', - 1, - 3, - 0.15, - 'betterend:shadow_berry_seeds', - 'betterend:shadow_berry_product', - 'potassium', - [ - 'betterend:block/shadow_berry_greenhouse_0', - 'betterend:block/shadow_berry_greenhouse_1', - 'betterend:block/shadow_berry_greenhouse_2', - 'betterend:block/shadow_berry_greenhouse_3' - ], - null - ) + event.firmalifePlantable( + "betterend:shadow_berry_seeds", + "quad", + 1, + 3, + 0.15, + "betterend:shadow_berry_seeds", + "betterend:shadow_berry_product", + "potassium", + [ + "betterend:block/shadow_berry_greenhouse_0", + "betterend:block/shadow_berry_greenhouse_1", + "betterend:block/shadow_berry_greenhouse_2", + "betterend:block/shadow_berry_greenhouse_3", + ], + null + ); } diff --git a/kubejs/startup_scripts/createdeco/constants.js b/kubejs/startup_scripts/createdeco/constants.js index d5eb9c398..7ac5e69bd 100644 --- a/kubejs/startup_scripts/createdeco/constants.js +++ b/kubejs/startup_scripts/createdeco/constants.js @@ -2,24 +2,33 @@ "use strict"; /** @global */ -global.CREATEDECO_DISABLED_ITEMS = [ - 'createdeco:andesite_sheet', - 'createdeco:zinc_sheet', - 'createdeco:netherite_sheet', - 'createdeco:industrial_iron_sheet', - 'createdeco:netherite_nugget', - 'createdeco:industrial_iron_nugget', - 'createdeco:industrial_iron_ingot', -]; +global.CREATEDECO_DISABLED_ITEMS = /** @type {const} */ ([ + "createdeco:andesite_sheet", + "createdeco:zinc_sheet", + "createdeco:netherite_sheet", + "createdeco:industrial_iron_sheet", + "createdeco:netherite_nugget", + "createdeco:industrial_iron_nugget", + "createdeco:industrial_iron_ingot", +]); /** @global */ -global.CREATE_DECO_BRICK_TYPES = [ - 'dusk', - 'scarlet', - 'umber', - 'verdant', - 'blue', - 'pearl', - 'dean', - 'red' -] +global.CREATE_DECO_BRICK_TYPES = /** @type {const} */ ([ + "dusk", + "scarlet", + "umber", + "verdant", + "blue", + "pearl", + "dean", + "red", +]); + +global.CREATE_DECO_GLASS_PANES = /** @type {const} */ ([ + "createdeco:andesite_window_pane", + "createdeco:copper_window_pane", + "createdeco:iron_window_pane", + "createdeco:industrial_iron_window_pane", + "createdeco:brass_window_pane", + "createdeco:zinc_window_pane", +]); diff --git a/kubejs/startup_scripts/domum_ornamentum/constants.js b/kubejs/startup_scripts/domum_ornamentum/constants.js index 5a9a39136..e525d4c91 100644 --- a/kubejs/startup_scripts/domum_ornamentum/constants.js +++ b/kubejs/startup_scripts/domum_ornamentum/constants.js @@ -1,7 +1,26 @@ // priority: 0 "use strict"; -global.DOMUM_ORNAMENTUM_DISABLED_ITEMS = [ - 'domum_ornamentum:blockbarreldeco_standing', - 'domum_ornamentum:blockbarreldeco_onside' -]; +global.DOMUM_ORNAMENTUM_DISABLED_ITEMS = /** @type {const} */ ([ + "domum_ornamentum:blockbarreldeco_standing", + "domum_ornamentum:blockbarreldeco_onside", +]); + +global.DOMUM_ORNAMENTUM_FLOATING_CARPETS = /** @type {const} */ ([ + "domum_ornamentum:white_floating_carpet", + "domum_ornamentum:orange_floating_carpet", + "domum_ornamentum:magenta_floating_carpet", + "domum_ornamentum:light_blue_floating_carpet", + "domum_ornamentum:yellow_floating_carpet", + "domum_ornamentum:lime_floating_carpet", + "domum_ornamentum:pink_floating_carpet", + "domum_ornamentum:gray_floating_carpet", + "domum_ornamentum:light_gray_floating_carpet", + "domum_ornamentum:cyan_floating_carpet", + "domum_ornamentum:purple_floating_carpet", + "domum_ornamentum:blue_floating_carpet", + "domum_ornamentum:brown_floating_carpet", + "domum_ornamentum:green_floating_carpet", + "domum_ornamentum:red_floating_carpet", + "domum_ornamentum:black_floating_carpet", +]); diff --git a/kubejs/startup_scripts/framedblocks/constants.js b/kubejs/startup_scripts/framedblocks/constants.js index d361a0739..539d11f8a 100644 --- a/kubejs/startup_scripts/framedblocks/constants.js +++ b/kubejs/startup_scripts/framedblocks/constants.js @@ -2,7 +2,71 @@ "use strict"; global.FRAMEDBLOCKS_DISABLED_ITEMS = [ - 'framedblocks:framed_soul_torch', - 'framedblocks:framed_torch', - 'framedblocks:framed_obsidian_pressure_plate' -]; \ No newline at end of file + "framedblocks:framed_soul_torch", + "framedblocks:framed_torch", + "framedblocks:framed_obsidian_pressure_plate", +]; + +/** @satisfies {Special.Item[]} */ +global.FRAMED_HALF_BLOCKS = /** @type {const} */ ([ + "framedblocks:framed_slope", + "framedblocks:framed_corner_slope", + "framedblocks:framed_prism_corner", + "framedblocks:framed_threeway_corner", + "framedblocks:framed_slab", + "framedblocks:framed_divided_slab", + "framedblocks:framed_panel", + "framedblocks:framed_divided_panel_horizontal", + "framedblocks:framed_divided_panel_vertical", + "framedblocks:framed_half_stairs", + "framedblocks:framed_double_half_stairs", + "framedblocks:framed_vertical_half_stairs", + "framedblocks:framed_vertical_double_half_stairs", + "framedblocks:framed_lattice_block", + "framedblocks:framed_half_pillar", + "framedblocks:framed_post", + "framedblocks:framed_prism", + "framedblocks:framed_sloped_prism", + "framedblocks:framed_double_slope_slab", + "framedblocks:framed_compound_slope_slab", + "framedblocks:framed_inv_double_slope_slab", + "framedblocks:framed_flat_inner_slope_slab_corner", + "framedblocks:framed_flat_double_slope_slab_corner", + "framedblocks:framed_double_slope_panel", + "framedblocks:framed_compound_slope_panel", + "framedblocks:framed_inv_double_slope_panel", + "framedblocks:framed_flat_inner_slope_panel_corner", + "framedblocks:framed_flat_double_slope_panel_corner", + "framedblocks:framed_flat_inv_double_slope_panel_corner", + "framedblocks:framed_pyramid_slab", + "framedblocks:framed_half_slope", + "framedblocks:framed_double_half_slope", + "framedblocks:framed_centered_slab", + "framedblocks:framed_centered_panel", + "framedblocks:framed_checkered_slab", + "framedblocks:framed_checkered_panel", +]); + +/** @satisfies {Special.Item[]} */ +global.FRAMED_TINY_BLOCKS = /** @type {const} */ ([ + "framedblocks:framed_slope_edge", + "framedblocks:framed_slab_edge", + "framedblocks:framed_slab_corner", + "framedblocks:framed_corner_pillar", + "framedblocks:framed_button", + "framedblocks:framed_stone_button", + "framedblocks:framed_floor_board", + "framedblocks:framed_wall_board", + "framedblocks:framed_corner_strip", + "framedblocks:framed_pane", + "framedblocks:framed_bars", + "framedblocks:framed_horizontal_pane", + "framedblocks:framed_slope_slab", + "framedblocks:framed_flat_slope_slab_corner", + "framedblocks:framed_slope_panel", + "framedblocks:framed_flat_slope_panel_corner", + "framedblocks:framed_small_corner_slope_panel", + "framedblocks:framed_small_inner_corner_slope_panel", + "framedblocks:framed_small_double_corner_slope_panel", + "framedblocks:framed_mini_cube", +]); diff --git a/kubejs/startup_scripts/greate/constants.js b/kubejs/startup_scripts/greate/constants.js index 9d6c668e9..29c2613e4 100644 --- a/kubejs/startup_scripts/greate/constants.js +++ b/kubejs/startup_scripts/greate/constants.js @@ -1,174 +1,270 @@ // priority: 0 "use strict"; -global.GREATE_DISABLED_ITEMS = [ - - 'create:andesite_alloy', - 'gtceu:steel_alloy', - 'gtceu:aluminium_alloy', - 'gtceu:stainless_steel_alloy', - 'gtceu:titanium_alloy', - 'gtceu:tungsten_steel_alloy', - 'gtceu:rhodium_plated_palladium_alloy', - 'gtceu:naquadah_alloy_alloy', - 'gtceu:darmstadtium_alloy', - 'gtceu:neutronium_alloy', +global.GREATE_DISABLED_ITEMS = /** @type {const} */ ([ + "create:andesite_alloy", + "gtceu:steel_alloy", + "gtceu:aluminium_alloy", + "gtceu:stainless_steel_alloy", + "gtceu:titanium_alloy", + "gtceu:tungsten_steel_alloy", + "gtceu:rhodium_plated_palladium_alloy", + "gtceu:naquadah_alloy_alloy", + "gtceu:darmstadtium_alloy", + "gtceu:neutronium_alloy", - 'gtceu:neutronium_whisk', - 'greate:polybenzimidazole_belt_connector', - 'greate:polytetrafluoroethylene_belt_connector', - - 'greate:andesite_alloy_crushing_wheel', - 'greate:andesite_alloy_encased_fan', - 'greate:andesite_alloy_mechanical_mixer', - 'greate:andesite_alloy_mechanical_pump', + "gtceu:neutronium_whisk", + "greate:polybenzimidazole_belt_connector", + "greate:polytetrafluoroethylene_belt_connector", - // Disabled because they don't respect the cleanroom requirement of some recipes - 'greate:stainless_steel_mechanical_saw', - 'greate:titanium_mechanical_saw', + "greate:andesite_alloy_crushing_wheel", + "greate:andesite_alloy_encased_fan", + "greate:andesite_alloy_mechanical_mixer", + "greate:andesite_alloy_mechanical_pump", - // You should be graduating to IV multiblocks in IV - 'greate:tungsten_steel_shaft', - 'greate:tungsten_steel_cogwheel', - 'greate:large_tungsten_steel_cogwheel', - 'greate:tungsten_steel_crushing_wheel', - 'greate:tungsten_steel_encased_fan', - 'greate:tungsten_steel_gearbox', - 'greate:tungsten_steel_mechanical_press', - 'greate:tungsten_steel_mechanical_mixer', - 'greate:tungsten_steel_millstone', - 'greate:tungsten_steel_mechanical_saw', - 'greate:tungsten_steel_mechanical_pump', - 'greate:tungsten_steel_vertical_gearbox', + // Disabled because they don't respect the cleanroom requirement of some recipes + "greate:stainless_steel_mechanical_saw", + "greate:titanium_mechanical_saw", - 'greate:rhodium_plated_palladium_shaft', - 'greate:rhodium_plated_palladium_cogwheel', - 'greate:large_rhodium_plated_palladium_cogwheel', - 'greate:rhodium_plated_palladium_crushing_wheel', - 'greate:rhodium_plated_palladium_encased_fan', - 'greate:rhodium_plated_palladium_gearbox', - 'greate:rhodium_plated_palladium_mechanical_press', - 'greate:rhodium_plated_palladium_mechanical_mixer', - 'greate:rhodium_plated_palladium_millstone', - 'greate:rhodium_plated_palladium_mechanical_saw', - 'greate:rhodium_plated_palladium_mechanical_pump', - 'greate:rhodium_plated_palladium_vertical_gearbox', + // You should be graduating to IV multiblocks in IV + "greate:tungsten_steel_shaft", + "greate:tungsten_steel_cogwheel", + "greate:large_tungsten_steel_cogwheel", + "greate:tungsten_steel_crushing_wheel", + "greate:tungsten_steel_encased_fan", + "greate:tungsten_steel_gearbox", + "greate:tungsten_steel_mechanical_press", + "greate:tungsten_steel_mechanical_mixer", + "greate:tungsten_steel_millstone", + "greate:tungsten_steel_mechanical_saw", + "greate:tungsten_steel_mechanical_pump", + "greate:tungsten_steel_vertical_gearbox", - 'greate:naquadah_alloy_shaft', - 'greate:naquadah_alloy_cogwheel', - 'greate:large_naquadah_alloy_cogwheel', - 'greate:naquadah_alloy_crushing_wheel', - 'greate:naquadah_alloy_encased_fan', - 'greate:naquadah_alloy_gearbox', - 'greate:naquadah_alloy_mechanical_press', - 'greate:naquadah_alloy_mechanical_mixer', - 'greate:naquadah_alloy_millstone', - 'greate:naquadah_alloy_mechanical_saw', - 'greate:naquadah_alloy_mechanical_pump', - 'greate:naquadah_alloy_vertical_gearbox', + "greate:rhodium_plated_palladium_shaft", + "greate:rhodium_plated_palladium_cogwheel", + "greate:large_rhodium_plated_palladium_cogwheel", + "greate:rhodium_plated_palladium_crushing_wheel", + "greate:rhodium_plated_palladium_encased_fan", + "greate:rhodium_plated_palladium_gearbox", + "greate:rhodium_plated_palladium_mechanical_press", + "greate:rhodium_plated_palladium_mechanical_mixer", + "greate:rhodium_plated_palladium_millstone", + "greate:rhodium_plated_palladium_mechanical_saw", + "greate:rhodium_plated_palladium_mechanical_pump", + "greate:rhodium_plated_palladium_vertical_gearbox", - 'greate:darmstadtium_shaft', - 'greate:darmstadtium_cogwheel', - 'greate:large_darmstadtium_cogwheel', - 'greate:darmstadtium_crushing_wheel', - 'greate:darmstadtium_encased_fan', - 'greate:darmstadtium_gearbox', - 'greate:darmstadtium_mechanical_press', - 'greate:darmstadtium_mechanical_mixer', - 'greate:darmstadtium_millstone', - 'greate:darmstadtium_mechanical_saw', - 'greate:darmstadtium_mechanical_pump', - 'greate:darmstadtium_vertical_gearbox', - - 'greate:neutronium_shaft', - 'greate:neutronium_cogwheel', - 'greate:large_neutronium_cogwheel', - 'greate:neutronium_crushing_wheel', - 'greate:neutronium_encased_fan', - 'greate:neutronium_gearbox', - 'greate:neutronium_mechanical_press', - 'greate:neutronium_mechanical_mixer', - 'greate:neutronium_millstone', - 'greate:neutronium_mechanical_saw', - 'greate:neutronium_mechanical_pump', - 'greate:neutronium_vertical_gearbox', + "greate:naquadah_alloy_shaft", + "greate:naquadah_alloy_cogwheel", + "greate:large_naquadah_alloy_cogwheel", + "greate:naquadah_alloy_crushing_wheel", + "greate:naquadah_alloy_encased_fan", + "greate:naquadah_alloy_gearbox", + "greate:naquadah_alloy_mechanical_press", + "greate:naquadah_alloy_mechanical_mixer", + "greate:naquadah_alloy_millstone", + "greate:naquadah_alloy_mechanical_saw", + "greate:naquadah_alloy_mechanical_pump", + "greate:naquadah_alloy_vertical_gearbox", - // Adding these here because they're greate's fault - 'gtceu:andesite_alloy_bucket', - 'gtceu:andesite_alloy_ring', - 'gtceu:tiny_andesite_alloy_dust', - 'gtceu:small_andesite_alloy_dust', - 'gtceu:andesite_alloy_dust', - 'gtceu:andesite_alloy_plate', - 'gtceu:double_andesite_alloy_plate', - 'gtceu:andesite_alloy_nugget', - 'gtceu:andesite_alloy_rotor', - 'gtceu:andesite_alloy_whisk', - 'gtceu:andesite_alloy_bolt', - 'gtceu:andesite_alloy_ingot', - 'gtceu:andesite_alloy_rod', - 'gtceu:andesite_alloy_screw', - 'gtceu:andesite_alloy_buzz_saw_blade', - 'gtceu:andesite_alloy_block', - 'gtceu:andesite_alloy_buzzsaw', + "greate:darmstadtium_shaft", + "greate:darmstadtium_cogwheel", + "greate:large_darmstadtium_cogwheel", + "greate:darmstadtium_crushing_wheel", + "greate:darmstadtium_encased_fan", + "greate:darmstadtium_gearbox", + "greate:darmstadtium_mechanical_press", + "greate:darmstadtium_mechanical_mixer", + "greate:darmstadtium_millstone", + "greate:darmstadtium_mechanical_saw", + "greate:darmstadtium_mechanical_pump", + "greate:darmstadtium_vertical_gearbox", - 'gtceu:refined_radiance_bucket', - 'gtceu:tiny_refined_radiance_dust', - 'gtceu:small_refined_radiance_dust', - 'gtceu:refined_radiance_dust', - 'gtceu:refined_radiance_plate', - 'gtceu:double_refined_radiance_plate', - 'gtceu:refined_radiance_nugget', - 'gtceu:refined_radiance_bolt', - 'gtceu:refined_radiance_ingot', - 'gtceu:refined_radiance_rod', - 'gtceu:refined_radiance_screw', - 'gtceu:long_refined_radiance_rod', - 'gtceu:refined_radiance_block', + "greate:neutronium_shaft", + "greate:neutronium_cogwheel", + "greate:large_neutronium_cogwheel", + "greate:neutronium_crushing_wheel", + "greate:neutronium_encased_fan", + "greate:neutronium_gearbox", + "greate:neutronium_mechanical_press", + "greate:neutronium_mechanical_mixer", + "greate:neutronium_millstone", + "greate:neutronium_mechanical_saw", + "greate:neutronium_mechanical_pump", + "greate:neutronium_vertical_gearbox", - 'gtceu:chromatic_compound_bucket', - 'gtceu:tiny_chromatic_compound_dust', - 'gtceu:small_chromatic_compound_dust', - 'gtceu:chromatic_compound_dust', - 'gtceu:chromatic_compound_nugget', - 'gtceu:chromatic_compound_ingot', - 'gtceu:chromatic_compound_block', + // Adding these here because they're greate's fault + "gtceu:andesite_alloy_bucket", + "gtceu:andesite_alloy_ring", + "gtceu:tiny_andesite_alloy_dust", + "gtceu:small_andesite_alloy_dust", + "gtceu:andesite_alloy_dust", + "gtceu:andesite_alloy_plate", + "gtceu:double_andesite_alloy_plate", + "gtceu:andesite_alloy_nugget", + "gtceu:andesite_alloy_rotor", + "gtceu:andesite_alloy_whisk", + "gtceu:andesite_alloy_bolt", + "gtceu:andesite_alloy_ingot", + "gtceu:andesite_alloy_rod", + "gtceu:andesite_alloy_screw", + "gtceu:andesite_alloy_buzz_saw_blade", + "gtceu:andesite_alloy_block", + "gtceu:andesite_alloy_buzzsaw", - 'gtceu:shadow_steel_bucket', - 'gtceu:tiny_shadow_steel_dust', - 'gtceu:small_shadow_steel_dust', - 'gtceu:shadow_steel_dust', - 'gtceu:shadow_steel_plate', - 'gtceu:double_shadow_steel_plate', - 'gtceu:shadow_steel_nugget', - 'gtceu:shadow_steel_bolt', - 'gtceu:shadow_steel_ingot', - 'gtceu:shadow_steel_rod', - 'gtceu:shadow_steel_screw', - 'gtceu:long_shadow_steel_rod', - 'gtceu:shadow_steel_block', -] + "gtceu:refined_radiance_bucket", + "gtceu:tiny_refined_radiance_dust", + "gtceu:small_refined_radiance_dust", + "gtceu:refined_radiance_dust", + "gtceu:refined_radiance_plate", + "gtceu:double_refined_radiance_plate", + "gtceu:refined_radiance_nugget", + "gtceu:refined_radiance_bolt", + "gtceu:refined_radiance_ingot", + "gtceu:refined_radiance_rod", + "gtceu:refined_radiance_screw", + "gtceu:long_refined_radiance_rod", + "gtceu:refined_radiance_block", -global.GREATE_DISABLED_FLUIDS = [ + "gtceu:chromatic_compound_bucket", + "gtceu:tiny_chromatic_compound_dust", + "gtceu:small_chromatic_compound_dust", + "gtceu:chromatic_compound_dust", + "gtceu:chromatic_compound_nugget", + "gtceu:chromatic_compound_ingot", + "gtceu:chromatic_compound_block", - 'gtceu:andesite_alloy', - 'gtceu:refined_radiance', - 'gtceu:chromatic_compound', - 'gtceu:shadow_steel' + "gtceu:shadow_steel_bucket", + "gtceu:tiny_shadow_steel_dust", + "gtceu:small_shadow_steel_dust", + "gtceu:shadow_steel_dust", + "gtceu:shadow_steel_plate", + "gtceu:double_shadow_steel_plate", + "gtceu:shadow_steel_nugget", + "gtceu:shadow_steel_bolt", + "gtceu:shadow_steel_ingot", + "gtceu:shadow_steel_rod", + "gtceu:shadow_steel_screw", + "gtceu:long_shadow_steel_rod", + "gtceu:shadow_steel_block", +]); -] +global.GREATE_DISABLED_FLUIDS = /** @type {const} */ ([ + "gtceu:andesite_alloy", + "gtceu:refined_radiance", + "gtceu:chromatic_compound", + "gtceu:shadow_steel", +]); -global.GREATE_DISABLED_TAGS = [ - '#forge:andesite_alloy', - '#forge:dusts/andesite_alloy', - '#forge:alloys/andesite_alloy', - '#forge:alloys/steel', - '#forge:alloys/aluminium', - '#forge:alloys/stainless_steel', - '#forge:alloys/titanium', - '#forge:alloys/tungsten_steel', - '#forge:alloys/rhodium_plated_palladium', - '#forge:alloys/naquadah_alloy', - '#forge:alloys/darmstadtium', - '#forge:alloys/neutronium' -] \ No newline at end of file +global.GREATE_DISABLED_TAGS = /** @type {const} */ ([ + "#forge:andesite_alloy", + "#forge:dusts/andesite_alloy", + "#forge:alloys/andesite_alloy", + "#forge:alloys/steel", + "#forge:alloys/aluminium", + "#forge:alloys/stainless_steel", + "#forge:alloys/titanium", + "#forge:alloys/tungsten_steel", + "#forge:alloys/rhodium_plated_palladium", + "#forge:alloys/naquadah_alloy", + "#forge:alloys/darmstadtium", + "#forge:alloys/neutronium", +]); + +global.GREATE_BELTS = /** @type {const} */ ([ + "greate:silicone_rubber_belt_connector", + "greate:polybenzimidazole_belt_connector", + "greate:polyethylene_belt_connector", + "greate:polytetrafluoroethylene_belt_connector", + "greate:rubber_belt_connector", +]); + +global.GREATE_CRUSHING_WHEELS = /** @type {const} */ ([ + "greate:andesite_alloy_crushing_wheel", + "greate:steel_crushing_wheel", + "greate:aluminium_crushing_wheel", + "greate:stainless_steel_crushing_wheel", + "greate:titanium_crushing_wheel", + "greate:tungsten_steel_crushing_wheel", + "greate:rhodium_plated_palladium_crushing_wheel", + "greate:naquadah_alloy_crushing_wheel", + "greate:darmstadtium_crushing_wheel", + "greate:neutronium_crushing_wheel", +]); + +global.GREATE_ENCASED_FANS = /** @type {const} */ ([ + "greate:andesite_alloy_encased_fan", + "greate:steel_encased_fan", + "greate:aluminium_encased_fan", + "greate:stainless_steel_encased_fan", + "greate:titanium_encased_fan", + "greate:tungsten_steel_encased_fan", + "greate:rhodium_plated_palladium_encased_fan", + "greate:naquadah_alloy_encased_fan", + "greate:darmstadtium_encased_fan", + "greate:neutronium_encased_fan", +]); + +global.GREATE_MECHANICAL_MIXERS = /** @type {const} */ ([ + "greate:andesite_alloy_mechanical_mixer", + "greate:steel_mechanical_mixer", + "greate:aluminium_mechanical_mixer", + "greate:stainless_steel_mechanical_mixer", + "greate:titanium_mechanical_mixer", + "greate:tungsten_steel_mechanical_mixer", + "greate:rhodium_plated_palladium_mechanical_mixer", + "greate:naquadah_alloy_mechanical_mixer", + "greate:darmstadtium_mechanical_mixer", + "greate:neutronium_mechanical_mixer", +]); + +global.GREATE_MECHANICAL_PRESSES = /** @type {const} */ ([ + "greate:andesite_alloy_mechanical_press", + "greate:steel_mechanical_press", + "greate:aluminium_mechanical_press", + "greate:stainless_steel_mechanical_press", + "greate:titanium_mechanical_press", + "greate:tungsten_steel_mechanical_press", + "greate:rhodium_plated_palladium_mechanical_press", + "greate:naquadah_alloy_mechanical_press", + "greate:darmstadtium_mechanical_press", + "greate:neutronium_mechanical_press", +]); + +global.GREATE_MECHANICAL_PUMPS = /** @type {const} */ ([ + "greate:andesite_alloy_mechanical_pump", + "greate:steel_mechanical_pump", + "greate:aluminium_mechanical_pump", + "greate:stainless_steel_mechanical_pump", + "greate:titanium_mechanical_pump", + "greate:tungsten_steel_mechanical_pump", + "greate:rhodium_plated_palladium_mechanical_pump", + "greate:naquadah_alloy_mechanical_pump", + "greate:darmstadtium_mechanical_pump", + "greate:neutronium_mechanical_pump", +]); + +global.GREATE_MECHANICAL_SAWS = /** @type {const} */ ([ + "greate:andesite_alloy_mechanical_saw", + "greate:steel_mechanical_saw", + "greate:aluminium_mechanical_saw", + "greate:stainless_steel_mechanical_saw", + "greate:titanium_mechanical_saw", + "greate:tungsten_steel_mechanical_saw", + "greate:rhodium_plated_palladium_mechanical_saw", + "greate:naquadah_alloy_mechanical_saw", + "greate:darmstadtium_mechanical_saw", + "greate:neutronium_mechanical_saw", +]); + +global.GREATE_MILLSTONES = /** @type {const} */ ([ + "greate:andesite_alloy_millstone", + "greate:steel_millstone", + "greate:aluminium_millstone", + "greate:stainless_steel_millstone", + "greate:titanium_millstone", + "greate:tungsten_steel_millstone", + "greate:rhodium_plated_palladium_millstone", + "greate:naquadah_alloy_millstone", + "greate:darmstadtium_millstone", + "greate:neutronium_millstone", +]); diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 298967883..36dcd8256 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -3,331 +3,366 @@ //#region Disabled Items /** @global */ -global.GTCEU_DISABLED_ITEMS = [ - // Пыль пшеницы (Wheat Dusts) - 'gtceu:wheat_dust', - 'gtceu:small_wheat_dust', - 'gtceu:tiny_wheat_dust', - 'gtceu:dough', +global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([ + // Пыль пшеницы (Wheat Dusts) + "gtceu:wheat_dust", + "gtceu:small_wheat_dust", + "gtceu:tiny_wheat_dust", + "gtceu:dough", - // Bronze Machines - 'gtceu:bronze_brick_casing', - 'gtceu:lp_steam_miner', - 'gtceu:lp_steam_extractor', - 'gtceu:lp_steam_macerator', - 'gtceu:lp_steam_compressor', - 'gtceu:lp_steam_forge_hammer', - 'gtceu:lp_steam_furnace', - 'gtceu:lp_steam_alloy_smelter', - 'gtceu:lp_steam_rock_crusher', - 'gtceu:lp_steam_solid_boiler', - 'gtceu:lp_steam_liquid_boiler', - 'gtceu:lp_steam_solar_boiler', - 'gtceu:charcoal_pile_igniter', + // Bronze Machines + "gtceu:bronze_brick_casing", + "gtceu:lp_steam_miner", + "gtceu:lp_steam_extractor", + "gtceu:lp_steam_macerator", + "gtceu:lp_steam_compressor", + "gtceu:lp_steam_forge_hammer", + "gtceu:lp_steam_furnace", + "gtceu:lp_steam_alloy_smelter", + "gtceu:lp_steam_rock_crusher", + "gtceu:lp_steam_solid_boiler", + "gtceu:lp_steam_liquid_boiler", + "gtceu:lp_steam_solar_boiler", + "gtceu:charcoal_pile_igniter", - // Примитивная помпа (Primitive Pump) - 'gtceu:infinite_water_cover', - 'gtceu:ender_fluid_link_cover', - 'gtceu:pump_deck', - 'gtceu:pump_hatch', - 'gtceu:primitive_pump', + // Примитивная помпа (Primitive Pump) + "gtceu:infinite_water_cover", + "gtceu:ender_fluid_link_cover", + "gtceu:pump_deck", + "gtceu:pump_hatch", + "gtceu:primitive_pump", - // Другое (Other) - 'gtceu:flint_mortar', - 'gtceu:flint_knife', - 'gtceu:firebrick', - 'gtceu:firebricks', - 'gtceu:fireclay_dust', - 'gtceu:small_fireclay_dust', - 'gtceu:tiny_fireclay_dust', - 'gtceu:compressed_fireclay', - 'gtceu:wood_drum', - 'gtceu:primitive_blast_furnace', - 'gtceu:iron_pickaxe', - 'gtceu:iron_pickaxe_head', - 'gtceu:brittle_charcoal', + // Другое (Other) + "gtceu:flint_mortar", + "gtceu:flint_knife", + "gtceu:firebrick", + "gtceu:firebricks", + "gtceu:fireclay_dust", + "gtceu:small_fireclay_dust", + "gtceu:tiny_fireclay_dust", + "gtceu:compressed_fireclay", + "gtceu:wood_drum", + "gtceu:primitive_blast_furnace", + "gtceu:iron_pickaxe", + "gtceu:iron_pickaxe_head", + "gtceu:brittle_charcoal", - 'gtceu:wood_screwdriver_tip', - 'gtceu:wood_wrench_tip', - 'gtceu:wood_drill_head', - 'gtceu:wood_chainsaw_head', + "gtceu:wood_screwdriver_tip", + "gtceu:wood_wrench_tip", + "gtceu:wood_drill_head", + "gtceu:wood_chainsaw_head", - 'gtceu:stone_drill_head', - 'gtceu:stone_chainsaw_head', - 'gtceu:stone_buzz_saw_blade', - 'gtceu:stone_wrench_tip', + "gtceu:stone_drill_head", + "gtceu:stone_chainsaw_head", + "gtceu:stone_buzz_saw_blade", + "gtceu:stone_wrench_tip", - 'gtceu:netherite_nugget', - 'gtceu:tiny_netherite_dust', - 'gtceu:small_netherite_dust', - 'gtceu:netherite_dust', + "gtceu:netherite_nugget", + "gtceu:tiny_netherite_dust", + "gtceu:small_netherite_dust", + "gtceu:netherite_dust", - 'gtceu:treated_wood_hanging_sign', - 'gtceu:treated_wood_boat', - 'gtceu:treated_wood_chest_boat', - 'gtceu:treated_wood_sign', + "gtceu:treated_wood_hanging_sign", + "gtceu:treated_wood_boat", + "gtceu:treated_wood_chest_boat", + "gtceu:treated_wood_sign", - 'gtceu:rubber_sapling', - 'gtceu:rubber_log', - 'gtceu:rubber_leaves', - 'gtceu:rubber_planks', - 'gtceu:stripped_rubber_log', - 'gtceu:rubber_wood', - 'gtceu:stripped_rubber_wood', - 'gtceu:rubber_slab', - 'gtceu:rubber_fence', - 'gtceu:rubber_fence_gate', - 'gtceu:rubber_sign', - 'gtceu:rubber_hanging_sign', - 'gtceu:rubber_pressure_plate', - 'gtceu:rubber_trapdoor', - 'gtceu:rubber_door', - 'gtceu:rubber_stairs', - 'gtceu:rubber_button', - 'gtceu:rubber_boat', - 'gtceu:rubber_chest_boat', + "gtceu:rubber_sapling", + "gtceu:rubber_log", + "gtceu:rubber_leaves", + "gtceu:rubber_planks", + "gtceu:stripped_rubber_log", + "gtceu:rubber_wood", + "gtceu:stripped_rubber_wood", + "gtceu:rubber_slab", + "gtceu:rubber_fence", + "gtceu:rubber_fence_gate", + "gtceu:rubber_sign", + "gtceu:rubber_hanging_sign", + "gtceu:rubber_pressure_plate", + "gtceu:rubber_trapdoor", + "gtceu:rubber_door", + "gtceu:rubber_stairs", + "gtceu:rubber_button", + "gtceu:rubber_boat", + "gtceu:rubber_chest_boat", - 'gtceu:mv_solar_panel', - 'gtceu:hv_solar_panel', - 'gtceu:ev_solar_panel', - 'gtceu:iv_solar_panel', - 'gtceu:luv_solar_panel', - 'gtceu:zpm_solar_panel', - 'gtceu:uv_solar_panel', + "gtceu:mv_solar_panel", + "gtceu:hv_solar_panel", + "gtceu:ev_solar_panel", + "gtceu:iv_solar_panel", + "gtceu:luv_solar_panel", + "gtceu:zpm_solar_panel", + "gtceu:uv_solar_panel", - 'gtceu:lv_air_scrubber', - 'gtceu:mv_air_scrubber', - 'gtceu:hv_air_scrubber', - 'gtceu:ev_air_scrubber', + "gtceu:lv_air_scrubber", + "gtceu:mv_air_scrubber", + "gtceu:hv_air_scrubber", + "gtceu:ev_air_scrubber", - 'gtceu:lv_world_accelerator', - 'gtceu:mv_world_accelerator', - 'gtceu:hv_world_accelerator', - 'gtceu:ev_world_accelerator', - 'gtceu:iv_world_accelerator', - 'gtceu:luv_world_accelerator', - 'gtceu:zpm_world_accelerator', - 'gtceu:uv_world_accelerator', + "gtceu:lv_world_accelerator", + "gtceu:mv_world_accelerator", + "gtceu:hv_world_accelerator", + "gtceu:ev_world_accelerator", + "gtceu:iv_world_accelerator", + "gtceu:luv_world_accelerator", + "gtceu:zpm_world_accelerator", + "gtceu:uv_world_accelerator", - 'gtceu:compressed_clay', + "gtceu:compressed_clay", - 'gtceu:damascus_steel_nugget', - 'gtceu:damascus_steel_ingot', - 'gtceu:damascus_steel_block', - 'gtceu:damascus_steel_plate', - 'gtceu:double_damascus_steel_plate', - 'gtceu:damascus_steel_gear', - 'gtceu:damascus_steel_buzzsaw_blade', - 'gtceu:damascus_steel_drill_head', - 'gtceu:damascus_steel_chainsaw_head', - 'gtceu:damascus_steel_bolt', - 'gtceu:damascus_steel_screw', - 'gtceu:damascus_steel_rod', - 'gtceu:long_damascus_steel_rod', - 'gtceu:damascus_steel_dust', - 'gtceu:small_damascus_steel_dust', - 'gtceu:tiny_damascus_steel_dust', - 'gtceu:lv_damascus_steel_drill', - 'gtceu:mv_damascus_steel_drill', - 'gtceu:hv_damascus_steel_drill', - 'gtceu:ev_damascus_steel_drill', - 'gtceu:iv_damascus_steel_drill', - 'gtceu:lv_damascus_steel_chainsaw', - 'gtceu:damascus_steel_buzzsaw', - 'gtceu:damascus_steel_bucket', + "gtceu:damascus_steel_nugget", + "gtceu:damascus_steel_ingot", + "gtceu:damascus_steel_block", + "gtceu:damascus_steel_plate", + "gtceu:double_damascus_steel_plate", + "gtceu:damascus_steel_gear", + "gtceu:damascus_steel_buzzsaw_blade", + "gtceu:damascus_steel_drill_head", + "gtceu:damascus_steel_chainsaw_head", + "gtceu:damascus_steel_bolt", + "gtceu:damascus_steel_screw", + "gtceu:damascus_steel_rod", + "gtceu:long_damascus_steel_rod", + "gtceu:damascus_steel_dust", + "gtceu:small_damascus_steel_dust", + "gtceu:tiny_damascus_steel_dust", + "gtceu:lv_damascus_steel_drill", + "gtceu:mv_damascus_steel_drill", + "gtceu:hv_damascus_steel_drill", + "gtceu:ev_damascus_steel_drill", + "gtceu:iv_damascus_steel_drill", + "gtceu:lv_damascus_steel_chainsaw", + "gtceu:damascus_steel_buzzsaw", + "gtceu:damascus_steel_bucket", - //armor - 'gtceu:bronze_helmet', - 'gtceu:bronze_chestplate', - 'gtceu:bronze_leggings', - 'gtceu:bronze_boots', - 'gtceu:steel_helmet', - 'gtceu:steel_chestplate', - 'gtceu:steel_leggings', - 'gtceu:steel_boots', - 'gtceu:titanium_helmet', - 'gtceu:titanium_chestplate', - 'gtceu:titanium_leggings', - 'gtceu:titanium_boots', + //armor + "gtceu:bronze_helmet", + "gtceu:bronze_chestplate", + "gtceu:bronze_leggings", + "gtceu:bronze_boots", + "gtceu:steel_helmet", + "gtceu:steel_chestplate", + "gtceu:steel_leggings", + "gtceu:steel_boots", + "gtceu:titanium_helmet", + "gtceu:titanium_chestplate", + "gtceu:titanium_leggings", + "gtceu:titanium_boots", - // Huh - 'gtceu:wax_dust', - 'gtceu:small_wax_dust', - 'gtceu:tiny_wax_dust', + // Huh + "gtceu:wax_dust", + "gtceu:small_wax_dust", + "gtceu:tiny_wax_dust", - // Sculk - 'gtceu:tiny_echo_shard_dust', - 'gtceu:small_echo_shard_dust', - 'gtceu:echo_shard_dust', - 'gtceu:chipped_echo_shard_gem', - 'gtceu:flawed_echo_shard_gem', - 'gtceu:flawless_echo_shard_gem', - 'gtceu:exquisite_echo_shard_gem', - 'gtceu:echo_shard_plate', - 'gtceu:echo_shard_rod', - 'gtceu:echo_shard_block', - 'gtceu:tiny_sculk_dust', - 'gtceu:small_sculk_dust', - 'gtceu:sculk_dust', + // Sculk + "gtceu:tiny_echo_shard_dust", + "gtceu:small_echo_shard_dust", + "gtceu:echo_shard_dust", + "gtceu:chipped_echo_shard_gem", + "gtceu:flawed_echo_shard_gem", + "gtceu:flawless_echo_shard_gem", + "gtceu:exquisite_echo_shard_gem", + "gtceu:echo_shard_plate", + "gtceu:echo_shard_rod", + "gtceu:echo_shard_block", + "gtceu:tiny_sculk_dust", + "gtceu:small_sculk_dust", + "gtceu:sculk_dust", - // Ender eye - 'gtceu:ender_eye_plate', - 'gtceu:ender_eye_block', - 'gtceu:ender_eye_dust', - 'gtceu:small_ender_eye_dust', - 'gtceu:tiny_ender_eye_dust', + // Ender eye + "gtceu:ender_eye_plate", + "gtceu:ender_eye_block", + "gtceu:ender_eye_dust", + "gtceu:small_ender_eye_dust", + "gtceu:tiny_ender_eye_dust", - // Marble - 'gtceu:marble', - 'gtceu:marble_cobblestone', - 'gtceu:mossy_marble_cobblestone', - 'gtceu:marble_bricks', - 'gtceu:cracked_marble_bricks', - 'gtceu:mossy_marble_bricks', + // Marble + "gtceu:marble", + "gtceu:marble_cobblestone", + "gtceu:mossy_marble_cobblestone", + "gtceu:marble_bricks", + "gtceu:cracked_marble_bricks", + "gtceu:mossy_marble_bricks", - // Machine Bedrock Miner - 'gtceu:mv_bedrock_ore_miner', - 'gtceu:hv_bedrock_ore_miner', - 'gtceu:ev_bedrock_ore_miner' -]; + // Machine Bedrock Miner + "gtceu:mv_bedrock_ore_miner", + "gtceu:hv_bedrock_ore_miner", + "gtceu:ev_bedrock_ore_miner", +]); //#endregion - //#region Hidden Items /** @global */ -global.GTCEU_HIDED_ITEMS = [ - 'gtceu:lv_damascus_steel_wirecutter', - 'gtceu:hv_damascus_steel_wirecutter', - 'gtceu:iv_damascus_steel_wirecutter', - 'gtceu:damascus_steel_wrench_tip', - 'gtceu:lv_damascus_steel_wrench', - 'gtceu:hv_damascus_steel_wrench', - 'gtceu:iv_damascus_steel_wrench', - 'gtceu:lv_damascus_steel_screwdriver', +global.GTCEU_HIDED_ITEMS = /** @type {const} */ ([ + "gtceu:lv_damascus_steel_wirecutter", + "gtceu:hv_damascus_steel_wirecutter", + "gtceu:iv_damascus_steel_wirecutter", + "gtceu:damascus_steel_wrench_tip", + "gtceu:lv_damascus_steel_wrench", + "gtceu:hv_damascus_steel_wrench", + "gtceu:iv_damascus_steel_wrench", + "gtceu:lv_damascus_steel_screwdriver", - 'gtceu:sus_record' -]; + "gtceu:sus_record", +]); //#endregion //#region Armor /** @global */ -global.GTCEU_ARMORS = [ - 'gtceu:hazmat_chestpiece', - 'gtceu:hazmat_leggings', - 'gtceu:hazmat_boots', - 'gtceu:hazmat_headpiece', - 'gtceu:nanomuscle_chestplate', - 'gtceu:nanomuscle_leggings', - 'gtceu:nanomuscle_boots', - 'gtceu:nanomuscle_helmet', - 'gtceu:advanced_nanomuscle_chestplate', - 'gtceu:quarktech_chestplate', - 'gtceu:quarktech_leggings', - 'gtceu:quarktech_boots', - 'gtceu:quarktech_helmet', - 'gtceu:advanced_quarktech_chestplate' -]; +global.GTCEU_ARMORS = /** @type {const} */ ([ + "gtceu:hazmat_chestpiece", + "gtceu:hazmat_leggings", + "gtceu:hazmat_boots", + "gtceu:hazmat_headpiece", + "gtceu:nanomuscle_chestplate", + "gtceu:nanomuscle_leggings", + "gtceu:nanomuscle_boots", + "gtceu:nanomuscle_helmet", + "gtceu:advanced_nanomuscle_chestplate", + "gtceu:quarktech_chestplate", + "gtceu:quarktech_leggings", + "gtceu:quarktech_boots", + "gtceu:quarktech_helmet", + "gtceu:advanced_quarktech_chestplate", +]); //#endregion //#region Extruder Molds /** @global */ -global.TFG_EXTRUDER_MOLDS = [ - 'tfg:mining_hammer_head_extruder_mold', - 'tfg:sword_head_extruder_mold', - 'tfg:pickaxe_head_extruder_mold', - 'tfg:shovel_head_extruder_mold', - 'tfg:axe_head_extruder_mold', - 'tfg:hoe_head_extruder_mold', - 'tfg:scythe_head_extruder_mold', - 'tfg:file_head_extruder_mold', - 'tfg:hammer_head_extruder_mold', - 'tfg:saw_head_extruder_mold', - 'tfg:knife_head_extruder_mold', - 'tfg:butchery_knife_head_extruder_mold', - 'tfg:spade_head_extruder_mold', - 'tfg:propick_head_extruder_mold', - 'tfg:javelin_head_extruder_mold', - 'tfg:chisel_head_extruder_mold', - 'tfg:mace_head_extruder_mold', - 'tfg:mattock_head_extruder_mold', - 'tfg:fish_hook_extruder_mold', - 'tfg:whisk_extruder_mold', - 'tfg:screwdriver_tip_extruder_mold', - 'tfg:wrench_tip_extruder_mold', - 'tfg:wire_cutter_head_extruder_mold', - 'tfg:small_casing_extruder_mold', - 'tfg:shell_casing_extruder_mold', - 'tfg:large_casing_extruder_mold' -]; +global.TFG_EXTRUDER_MOLDS = /** @type {const} */ ([ + "tfg:mining_hammer_head_extruder_mold", + "tfg:sword_head_extruder_mold", + "tfg:pickaxe_head_extruder_mold", + "tfg:shovel_head_extruder_mold", + "tfg:axe_head_extruder_mold", + "tfg:hoe_head_extruder_mold", + "tfg:scythe_head_extruder_mold", + "tfg:file_head_extruder_mold", + "tfg:hammer_head_extruder_mold", + "tfg:saw_head_extruder_mold", + "tfg:knife_head_extruder_mold", + "tfg:butchery_knife_head_extruder_mold", + "tfg:spade_head_extruder_mold", + "tfg:propick_head_extruder_mold", + "tfg:javelin_head_extruder_mold", + "tfg:chisel_head_extruder_mold", + "tfg:mace_head_extruder_mold", + "tfg:mattock_head_extruder_mold", + "tfg:fish_hook_extruder_mold", + "tfg:whisk_extruder_mold", + "tfg:screwdriver_tip_extruder_mold", + "tfg:wrench_tip_extruder_mold", + "tfg:wire_cutter_head_extruder_mold", + "tfg:small_casing_extruder_mold", + "tfg:shell_casing_extruder_mold", + "tfg:large_casing_extruder_mold", +]); + +global.GTCEU_EXTRUDER_MOLDS = /** @type {const} */ ([ + "gtceu:plate_extruder_mold", + "gtceu:rod_extruder_mold", + "gtceu:bolt_extruder_mold", + "gtceu:ring_extruder_mold", + "gtceu:cell_extruder_mold", + "gtceu:ingot_extruder_mold", + "gtceu:wire_extruder_mold", + "gtceu:tiny_pipe_extruder_mold", + "gtceu:small_pipe_extruder_mold", + "gtceu:normal_pipe_extruder_mold", + "gtceu:large_pipe_extruder_mold", + "gtceu:huge_pipe_extruder_mold", + "gtceu:block_extruder_mold", + "gtceu:gear_extruder_mold", + "gtceu:bottle_extruder_mold", + "gtceu:foil_extruder_mold", + "gtceu:small_gear_extruder_mold", + "gtceu:rotor_extruder_mold", +]); //#endregion //#region Casting Molds /** @global */ -global.TFG_CASTING_MOLDS = [ - 'tfg:lamp_casting_mold', - 'tfg:trapdoor_casting_mold', - 'tfg:chain_casting_mold', - 'tfg:bell_casting_mold' -]; +global.TFG_CASTING_MOLDS = /** @type {const} */ ([ + "tfg:lamp_casting_mold", + "tfg:trapdoor_casting_mold", + "tfg:chain_casting_mold", + "tfg:bell_casting_mold", +]); + +global.GTCEU_CASTING_MOLDS = /** @type {const} */ ([ + "gtceu:plate_casting_mold", + "gtceu:gear_casting_mold", + "gtceu:bottle_casting_mold", + "gtceu:ingot_casting_mold", + "gtceu:ball_casting_mold", + "gtceu:block_casting_mold", + "gtceu:nugget_casting_mold", + "gtceu:cylinder_casting_mold", + "gtceu:anvil_casting_mold", + "gtceu:name_casting_mold", + "gtceu:small_gear_casting_mold", + "gtceu:rotor_casting_mold", + "gtceu:pill_casting_mold", +]); //#endregion //#region Ore Bearing Stone /** @global */ -global.ORE_BEARING_STONES = [ - 'gabbro', - 'shale', - 'claystone', - 'limestone', - 'conglomerate', - 'dolomite', - 'chert', - 'chalk', - 'rhyolite', - 'dacite', - 'quartzite', - 'slate', - 'phyllite', - 'schist', - 'gneiss', - 'marble', - 'basalt', - 'diorite', - 'andesite', - 'granite', +global.ORE_BEARING_STONES = /** @type {const} */ ([ + "gabbro", + "shale", + "claystone", + "limestone", + "conglomerate", + "dolomite", + "chert", + "chalk", + "rhyolite", + "dacite", + "quartzite", + "slate", + "phyllite", + "schist", + "gneiss", + "marble", + "basalt", + "diorite", + "andesite", + "granite", - 'deepslate', - 'pyroxenite', - 'dripstone', + "deepslate", + "pyroxenite", + "dripstone", - 'moon_stone', - 'moon_deepslate', - 'mars_stone', - 'venus_stone', - 'mercury_stone', - 'glacio_stone' -]; + "moon_stone", + "moon_deepslate", + "mars_stone", + "venus_stone", + "mercury_stone", + "glacio_stone", +]); //#endregion //#region Add Circuits /** @global */ -global.ADD_CIRCUIT = [ - { recipeId: 'gtceu:chemical_reactor/tetrafluoroethylene_from_chloroform', circuitNumber: 1 }, - { recipeId: 'gtceu:chemical_reactor/hydrofluoric_acid_from_elements', circuitNumber: 2 }, -]; +global.ADD_CIRCUIT = /** @type {const} */ ([ + { recipeId: "gtceu:chemical_reactor/tetrafluoroethylene_from_chloroform", circuitNumber: 1 }, + { recipeId: "gtceu:chemical_reactor/hydrofluoric_acid_from_elements", circuitNumber: 2 }, +]); //#endregion //#region Superconductors /** @global */ -global.GTCEU_SUPERCONDUCTORS = [ - { name: 'manganese_phosphide', materialId: 'ManganesePhosphide' }, - { name: 'magnesium_diboride', materialId: 'MagnesiumDiboride' }, - { name: 'mercury_barium_calcium_cuprate', materialId: 'MercuryBariumCalciumCuprate' }, - { name: 'uranium_triplatinum', materialId: 'UraniumTriplatinum' }, - { name: 'samarium_iron_arsenic_oxide', materialId: 'SamariumIronArsenicOxide' }, - { name: 'indium_tin_barium_titanium_cuprate', materialId: 'IndiumTinBariumTitaniumCuprate' }, - { name: 'uranium_rhodium_dinaquadide', materialId: 'UraniumRhodiumDinaquadide' }, - { name: 'enriched_naquadah_trinium_europium_duranide', materialId: 'EnrichedNaquadahTriniumEuropiumDuranide' }, - { name: 'ruthenium_trinium_americium_neutronate', materialId: 'RutheniumTriniumAmericiumNeutronate' } -] +global.GTCEU_SUPERCONDUCTORS = /** @type {const} */ ([ + { name: "manganese_phosphide", materialId: "ManganesePhosphide" }, + { name: "magnesium_diboride", materialId: "MagnesiumDiboride" }, + { name: "mercury_barium_calcium_cuprate", materialId: "MercuryBariumCalciumCuprate" }, + { name: "uranium_triplatinum", materialId: "UraniumTriplatinum" }, + { name: "samarium_iron_arsenic_oxide", materialId: "SamariumIronArsenicOxide" }, + { name: "indium_tin_barium_titanium_cuprate", materialId: "IndiumTinBariumTitaniumCuprate" }, + { name: "uranium_rhodium_dinaquadide", materialId: "UraniumRhodiumDinaquadide" }, + { name: "enriched_naquadah_trinium_europium_duranide", materialId: "EnrichedNaquadahTriniumEuropiumDuranide" }, + { name: "ruthenium_trinium_americium_neutronate", materialId: "RutheniumTriniumAmericiumNeutronate" }, +]); //#endregion - diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 85ff1b4bd..baa62764e 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -2,11 +2,9 @@ "use strict"; /** - * Список хранит предметы, - * у которых должны быть удалены тэги и они должны быть скрыты в REI. + * Contains items, that should have their tags removed and be hidden from EMI. */ -global.TFC_DISABLED_ITEMS = [ - +global.TFC_DISABLED_ITEMS = /** @type {const} */ ([ // Ingots "tfc:metal/ingot/bismuth", "tfc:metal/ingot/bismuth_bronze", @@ -41,7 +39,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/double_ingot/zinc", "tfc:metal/double_ingot/copper", "tfc:metal/double_ingot/gold", - + // Sheets "tfc:metal/sheet/bismuth", "tfc:metal/sheet/bismuth_bronze", @@ -63,7 +61,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/sheet/tin", "tfc:metal/sheet/zinc", "tfc:metal/sheet/cast_iron", - + // Double Sheets "tfc:metal/double_sheet/bismuth", "tfc:metal/double_sheet/bismuth_bronze", @@ -85,7 +83,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/double_sheet/tin", "tfc:metal/double_sheet/zinc", "tfc:metal/double_sheet/cast_iron", - + // Rods "tfc:metal/rod/bismuth", "tfc:metal/rod/bismuth_bronze", @@ -107,371 +105,371 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/rod/tin", "tfc:metal/rod/zinc", "tfc:metal/rod/cast_iron", - + // Tool Heads // Copper - 'tfc:metal/pickaxe/copper', - 'tfc:metal/pickaxe_head/copper', - 'tfc:metal/axe/copper', - 'tfc:metal/axe_head/copper', - 'tfc:metal/shovel/copper', - 'tfc:metal/shovel_head/copper', - 'tfc:metal/hoe/copper', - 'tfc:metal/hoe_head/copper', - 'tfc:metal/hammer/copper', - 'tfc:metal/hammer_head/copper', - 'tfc:metal/saw/copper', - 'tfc:metal/saw_blade/copper', - 'tfc:metal/sword/copper', - 'tfc:metal/sword_blade/copper', - 'tfc:metal/knife/copper', - 'tfc:metal/knife_blade/copper', - 'tfc:metal/scythe/copper', - 'tfc:metal/scythe_blade/copper', + "tfc:metal/pickaxe/copper", + "tfc:metal/pickaxe_head/copper", + "tfc:metal/axe/copper", + "tfc:metal/axe_head/copper", + "tfc:metal/shovel/copper", + "tfc:metal/shovel_head/copper", + "tfc:metal/hoe/copper", + "tfc:metal/hoe_head/copper", + "tfc:metal/hammer/copper", + "tfc:metal/hammer_head/copper", + "tfc:metal/saw/copper", + "tfc:metal/saw_blade/copper", + "tfc:metal/sword/copper", + "tfc:metal/sword_blade/copper", + "tfc:metal/knife/copper", + "tfc:metal/knife_blade/copper", + "tfc:metal/scythe/copper", + "tfc:metal/scythe_blade/copper", // Bismuth Bronze - 'tfc:metal/pickaxe/bismuth_bronze', - 'tfc:metal/pickaxe_head/bismuth_bronze', - 'tfc:metal/axe/bismuth_bronze', - 'tfc:metal/axe_head/bismuth_bronze', - 'tfc:metal/shovel/bismuth_bronze', - 'tfc:metal/shovel_head/bismuth_bronze', - 'tfc:metal/hoe/bismuth_bronze', - 'tfc:metal/hoe_head/bismuth_bronze', - 'tfc:metal/hammer/bismuth_bronze', - 'tfc:metal/hammer_head/bismuth_bronze', - 'tfc:metal/saw/bismuth_bronze', - 'tfc:metal/saw_blade/bismuth_bronze', - 'tfc:metal/sword/bismuth_bronze', - 'tfc:metal/sword_blade/bismuth_bronze', - 'tfc:metal/knife/bismuth_bronze', - 'tfc:metal/knife_blade/bismuth_bronze', - 'tfc:metal/scythe/bismuth_bronze', - 'tfc:metal/scythe_blade/bismuth_bronze', + "tfc:metal/pickaxe/bismuth_bronze", + "tfc:metal/pickaxe_head/bismuth_bronze", + "tfc:metal/axe/bismuth_bronze", + "tfc:metal/axe_head/bismuth_bronze", + "tfc:metal/shovel/bismuth_bronze", + "tfc:metal/shovel_head/bismuth_bronze", + "tfc:metal/hoe/bismuth_bronze", + "tfc:metal/hoe_head/bismuth_bronze", + "tfc:metal/hammer/bismuth_bronze", + "tfc:metal/hammer_head/bismuth_bronze", + "tfc:metal/saw/bismuth_bronze", + "tfc:metal/saw_blade/bismuth_bronze", + "tfc:metal/sword/bismuth_bronze", + "tfc:metal/sword_blade/bismuth_bronze", + "tfc:metal/knife/bismuth_bronze", + "tfc:metal/knife_blade/bismuth_bronze", + "tfc:metal/scythe/bismuth_bronze", + "tfc:metal/scythe_blade/bismuth_bronze", // Bronze - 'tfc:metal/pickaxe/bronze', - 'tfc:metal/pickaxe_head/bronze', - 'tfc:metal/axe/bronze', - 'tfc:metal/axe_head/bronze', - 'tfc:metal/shovel/bronze', - 'tfc:metal/shovel_head/bronze', - 'tfc:metal/hoe/bronze', - 'tfc:metal/hoe_head/bronze', - 'tfc:metal/hammer/bronze', - 'tfc:metal/hammer_head/bronze', - 'tfc:metal/saw/bronze', - 'tfc:metal/saw_blade/bronze', - 'tfc:metal/sword/bronze', - 'tfc:metal/sword_blade/bronze', - 'tfc:metal/knife/bronze', - 'tfc:metal/knife_blade/bronze', - 'tfc:metal/scythe/bronze', - 'tfc:metal/scythe_blade/bronze', + "tfc:metal/pickaxe/bronze", + "tfc:metal/pickaxe_head/bronze", + "tfc:metal/axe/bronze", + "tfc:metal/axe_head/bronze", + "tfc:metal/shovel/bronze", + "tfc:metal/shovel_head/bronze", + "tfc:metal/hoe/bronze", + "tfc:metal/hoe_head/bronze", + "tfc:metal/hammer/bronze", + "tfc:metal/hammer_head/bronze", + "tfc:metal/saw/bronze", + "tfc:metal/saw_blade/bronze", + "tfc:metal/sword/bronze", + "tfc:metal/sword_blade/bronze", + "tfc:metal/knife/bronze", + "tfc:metal/knife_blade/bronze", + "tfc:metal/scythe/bronze", + "tfc:metal/scythe_blade/bronze", // Black Bronze - 'tfc:metal/pickaxe/black_bronze', - 'tfc:metal/pickaxe_head/black_bronze', - 'tfc:metal/axe/black_bronze', - 'tfc:metal/axe_head/black_bronze', - 'tfc:metal/shovel/black_bronze', - 'tfc:metal/shovel_head/black_bronze', - 'tfc:metal/hoe/black_bronze', - 'tfc:metal/hoe_head/black_bronze', - 'tfc:metal/hammer/black_bronze', - 'tfc:metal/hammer_head/black_bronze', - 'tfc:metal/saw/black_bronze', - 'tfc:metal/saw_blade/black_bronze', - 'tfc:metal/sword/black_bronze', - 'tfc:metal/sword_blade/black_bronze', - 'tfc:metal/knife/black_bronze', - 'tfc:metal/knife_blade/black_bronze', - 'tfc:metal/scythe/black_bronze', - 'tfc:metal/scythe_blade/black_bronze', + "tfc:metal/pickaxe/black_bronze", + "tfc:metal/pickaxe_head/black_bronze", + "tfc:metal/axe/black_bronze", + "tfc:metal/axe_head/black_bronze", + "tfc:metal/shovel/black_bronze", + "tfc:metal/shovel_head/black_bronze", + "tfc:metal/hoe/black_bronze", + "tfc:metal/hoe_head/black_bronze", + "tfc:metal/hammer/black_bronze", + "tfc:metal/hammer_head/black_bronze", + "tfc:metal/saw/black_bronze", + "tfc:metal/saw_blade/black_bronze", + "tfc:metal/sword/black_bronze", + "tfc:metal/sword_blade/black_bronze", + "tfc:metal/knife/black_bronze", + "tfc:metal/knife_blade/black_bronze", + "tfc:metal/scythe/black_bronze", + "tfc:metal/scythe_blade/black_bronze", // Wrought Iron - 'tfc:metal/pickaxe/wrought_iron', - 'tfc:metal/pickaxe_head/wrought_iron', - 'tfc:metal/axe/wrought_iron', - 'tfc:metal/axe_head/wrought_iron', - 'tfc:metal/shovel/wrought_iron', - 'tfc:metal/shovel_head/wrought_iron', - 'tfc:metal/hoe/wrought_iron', - 'tfc:metal/hoe_head/wrought_iron', - 'tfc:metal/hammer/wrought_iron', - 'tfc:metal/hammer_head/wrought_iron', - 'tfc:metal/saw/wrought_iron', - 'tfc:metal/saw_blade/wrought_iron', - 'tfc:metal/sword/wrought_iron', - 'tfc:metal/sword_blade/wrought_iron', - 'tfc:metal/knife/wrought_iron', - 'tfc:metal/knife_blade/wrought_iron', - 'tfc:metal/scythe/wrought_iron', - 'tfc:metal/scythe_blade/wrought_iron', + "tfc:metal/pickaxe/wrought_iron", + "tfc:metal/pickaxe_head/wrought_iron", + "tfc:metal/axe/wrought_iron", + "tfc:metal/axe_head/wrought_iron", + "tfc:metal/shovel/wrought_iron", + "tfc:metal/shovel_head/wrought_iron", + "tfc:metal/hoe/wrought_iron", + "tfc:metal/hoe_head/wrought_iron", + "tfc:metal/hammer/wrought_iron", + "tfc:metal/hammer_head/wrought_iron", + "tfc:metal/saw/wrought_iron", + "tfc:metal/saw_blade/wrought_iron", + "tfc:metal/sword/wrought_iron", + "tfc:metal/sword_blade/wrought_iron", + "tfc:metal/knife/wrought_iron", + "tfc:metal/knife_blade/wrought_iron", + "tfc:metal/scythe/wrought_iron", + "tfc:metal/scythe_blade/wrought_iron", // Steel - 'tfc:metal/pickaxe/steel', - 'tfc:metal/pickaxe_head/steel', - 'tfc:metal/axe/steel', - 'tfc:metal/axe_head/steel', - 'tfc:metal/shovel/steel', - 'tfc:metal/shovel_head/steel', - 'tfc:metal/hoe/steel', - 'tfc:metal/hoe_head/steel', - 'tfc:metal/hammer/steel', - 'tfc:metal/hammer_head/steel', - 'tfc:metal/saw/steel', - 'tfc:metal/saw_blade/steel', - 'tfc:metal/sword/steel', - 'tfc:metal/sword_blade/steel', - 'tfc:metal/knife/steel', - 'tfc:metal/knife_blade/steel', - 'tfc:metal/scythe/steel', - 'tfc:metal/scythe_blade/steel', + "tfc:metal/pickaxe/steel", + "tfc:metal/pickaxe_head/steel", + "tfc:metal/axe/steel", + "tfc:metal/axe_head/steel", + "tfc:metal/shovel/steel", + "tfc:metal/shovel_head/steel", + "tfc:metal/hoe/steel", + "tfc:metal/hoe_head/steel", + "tfc:metal/hammer/steel", + "tfc:metal/hammer_head/steel", + "tfc:metal/saw/steel", + "tfc:metal/saw_blade/steel", + "tfc:metal/sword/steel", + "tfc:metal/sword_blade/steel", + "tfc:metal/knife/steel", + "tfc:metal/knife_blade/steel", + "tfc:metal/scythe/steel", + "tfc:metal/scythe_blade/steel", // Black Steel - 'tfc:metal/pickaxe/black_steel', - 'tfc:metal/pickaxe_head/black_steel', - 'tfc:metal/axe/black_steel', - 'tfc:metal/axe_head/black_steel', - 'tfc:metal/shovel/black_steel', - 'tfc:metal/shovel_head/black_steel', - 'tfc:metal/hoe/black_steel', - 'tfc:metal/hoe_head/black_steel', - 'tfc:metal/hammer/black_steel', - 'tfc:metal/hammer_head/black_steel', - 'tfc:metal/saw/black_steel', - 'tfc:metal/saw_blade/black_steel', - 'tfc:metal/sword/black_steel', - 'tfc:metal/sword_blade/black_steel', - 'tfc:metal/knife/black_steel', - 'tfc:metal/knife_blade/black_steel', - 'tfc:metal/scythe/black_steel', - 'tfc:metal/scythe_blade/black_steel', + "tfc:metal/pickaxe/black_steel", + "tfc:metal/pickaxe_head/black_steel", + "tfc:metal/axe/black_steel", + "tfc:metal/axe_head/black_steel", + "tfc:metal/shovel/black_steel", + "tfc:metal/shovel_head/black_steel", + "tfc:metal/hoe/black_steel", + "tfc:metal/hoe_head/black_steel", + "tfc:metal/hammer/black_steel", + "tfc:metal/hammer_head/black_steel", + "tfc:metal/saw/black_steel", + "tfc:metal/saw_blade/black_steel", + "tfc:metal/sword/black_steel", + "tfc:metal/sword_blade/black_steel", + "tfc:metal/knife/black_steel", + "tfc:metal/knife_blade/black_steel", + "tfc:metal/scythe/black_steel", + "tfc:metal/scythe_blade/black_steel", // Red Steel - 'tfc:metal/pickaxe/red_steel', - 'tfc:metal/pickaxe_head/red_steel', - 'tfc:metal/axe/red_steel', - 'tfc:metal/axe_head/red_steel', - 'tfc:metal/shovel/red_steel', - 'tfc:metal/shovel_head/red_steel', - 'tfc:metal/hoe/red_steel', - 'tfc:metal/hoe_head/red_steel', - 'tfc:metal/hammer/red_steel', - 'tfc:metal/hammer_head/red_steel', - 'tfc:metal/saw/red_steel', - 'tfc:metal/saw_blade/red_steel', - 'tfc:metal/sword/red_steel', - 'tfc:metal/sword_blade/red_steel', - 'tfc:metal/knife/red_steel', - 'tfc:metal/knife_blade/red_steel', - 'tfc:metal/scythe/red_steel', - 'tfc:metal/scythe_blade/red_steel', + "tfc:metal/pickaxe/red_steel", + "tfc:metal/pickaxe_head/red_steel", + "tfc:metal/axe/red_steel", + "tfc:metal/axe_head/red_steel", + "tfc:metal/shovel/red_steel", + "tfc:metal/shovel_head/red_steel", + "tfc:metal/hoe/red_steel", + "tfc:metal/hoe_head/red_steel", + "tfc:metal/hammer/red_steel", + "tfc:metal/hammer_head/red_steel", + "tfc:metal/saw/red_steel", + "tfc:metal/saw_blade/red_steel", + "tfc:metal/sword/red_steel", + "tfc:metal/sword_blade/red_steel", + "tfc:metal/knife/red_steel", + "tfc:metal/knife_blade/red_steel", + "tfc:metal/scythe/red_steel", + "tfc:metal/scythe_blade/red_steel", // Blue Steel - 'tfc:metal/pickaxe/blue_steel', - 'tfc:metal/pickaxe_head/blue_steel', - 'tfc:metal/axe/blue_steel', - 'tfc:metal/axe_head/blue_steel', - 'tfc:metal/shovel/blue_steel', - 'tfc:metal/shovel_head/blue_steel', - 'tfc:metal/hoe/blue_steel', - 'tfc:metal/hoe_head/blue_steel', - 'tfc:metal/hammer/blue_steel', - 'tfc:metal/hammer_head/blue_steel', - 'tfc:metal/saw/blue_steel', - 'tfc:metal/saw_blade/blue_steel', - 'tfc:metal/sword/blue_steel', - 'tfc:metal/sword_blade/blue_steel', - 'tfc:metal/knife/blue_steel', - 'tfc:metal/knife_blade/blue_steel', - 'tfc:metal/scythe/blue_steel', - 'tfc:metal/scythe_blade/blue_steel', - - // Gems - 'tfc:gem/amethyst', - 'tfc:gem/diamond', - 'tfc:gem/lapis_lazuli', - 'tfc:gem/emerald', - 'tfc:gem/pyrite', - 'tfc:gem/opal', - 'tfc:gem/ruby', - 'tfc:gem/sapphire', - 'tfc:gem/topaz', - 'tfc:ore/amethyst', - 'tfc:ore/diamond', - 'tfc:ore/lapis_lazuli', - 'tfc:ore/emerald', - 'tfc:ore/pyrite', - 'tfc:ore/opal', - 'tfc:ore/ruby', - 'tfc:ore/sapphire', - 'tfc:ore/topaz', + "tfc:metal/pickaxe/blue_steel", + "tfc:metal/pickaxe_head/blue_steel", + "tfc:metal/axe/blue_steel", + "tfc:metal/axe_head/blue_steel", + "tfc:metal/shovel/blue_steel", + "tfc:metal/shovel_head/blue_steel", + "tfc:metal/hoe/blue_steel", + "tfc:metal/hoe_head/blue_steel", + "tfc:metal/hammer/blue_steel", + "tfc:metal/hammer_head/blue_steel", + "tfc:metal/saw/blue_steel", + "tfc:metal/saw_blade/blue_steel", + "tfc:metal/sword/blue_steel", + "tfc:metal/sword_blade/blue_steel", + "tfc:metal/knife/blue_steel", + "tfc:metal/knife_blade/blue_steel", + "tfc:metal/scythe/blue_steel", + "tfc:metal/scythe_blade/blue_steel", - 'tfc:ore/graphite', - 'tfc:ore/sulfur', - 'tfc:ore/cinnabar', - 'tfc:ore/cryolite', - 'tfc:ore/saltpeter', - 'tfc:ore/borax', - 'tfc:ore/bituminous_coal', - 'tfc:ore/lignite', - 'tfc:ore/halite', + // Gems + "tfc:gem/amethyst", + "tfc:gem/diamond", + "tfc:gem/lapis_lazuli", + "tfc:gem/emerald", + "tfc:gem/pyrite", + "tfc:gem/opal", + "tfc:gem/ruby", + "tfc:gem/sapphire", + "tfc:gem/topaz", + "tfc:ore/amethyst", + "tfc:ore/diamond", + "tfc:ore/lapis_lazuli", + "tfc:ore/emerald", + "tfc:ore/pyrite", + "tfc:ore/opal", + "tfc:ore/ruby", + "tfc:ore/sapphire", + "tfc:ore/topaz", + + "tfc:ore/graphite", + "tfc:ore/sulfur", + "tfc:ore/cinnabar", + "tfc:ore/cryolite", + "tfc:ore/saltpeter", + "tfc:ore/borax", + "tfc:ore/bituminous_coal", + "tfc:ore/lignite", + "tfc:ore/halite", // Axles - 'tfc:wood/axle/acacia', - 'tfc:wood/axle/ash', - 'tfc:wood/axle/aspen', - 'tfc:wood/axle/birch', - 'tfc:wood/axle/blackwood', - 'tfc:wood/axle/chestnut', - 'tfc:wood/axle/douglas_fir', - 'tfc:wood/axle/hickory', - 'tfc:wood/axle/kapok', - 'tfc:wood/axle/mangrove', - 'tfc:wood/axle/maple', - 'tfc:wood/axle/oak', - 'tfc:wood/axle/palm', - 'tfc:wood/axle/pine', - 'tfc:wood/axle/rosewood', - 'tfc:wood/axle/sequoia', - 'tfc:wood/axle/spruce', - 'tfc:wood/axle/sycamore', - 'tfc:wood/axle/white_cedar', - 'tfc:wood/axle/willow', + "tfc:wood/axle/acacia", + "tfc:wood/axle/ash", + "tfc:wood/axle/aspen", + "tfc:wood/axle/birch", + "tfc:wood/axle/blackwood", + "tfc:wood/axle/chestnut", + "tfc:wood/axle/douglas_fir", + "tfc:wood/axle/hickory", + "tfc:wood/axle/kapok", + "tfc:wood/axle/mangrove", + "tfc:wood/axle/maple", + "tfc:wood/axle/oak", + "tfc:wood/axle/palm", + "tfc:wood/axle/pine", + "tfc:wood/axle/rosewood", + "tfc:wood/axle/sequoia", + "tfc:wood/axle/spruce", + "tfc:wood/axle/sycamore", + "tfc:wood/axle/white_cedar", + "tfc:wood/axle/willow", // Bladed Axles - 'tfc:wood/bladed_axle/acacia', - 'tfc:wood/bladed_axle/ash', - 'tfc:wood/bladed_axle/aspen', - 'tfc:wood/bladed_axle/birch', - 'tfc:wood/bladed_axle/blackwood', - 'tfc:wood/bladed_axle/chestnut', - 'tfc:wood/bladed_axle/douglas_fir', - 'tfc:wood/bladed_axle/hickory', - 'tfc:wood/bladed_axle/kapok', - 'tfc:wood/bladed_axle/mangrove', - 'tfc:wood/bladed_axle/maple', - 'tfc:wood/bladed_axle/oak', - 'tfc:wood/bladed_axle/palm', - 'tfc:wood/bladed_axle/pine', - 'tfc:wood/bladed_axle/rosewood', - 'tfc:wood/bladed_axle/sequoia', - 'tfc:wood/bladed_axle/spruce', - 'tfc:wood/bladed_axle/sycamore', - 'tfc:wood/bladed_axle/white_cedar', - 'tfc:wood/bladed_axle/willow', + "tfc:wood/bladed_axle/acacia", + "tfc:wood/bladed_axle/ash", + "tfc:wood/bladed_axle/aspen", + "tfc:wood/bladed_axle/birch", + "tfc:wood/bladed_axle/blackwood", + "tfc:wood/bladed_axle/chestnut", + "tfc:wood/bladed_axle/douglas_fir", + "tfc:wood/bladed_axle/hickory", + "tfc:wood/bladed_axle/kapok", + "tfc:wood/bladed_axle/mangrove", + "tfc:wood/bladed_axle/maple", + "tfc:wood/bladed_axle/oak", + "tfc:wood/bladed_axle/palm", + "tfc:wood/bladed_axle/pine", + "tfc:wood/bladed_axle/rosewood", + "tfc:wood/bladed_axle/sequoia", + "tfc:wood/bladed_axle/spruce", + "tfc:wood/bladed_axle/sycamore", + "tfc:wood/bladed_axle/white_cedar", + "tfc:wood/bladed_axle/willow", // Encased Axles - 'tfc:wood/encased_axle/acacia', - 'tfc:wood/encased_axle/ash', - 'tfc:wood/encased_axle/aspen', - 'tfc:wood/encased_axle/birch', - 'tfc:wood/encased_axle/blackwood', - 'tfc:wood/encased_axle/chestnut', - 'tfc:wood/encased_axle/douglas_fir', - 'tfc:wood/encased_axle/hickory', - 'tfc:wood/encased_axle/kapok', - 'tfc:wood/encased_axle/mangrove', - 'tfc:wood/encased_axle/maple', - 'tfc:wood/encased_axle/oak', - 'tfc:wood/encased_axle/palm', - 'tfc:wood/encased_axle/pine', - 'tfc:wood/encased_axle/rosewood', - 'tfc:wood/encased_axle/sequoia', - 'tfc:wood/encased_axle/spruce', - 'tfc:wood/encased_axle/sycamore', - 'tfc:wood/encased_axle/white_cedar', - 'tfc:wood/encased_axle/willow', + "tfc:wood/encased_axle/acacia", + "tfc:wood/encased_axle/ash", + "tfc:wood/encased_axle/aspen", + "tfc:wood/encased_axle/birch", + "tfc:wood/encased_axle/blackwood", + "tfc:wood/encased_axle/chestnut", + "tfc:wood/encased_axle/douglas_fir", + "tfc:wood/encased_axle/hickory", + "tfc:wood/encased_axle/kapok", + "tfc:wood/encased_axle/mangrove", + "tfc:wood/encased_axle/maple", + "tfc:wood/encased_axle/oak", + "tfc:wood/encased_axle/palm", + "tfc:wood/encased_axle/pine", + "tfc:wood/encased_axle/rosewood", + "tfc:wood/encased_axle/sequoia", + "tfc:wood/encased_axle/spruce", + "tfc:wood/encased_axle/sycamore", + "tfc:wood/encased_axle/white_cedar", + "tfc:wood/encased_axle/willow", // Clutches - 'tfc:wood/clutch/acacia', - 'tfc:wood/clutch/ash', - 'tfc:wood/clutch/aspen', - 'tfc:wood/clutch/birch', - 'tfc:wood/clutch/blackwood', - 'tfc:wood/clutch/chestnut', - 'tfc:wood/clutch/douglas_fir', - 'tfc:wood/clutch/hickory', - 'tfc:wood/clutch/kapok', - 'tfc:wood/clutch/mangrove', - 'tfc:wood/clutch/maple', - 'tfc:wood/clutch/oak', - 'tfc:wood/clutch/palm', - 'tfc:wood/clutch/pine', - 'tfc:wood/clutch/rosewood', - 'tfc:wood/clutch/sequoia', - 'tfc:wood/clutch/spruce', - 'tfc:wood/clutch/sycamore', - 'tfc:wood/clutch/white_cedar', - 'tfc:wood/clutch/willow', + "tfc:wood/clutch/acacia", + "tfc:wood/clutch/ash", + "tfc:wood/clutch/aspen", + "tfc:wood/clutch/birch", + "tfc:wood/clutch/blackwood", + "tfc:wood/clutch/chestnut", + "tfc:wood/clutch/douglas_fir", + "tfc:wood/clutch/hickory", + "tfc:wood/clutch/kapok", + "tfc:wood/clutch/mangrove", + "tfc:wood/clutch/maple", + "tfc:wood/clutch/oak", + "tfc:wood/clutch/palm", + "tfc:wood/clutch/pine", + "tfc:wood/clutch/rosewood", + "tfc:wood/clutch/sequoia", + "tfc:wood/clutch/spruce", + "tfc:wood/clutch/sycamore", + "tfc:wood/clutch/white_cedar", + "tfc:wood/clutch/willow", // Gear Boxes - 'tfc:wood/gear_box/acacia', - 'tfc:wood/gear_box/ash', - 'tfc:wood/gear_box/aspen', - 'tfc:wood/gear_box/birch', - 'tfc:wood/gear_box/blackwood', - 'tfc:wood/gear_box/chestnut', - 'tfc:wood/gear_box/douglas_fir', - 'tfc:wood/gear_box/hickory', - 'tfc:wood/gear_box/kapok', - 'tfc:wood/gear_box/mangrove', - 'tfc:wood/gear_box/maple', - 'tfc:wood/gear_box/oak', - 'tfc:wood/gear_box/palm', - 'tfc:wood/gear_box/pine', - 'tfc:wood/gear_box/rosewood', - 'tfc:wood/gear_box/sequoia', - 'tfc:wood/gear_box/spruce', - 'tfc:wood/gear_box/sycamore', - 'tfc:wood/gear_box/white_cedar', - 'tfc:wood/gear_box/willow', + "tfc:wood/gear_box/acacia", + "tfc:wood/gear_box/ash", + "tfc:wood/gear_box/aspen", + "tfc:wood/gear_box/birch", + "tfc:wood/gear_box/blackwood", + "tfc:wood/gear_box/chestnut", + "tfc:wood/gear_box/douglas_fir", + "tfc:wood/gear_box/hickory", + "tfc:wood/gear_box/kapok", + "tfc:wood/gear_box/mangrove", + "tfc:wood/gear_box/maple", + "tfc:wood/gear_box/oak", + "tfc:wood/gear_box/palm", + "tfc:wood/gear_box/pine", + "tfc:wood/gear_box/rosewood", + "tfc:wood/gear_box/sequoia", + "tfc:wood/gear_box/spruce", + "tfc:wood/gear_box/sycamore", + "tfc:wood/gear_box/white_cedar", + "tfc:wood/gear_box/willow", - // Water Wheels - 'tfc:wood/water_wheel/acacia', - 'tfc:wood/water_wheel/ash', - 'tfc:wood/water_wheel/aspen', - 'tfc:wood/water_wheel/birch', - 'tfc:wood/water_wheel/blackwood', - 'tfc:wood/water_wheel/chestnut', - 'tfc:wood/water_wheel/douglas_fir', - 'tfc:wood/water_wheel/hickory', - 'tfc:wood/water_wheel/kapok', - 'tfc:wood/water_wheel/mangrove', - 'tfc:wood/water_wheel/maple', - 'tfc:wood/water_wheel/oak', - 'tfc:wood/water_wheel/palm', - 'tfc:wood/water_wheel/pine', - 'tfc:wood/water_wheel/rosewood', - 'tfc:wood/water_wheel/sequoia', - 'tfc:wood/water_wheel/spruce', - 'tfc:wood/water_wheel/sycamore', - 'tfc:wood/water_wheel/white_cedar', - 'tfc:wood/water_wheel/willow', + // Water Wheels + "tfc:wood/water_wheel/acacia", + "tfc:wood/water_wheel/ash", + "tfc:wood/water_wheel/aspen", + "tfc:wood/water_wheel/birch", + "tfc:wood/water_wheel/blackwood", + "tfc:wood/water_wheel/chestnut", + "tfc:wood/water_wheel/douglas_fir", + "tfc:wood/water_wheel/hickory", + "tfc:wood/water_wheel/kapok", + "tfc:wood/water_wheel/mangrove", + "tfc:wood/water_wheel/maple", + "tfc:wood/water_wheel/oak", + "tfc:wood/water_wheel/palm", + "tfc:wood/water_wheel/pine", + "tfc:wood/water_wheel/rosewood", + "tfc:wood/water_wheel/sequoia", + "tfc:wood/water_wheel/spruce", + "tfc:wood/water_wheel/sycamore", + "tfc:wood/water_wheel/white_cedar", + "tfc:wood/water_wheel/willow", // Boat - 'tfc:wood/boat/acacia', - 'tfc:wood/boat/ash', - 'tfc:wood/boat/aspen', - 'tfc:wood/boat/birch', - 'tfc:wood/boat/blackwood', - 'tfc:wood/boat/chestnut', - 'tfc:wood/boat/douglas_fir', - 'tfc:wood/boat/hickory', - 'tfc:wood/boat/kapok', - 'tfc:wood/boat/mangrove', - 'tfc:wood/boat/maple', - 'tfc:wood/boat/oak', - 'tfc:wood/boat/palm', - 'tfc:wood/boat/pine', - 'tfc:wood/boat/rosewood', - 'tfc:wood/boat/sequoia', - 'tfc:wood/boat/spruce', - 'tfc:wood/boat/sycamore', - 'tfc:wood/boat/white_cedar', - 'tfc:wood/boat/willow', + "tfc:wood/boat/acacia", + "tfc:wood/boat/ash", + "tfc:wood/boat/aspen", + "tfc:wood/boat/birch", + "tfc:wood/boat/blackwood", + "tfc:wood/boat/chestnut", + "tfc:wood/boat/douglas_fir", + "tfc:wood/boat/hickory", + "tfc:wood/boat/kapok", + "tfc:wood/boat/mangrove", + "tfc:wood/boat/maple", + "tfc:wood/boat/oak", + "tfc:wood/boat/palm", + "tfc:wood/boat/pine", + "tfc:wood/boat/rosewood", + "tfc:wood/boat/sequoia", + "tfc:wood/boat/spruce", + "tfc:wood/boat/sycamore", + "tfc:wood/boat/white_cedar", + "tfc:wood/boat/willow", // Windmill Blades "tfc:windmill_blade", @@ -493,149 +491,149 @@ global.TFC_DISABLED_ITEMS = [ "tfc:red_windmill_blade", "tfc:black_windmill_blade", - // Каменные инстрменты - 'tfc:stone/knife_head/igneous_extrusive', - 'tfc:stone/knife_head/igneous_intrusive', - 'tfc:stone/knife_head/metamorphic', - 'tfc:stone/knife_head/sedimentary', - - 'tfc:stone/knife/igneous_extrusive', - 'tfc:stone/knife/igneous_intrusive', - 'tfc:stone/knife/metamorphic', - 'tfc:stone/knife/sedimentary', - - 'tfc:stone/axe_head/igneous_extrusive', - 'tfc:stone/axe_head/igneous_intrusive', - 'tfc:stone/axe_head/metamorphic', - 'tfc:stone/axe_head/sedimentary', - - 'tfc:stone/axe/igneous_extrusive', - 'tfc:stone/axe/igneous_intrusive', - 'tfc:stone/axe/metamorphic', - 'tfc:stone/axe/sedimentary', - - 'tfc:stone/shovel_head/igneous_extrusive', - 'tfc:stone/shovel_head/igneous_intrusive', - 'tfc:stone/shovel_head/metamorphic', - 'tfc:stone/shovel_head/sedimentary', - - 'tfc:stone/shovel/igneous_extrusive', - 'tfc:stone/shovel/igneous_intrusive', - 'tfc:stone/shovel/metamorphic', - 'tfc:stone/shovel/sedimentary', - - 'tfc:stone/hammer_head/igneous_extrusive', - 'tfc:stone/hammer_head/igneous_intrusive', - 'tfc:stone/hammer_head/metamorphic', - 'tfc:stone/hammer_head/sedimentary', - - 'tfc:stone/hammer/igneous_extrusive', - 'tfc:stone/hammer/igneous_intrusive', - 'tfc:stone/hammer/metamorphic', - 'tfc:stone/hammer/sedimentary', - - 'tfc:stone/hoe_head/igneous_extrusive', - 'tfc:stone/hoe_head/igneous_intrusive', - 'tfc:stone/hoe_head/metamorphic', - 'tfc:stone/hoe_head/sedimentary', - - 'tfc:stone/hoe/igneous_extrusive', - 'tfc:stone/hoe/igneous_intrusive', - 'tfc:stone/hoe/metamorphic', - 'tfc:stone/hoe/sedimentary', + // Stone tools + "tfc:stone/knife_head/igneous_extrusive", + "tfc:stone/knife_head/igneous_intrusive", + "tfc:stone/knife_head/metamorphic", + "tfc:stone/knife_head/sedimentary", + + "tfc:stone/knife/igneous_extrusive", + "tfc:stone/knife/igneous_intrusive", + "tfc:stone/knife/metamorphic", + "tfc:stone/knife/sedimentary", + + "tfc:stone/axe_head/igneous_extrusive", + "tfc:stone/axe_head/igneous_intrusive", + "tfc:stone/axe_head/metamorphic", + "tfc:stone/axe_head/sedimentary", + + "tfc:stone/axe/igneous_extrusive", + "tfc:stone/axe/igneous_intrusive", + "tfc:stone/axe/metamorphic", + "tfc:stone/axe/sedimentary", + + "tfc:stone/shovel_head/igneous_extrusive", + "tfc:stone/shovel_head/igneous_intrusive", + "tfc:stone/shovel_head/metamorphic", + "tfc:stone/shovel_head/sedimentary", + + "tfc:stone/shovel/igneous_extrusive", + "tfc:stone/shovel/igneous_intrusive", + "tfc:stone/shovel/metamorphic", + "tfc:stone/shovel/sedimentary", + + "tfc:stone/hammer_head/igneous_extrusive", + "tfc:stone/hammer_head/igneous_intrusive", + "tfc:stone/hammer_head/metamorphic", + "tfc:stone/hammer_head/sedimentary", + + "tfc:stone/hammer/igneous_extrusive", + "tfc:stone/hammer/igneous_intrusive", + "tfc:stone/hammer/metamorphic", + "tfc:stone/hammer/sedimentary", + + "tfc:stone/hoe_head/igneous_extrusive", + "tfc:stone/hoe_head/igneous_intrusive", + "tfc:stone/hoe_head/metamorphic", + "tfc:stone/hoe_head/sedimentary", + + "tfc:stone/hoe/igneous_extrusive", + "tfc:stone/hoe/igneous_intrusive", + "tfc:stone/hoe/metamorphic", + "tfc:stone/hoe/sedimentary", // Other "tfc:trip_hammer", - 'tfc:steel_pipe', - 'tfc:steel_pump', - 'tfc:crankshaft', - 'tfc:hand_wheel_base', - 'tfc:hand_wheel', - 'tfc:blank_disc', - 'tfc:sandpaper', - 'tfc:brass_mechanisms', + "tfc:steel_pipe", + "tfc:steel_pump", + "tfc:crankshaft", + "tfc:hand_wheel_base", + "tfc:hand_wheel", + "tfc:blank_disc", + "tfc:sandpaper", + "tfc:brass_mechanisms", // Buckets - 'tfc:bucket/metal/bismuth', - 'tfc:bucket/metal/bismuth_bronze', - 'tfc:bucket/metal/black_bronze', - 'tfc:bucket/metal/bronze', - 'tfc:bucket/metal/brass', - 'tfc:bucket/metal/copper', - 'tfc:bucket/metal/gold', - 'tfc:bucket/metal/nickel', - 'tfc:bucket/metal/rose_gold', - 'tfc:bucket/metal/silver', - 'tfc:bucket/metal/tin', - 'tfc:bucket/metal/zinc', - 'tfc:bucket/metal/sterling_silver', - 'tfc:bucket/metal/wrought_iron', - 'tfc:bucket/metal/cast_iron', - 'tfc:bucket/metal/pig_iron', - 'tfc:bucket/metal/steel', - 'tfc:bucket/metal/black_steel', - 'tfc:bucket/metal/blue_steel', - 'tfc:bucket/metal/red_steel' -]; + "tfc:bucket/metal/bismuth", + "tfc:bucket/metal/bismuth_bronze", + "tfc:bucket/metal/black_bronze", + "tfc:bucket/metal/bronze", + "tfc:bucket/metal/brass", + "tfc:bucket/metal/copper", + "tfc:bucket/metal/gold", + "tfc:bucket/metal/nickel", + "tfc:bucket/metal/rose_gold", + "tfc:bucket/metal/silver", + "tfc:bucket/metal/tin", + "tfc:bucket/metal/zinc", + "tfc:bucket/metal/sterling_silver", + "tfc:bucket/metal/wrought_iron", + "tfc:bucket/metal/cast_iron", + "tfc:bucket/metal/pig_iron", + "tfc:bucket/metal/steel", + "tfc:bucket/metal/black_steel", + "tfc:bucket/metal/blue_steel", + "tfc:bucket/metal/red_steel", +]); -// Items that need to be hidden, but you want to keep their tags. -global.TFC_HIDDEN_ITEMS = [ - 'tfc:wild_crop/papyrus', - 'tfc:wild_crop/pumpkin', - 'tfc:wild_crop/melon', - 'tfc:wild_crop/red_bell_pepper', - 'tfc:wild_crop/yellow_bell_pepper', - 'tfc:wild_crop/barley', - 'tfc:wild_crop/oat', - 'tfc:wild_crop/rye', - 'tfc:wild_crop/maize', - 'tfc:wild_crop/wheat', - 'tfc:wild_crop/rice', - 'tfc:wild_crop/beet', - 'tfc:wild_crop/cabbage', - 'tfc:wild_crop/carrot', - 'tfc:wild_crop/garlic', - 'tfc:wild_crop/green_bean', - 'tfc:wild_crop/potato', - 'tfc:wild_crop/onion', - 'tfc:wild_crop/soybean', - 'tfc:wild_crop/squash', - 'tfc:wild_crop/sugarcane', - 'tfc:wild_crop/tomato', - 'tfc:wild_crop/jute' -]; +/** Items that need to be hidden, but you want to keep their tags.*/ +global.TFC_HIDDEN_ITEMS = /** @type {const} */ ([ + "tfc:wild_crop/papyrus", + "tfc:wild_crop/pumpkin", + "tfc:wild_crop/melon", + "tfc:wild_crop/red_bell_pepper", + "tfc:wild_crop/yellow_bell_pepper", + "tfc:wild_crop/barley", + "tfc:wild_crop/oat", + "tfc:wild_crop/rye", + "tfc:wild_crop/maize", + "tfc:wild_crop/wheat", + "tfc:wild_crop/rice", + "tfc:wild_crop/beet", + "tfc:wild_crop/cabbage", + "tfc:wild_crop/carrot", + "tfc:wild_crop/garlic", + "tfc:wild_crop/green_bean", + "tfc:wild_crop/potato", + "tfc:wild_crop/onion", + "tfc:wild_crop/soybean", + "tfc:wild_crop/squash", + "tfc:wild_crop/sugarcane", + "tfc:wild_crop/tomato", + "tfc:wild_crop/jute", +]); /** * Хранит список всех имен типов камней в TFC. */ -global.TFC_STONE_TYPES = [ - 'gabbro', - 'shale', - 'claystone', - 'limestone', - 'conglomerate', - 'dolomite', - 'chert', - 'chalk', - 'rhyolite', - 'dacite', - 'quartzite', - 'slate', - 'phyllite', - 'schist', - 'gneiss', - 'marble', - 'basalt', // Есть в GT - 'diorite', // Есть в GT - 'andesite', // Есть в GT - 'granite' // Есть в GT -]; +global.TFC_STONE_TYPES = /** @type {const} */ ([ + "gabbro", + "shale", + "claystone", + "limestone", + "conglomerate", + "dolomite", + "chert", + "chalk", + "rhyolite", + "dacite", + "quartzite", + "slate", + "phyllite", + "schist", + "gneiss", + "marble", + "basalt", // Exists in GT + "diorite", // Exists in GT + "andesite", // Exists in GT + "granite", // Exists in GT +]); -global.TFC_WOOD_TYPES = [ - "acacia", // Есть в Minecraft +global.TFC_WOOD_TYPES = /** @type {const} */ ([ + "acacia", // Exists in Minecraft "ash", "aspen", - "birch", // Есть в Minecraft + "birch", // Exists in Minecraft "blackwood", "chestnut", "douglas_fir", @@ -643,7 +641,7 @@ global.TFC_WOOD_TYPES = [ "kapok", "mangrove", "maple", - "oak", // Есть в Minecraft + "oak", // Exists in Minecraft "palm", "pine", "rosewood", @@ -651,10 +649,10 @@ global.TFC_WOOD_TYPES = [ "spruce", "sycamore", "white_cedar", - "willow" -]; + "willow", +]); -global.TFC_HARDWOOD_TYPES = [ +global.TFC_HARDWOOD_TYPES = /** @type {const} */ ([ "acacia", "ash", "aspen", @@ -665,10 +663,10 @@ global.TFC_HARDWOOD_TYPES = [ "maple", "oak", "rosewood", - "sycamore" -]; + "sycamore", +]); -global.TFC_SOFTWOOD_TYPES = [ +global.TFC_SOFTWOOD_TYPES = /** @type {const} */ ([ "douglas_fir", "kapok", "mangrove", @@ -677,84 +675,62 @@ global.TFC_SOFTWOOD_TYPES = [ "sequoia", "spruce", "white_cedar", - "willow" -]; + "willow", +]); -global.TFC_MUD_TYPES = [ - 'silt', - 'loam', - 'sandy_loam', - 'silty_loam' -]; +global.TFC_MUD_TYPES = /** @type {const} */ (["silt", "loam", "sandy_loam", "silty_loam"]); -global.TFC_WOOD_ITEM_TYPES_TO_WOOD_DUST = { - '#tfc:lumber': { name: 'lumber', output: ['1x gtceu:wood_dust'] }, - '#tfc:support_beams': { name: 'support_beams', output: ['2x gtceu:wood_dust'] }, - '#tfc:minecarts': { name: 'minecarts', output: ['5x gtceu:wood_dust', '1x gtceu:small_wrought_iron_dust'] }, - '#minecraft:signs': { name: 'signs', output: ['1x gtceu:wood_dust'] }, - '#minecraft:hanging_signs': { name: 'hanging_signs', output: ['1x gtceu:wood_dust'] }, - '#minecraft:logs': { name: 'logs', output: ['6x gtceu:wood_dust'] }, - '#minecraft:planks': { name: 'planks', output: ['1x gtceu:wood_dust'] }, - '#tfc:bookshelves': { name: 'bookshelves', output: ['6x gtceu:wood_dust'] }, - '#minecraft:wooden_doors': { name: 'wooden_doors', output: ['2x gtceu:wood_dust'] }, - '#minecraft:wooden_trapdoors': { name: 'wooden_trapdoors', output: ['2x gtceu:wood_dust'] }, - '#minecraft:wooden_fences': { name: 'wooden_fences', output: ['1x gtceu:wood_dust'] }, - '#forge:fence_gates/wooden': { name: 'wooden_fence_gates', output: ['1x gtceu:wood_dust'] }, - '#minecraft:wooden_buttons': { name: 'wooden_buttons', output: ['1x gtceu:wood_dust'] }, - '#minecraft:wooden_pressure_plates': { name: 'wooden_pressure_plates', output: ['1x gtceu:wood_dust'] }, - '#minecraft:wooden_slabs': { name: 'wooden_slabs', output: ['2x gtceu:wood_dust'] }, - '#minecraft:wooden_stairs': { name: 'wooden_stairs', output: ['2x gtceu:wood_dust'] }, - '#tfc:tool_racks': { name: 'tool_racks', output: ['1x gtceu:wood_dust'] }, - '#tfc:twigs': { name: 'twigs', output: ['1x gtceu:wood_dust'] }, - '#tfc:workbenches': { name: 'workbenches', output: ['1x gtceu:wood_dust'] }, - '#forge:chests/wooden': { name: 'wooden_chests', output: ['8x gtceu:wood_dust'] }, - '#tfc:looms': { name: 'looms', output: ['2x gtceu:wood_dust'] }, - '#tfc:sluices': { name: 'sluices', output: ['4x gtceu:wood_dust'] }, - '#tfc:barrels': { name: 'barrels', output: ['2x gtceu:wood_dust'] }, - '#tfc:lecterns': { name: 'lecterns', output: ['4x gtceu:wood_dust'] }, - '#tfc:scribing_tables': { name: 'scribing_tables', output: ['1x gtceu:wood_dust'] }, - '#tfc:jar_shelves': { name: 'jar_shelves', output: ['1x gtceu:wood_dust'] }, - '#tfcastikorcarts:cart_wheel': { name: '', output: ['1x gtceu:wood_dust'] }, - '#tfcastikorcarts:plow': { name: 'plow', output: ['2x gtceu:wood_dust'] }, - '#tfcastikorcarts:animal_cart': { name: 'animal_cart', output: ['2x gtceu:wood_dust'] }, - '#tfcastikorcarts:supply_cart': { name: 'supply_cart', output: ['2x gtceu:wood_dust'] }, - '#firmalife:food_shelves': { name: 'food_shelves', output: ['2x gtceu:wood_dust'] }, - '#firmalife:hangers': { name: 'hangers', output: ['1x gtceu:wood_dust'] }, -}; +global.TFC_WOOD_ITEM_TYPES_TO_WOOD_DUST = /** @type {const} */ ({ + "#tfc:lumber": { name: "lumber", output: ["1x gtceu:wood_dust"] }, + "#tfc:support_beams": { name: "support_beams", output: ["2x gtceu:wood_dust"] }, + "#tfc:minecarts": { name: "minecarts", output: ["5x gtceu:wood_dust", "1x gtceu:small_wrought_iron_dust"] }, + "#minecraft:signs": { name: "signs", output: ["1x gtceu:wood_dust"] }, + "#minecraft:hanging_signs": { name: "hanging_signs", output: ["1x gtceu:wood_dust"] }, + "#minecraft:logs": { name: "logs", output: ["6x gtceu:wood_dust"] }, + "#minecraft:planks": { name: "planks", output: ["1x gtceu:wood_dust"] }, + "#tfc:bookshelves": { name: "bookshelves", output: ["6x gtceu:wood_dust"] }, + "#minecraft:wooden_doors": { name: "wooden_doors", output: ["2x gtceu:wood_dust"] }, + "#minecraft:wooden_trapdoors": { name: "wooden_trapdoors", output: ["2x gtceu:wood_dust"] }, + "#minecraft:wooden_fences": { name: "wooden_fences", output: ["1x gtceu:wood_dust"] }, + "#forge:fence_gates/wooden": { name: "wooden_fence_gates", output: ["1x gtceu:wood_dust"] }, + "#minecraft:wooden_buttons": { name: "wooden_buttons", output: ["1x gtceu:wood_dust"] }, + "#minecraft:wooden_pressure_plates": { name: "wooden_pressure_plates", output: ["1x gtceu:wood_dust"] }, + "#minecraft:wooden_slabs": { name: "wooden_slabs", output: ["2x gtceu:wood_dust"] }, + "#minecraft:wooden_stairs": { name: "wooden_stairs", output: ["2x gtceu:wood_dust"] }, + "#tfc:tool_racks": { name: "tool_racks", output: ["1x gtceu:wood_dust"] }, + "#tfc:twigs": { name: "twigs", output: ["1x gtceu:wood_dust"] }, + "#tfc:workbenches": { name: "workbenches", output: ["1x gtceu:wood_dust"] }, + "#forge:chests/wooden": { name: "wooden_chests", output: ["8x gtceu:wood_dust"] }, + "#tfc:looms": { name: "looms", output: ["2x gtceu:wood_dust"] }, + "#tfc:sluices": { name: "sluices", output: ["4x gtceu:wood_dust"] }, + "#tfc:barrels": { name: "barrels", output: ["2x gtceu:wood_dust"] }, + "#tfc:lecterns": { name: "lecterns", output: ["4x gtceu:wood_dust"] }, + "#tfc:scribing_tables": { name: "scribing_tables", output: ["1x gtceu:wood_dust"] }, + "#tfc:jar_shelves": { name: "jar_shelves", output: ["1x gtceu:wood_dust"] }, + "#tfcastikorcarts:cart_wheel": { name: "", output: ["1x gtceu:wood_dust"] }, + "#tfcastikorcarts:plow": { name: "plow", output: ["2x gtceu:wood_dust"] }, + "#tfcastikorcarts:animal_cart": { name: "animal_cart", output: ["2x gtceu:wood_dust"] }, + "#tfcastikorcarts:supply_cart": { name: "supply_cart", output: ["2x gtceu:wood_dust"] }, + "#firmalife:food_shelves": { name: "food_shelves", output: ["2x gtceu:wood_dust"] }, + "#firmalife:hangers": { name: "hangers", output: ["1x gtceu:wood_dust"] }, +}); /** * Хранит названия типов полублоков из камня в TFC. (Не кирпичей) */ -global.TFC_ROCK_SLAB_BLOCK_TYPES = [ - 'raw', - 'smooth', - 'cobble', - 'mossy_cobble', -]; +global.TFC_ROCK_SLAB_BLOCK_TYPES = /** @type {const} */ (["raw", "smooth", "cobble", "mossy_cobble"]); /** * Хранит названия типов полублоков из кирпича из камня в TFC */ -global.TFC_BRICK_SLAB_BLOCK_TYPES = [ - 'bricks', - 'mossy_bricks', - 'cracked_bricks' -] +global.TFC_BRICK_SLAB_BLOCK_TYPES = /** @type {const} */ (["bricks", "mossy_bricks", "cracked_bricks"]); /** * Хранит названия цветов песка в TFC. */ -global.SAND_COLORS = [ - 'brown', - 'white', - 'black', - 'red', - 'yellow', - 'green', - 'pink' -]; +global.SAND_COLORS = /** @type {const} */ (["brown", "white", "black", "red", "yellow", "green", "pink"]); -global.TFC_SIMPLE_MATERIALS = [ +global.TFC_SIMPLE_MATERIALS = /** @type {const} */ ([ "gypsum", "cinnabar", "cryolite", @@ -774,16 +750,12 @@ global.TFC_SIMPLE_MATERIALS = [ "emerald", "lapis_lazuli", "ruby", - "sapphire" -] + "sapphire", +]); -global.TFC_ORE_TYPES = [ - "poor", - "normal", - "rich" -]; +global.TFC_ORE_TYPES = /** @type {const} */ (["poor", "normal", "rich"]); -global.TFC_ORE_MATERIALS = [ +global.TFC_ORE_MATERIALS = /** @type {const} */ ([ "bismuthinite", "cassiterite", "garnierite", @@ -795,184 +767,201 @@ global.TFC_ORE_MATERIALS = [ "native_gold", "native_silver", "sphalerite", - "tetrahedrite" -]; + "tetrahedrite", +]); -global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS = [ - { input: 'tfc:ceramic/unfired_ingot_mold', output: 'tfc:ceramic/ingot_mold', name: 'ingot_mold' }, - { input: 'tfc:ceramic/unfired_pickaxe_head_mold', output: 'tfc:ceramic/pickaxe_head_mold', name: 'pickaxe_head_mold' }, - { input: 'tfc:ceramic/unfired_propick_head_mold', output: 'tfc:ceramic/propick_head_mold', name: 'propick_head_mold' }, - { input: 'tfc:ceramic/unfired_axe_head_mold', output: 'tfc:ceramic/axe_head_mold', name: 'axe_head_mold' }, - { input: 'tfc:ceramic/unfired_shovel_head_mold', output: 'tfc:ceramic/shovel_head_mold', name: 'shovel_head_mold' }, - { input: 'tfc:ceramic/unfired_hoe_head_mold', output: 'tfc:ceramic/hoe_head_mold', name: 'hoe_head_mold' }, - { input: 'tfc:ceramic/unfired_chisel_head_mold', output: 'tfc:ceramic/chisel_head_mold', name: 'chisel_head_mold' }, - { input: 'tfc:ceramic/unfired_hammer_head_mold', output: 'tfc:ceramic/hammer_head_mold', name: 'hammer_head_mold' }, - { input: 'tfc:ceramic/unfired_saw_blade_mold', output: 'tfc:ceramic/saw_blade_mold', name: 'saw_blade_mold' }, - { input: 'tfc:ceramic/unfired_javelin_head_mold', output: 'tfc:ceramic/javelin_head_mold', name: 'javelin_head_mold' }, - { input: 'tfc:ceramic/unfired_sword_blade_mold', output: 'tfc:ceramic/sword_blade_mold', name: 'sword_blade_mold' }, - { input: 'tfc:ceramic/unfired_mace_head_mold', output: 'tfc:ceramic/mace_head_mold', name: 'mace_head_mold' }, - { input: 'tfc:ceramic/unfired_knife_blade_mold', output: 'tfc:ceramic/knife_blade_mold', name: 'knife_blade_mold' }, - { input: 'tfc:ceramic/unfired_scythe_blade_mold', output: 'tfc:ceramic/scythe_blade_mold', name: 'scythe_blade_mold' }, - { input: 'tfc:ceramic/unfired_bell_mold', output: 'tfc:ceramic/bell_mold', name: 'bell_mold' }, - { input: 'tfc:ceramic/unfired_fire_ingot_mold', output: 'tfc:ceramic/fire_ingot_mold', name: 'fire_ingot_mold' }, - { input: 'tfc:ceramic/unfired_brick', output: 'minecraft:brick', name: 'brick' }, - { input: 'tfc:ceramic/unfired_crucible', output: 'tfc:crucible', name: 'crucible' }, - { input: 'tfc:ceramic/unfired_flower_pot', output: 'minecraft:flower_pot', name: 'flower_pot' }, - { input: 'tfc:ceramic/unfired_pan', output: 'tfc:pan/empty', name: 'pan' }, - { input: 'tfc:ceramic/unfired_blowpipe', output: 'tfc:ceramic_blowpipe', name: 'ceramic_blowpipe' }, - { input: 'tfc:ceramic/unfired_bowl', output: 'tfc:ceramic/bowl', name: 'bowl' }, - { input: 'tfc:ceramic/unfired_fire_brick', output: 'tfc:ceramic/fire_brick', name: 'fire_brick' }, - { input: 'tfc:ceramic/unfired_jug', output: 'tfc:ceramic/jug', name: 'jug' }, - { input: 'tfc:ceramic/unfired_pot', output: 'tfc:ceramic/pot', name: 'pot' }, - { input: 'tfc:ceramic/unfired_spindle_head', output: 'tfc:ceramic/spindle_head', name: 'spindle_head' }, - { input: 'tfc:ceramic/unfired_vessel', output: 'tfc:ceramic/vessel', name: 'vessel' }, - { input: 'tfc:ceramic/unfired_large_vessel', output: 'tfc:ceramic/large_vessel', name: 'large_vessel' }, - { input: 'tfcchannelcasting:unfired_channel', output: 'tfcchannelcasting:channel', name: 'channel' }, - { input: 'tfcchannelcasting:unfired_mold_table', output: 'tfcchannelcasting:mold_table', name: 'mold_table' }, -]; +global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "tfc:ceramic/unfired_ingot_mold", output: "tfc:ceramic/ingot_mold", name: "ingot_mold" }, + { + input: "tfc:ceramic/unfired_pickaxe_head_mold", + output: "tfc:ceramic/pickaxe_head_mold", + name: "pickaxe_head_mold", + }, + { + input: "tfc:ceramic/unfired_propick_head_mold", + output: "tfc:ceramic/propick_head_mold", + name: "propick_head_mold", + }, + { input: "tfc:ceramic/unfired_axe_head_mold", output: "tfc:ceramic/axe_head_mold", name: "axe_head_mold" }, + { input: "tfc:ceramic/unfired_shovel_head_mold", output: "tfc:ceramic/shovel_head_mold", name: "shovel_head_mold" }, + { input: "tfc:ceramic/unfired_hoe_head_mold", output: "tfc:ceramic/hoe_head_mold", name: "hoe_head_mold" }, + { input: "tfc:ceramic/unfired_chisel_head_mold", output: "tfc:ceramic/chisel_head_mold", name: "chisel_head_mold" }, + { input: "tfc:ceramic/unfired_hammer_head_mold", output: "tfc:ceramic/hammer_head_mold", name: "hammer_head_mold" }, + { input: "tfc:ceramic/unfired_saw_blade_mold", output: "tfc:ceramic/saw_blade_mold", name: "saw_blade_mold" }, + { + input: "tfc:ceramic/unfired_javelin_head_mold", + output: "tfc:ceramic/javelin_head_mold", + name: "javelin_head_mold", + }, + { input: "tfc:ceramic/unfired_sword_blade_mold", output: "tfc:ceramic/sword_blade_mold", name: "sword_blade_mold" }, + { input: "tfc:ceramic/unfired_mace_head_mold", output: "tfc:ceramic/mace_head_mold", name: "mace_head_mold" }, + { input: "tfc:ceramic/unfired_knife_blade_mold", output: "tfc:ceramic/knife_blade_mold", name: "knife_blade_mold" }, + { + input: "tfc:ceramic/unfired_scythe_blade_mold", + output: "tfc:ceramic/scythe_blade_mold", + name: "scythe_blade_mold", + }, + { input: "tfc:ceramic/unfired_bell_mold", output: "tfc:ceramic/bell_mold", name: "bell_mold" }, + { input: "tfc:ceramic/unfired_fire_ingot_mold", output: "tfc:ceramic/fire_ingot_mold", name: "fire_ingot_mold" }, + { input: "tfc:ceramic/unfired_brick", output: "minecraft:brick", name: "brick" }, + { input: "tfc:ceramic/unfired_crucible", output: "tfc:crucible", name: "crucible" }, + { input: "tfc:ceramic/unfired_flower_pot", output: "minecraft:flower_pot", name: "flower_pot" }, + { input: "tfc:ceramic/unfired_pan", output: "tfc:pan/empty", name: "pan" }, + { input: "tfc:ceramic/unfired_blowpipe", output: "tfc:ceramic_blowpipe", name: "ceramic_blowpipe" }, + { input: "tfc:ceramic/unfired_bowl", output: "tfc:ceramic/bowl", name: "bowl" }, + { input: "tfc:ceramic/unfired_fire_brick", output: "tfc:ceramic/fire_brick", name: "fire_brick" }, + { input: "tfc:ceramic/unfired_jug", output: "tfc:ceramic/jug", name: "jug" }, + { input: "tfc:ceramic/unfired_pot", output: "tfc:ceramic/pot", name: "pot" }, + { input: "tfc:ceramic/unfired_spindle_head", output: "tfc:ceramic/spindle_head", name: "spindle_head" }, + { input: "tfc:ceramic/unfired_vessel", output: "tfc:ceramic/vessel", name: "vessel" }, + { input: "tfc:ceramic/unfired_large_vessel", output: "tfc:ceramic/large_vessel", name: "large_vessel" }, + { input: "tfcchannelcasting:unfired_channel", output: "tfcchannelcasting:channel", name: "channel" }, + { input: "tfcchannelcasting:unfired_mold_table", output: "tfcchannelcasting:mold_table", name: "mold_table" }, +]); -global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = [ - { input: '5x minecraft:clay_ball', output: '2x tfc:ceramic/unfired_ingot_mold', name: 'ingot_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_pickaxe_head_mold', name: 'pickaxe_head_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_propick_head_mold', name: 'propick_head_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_axe_head_mold', name: 'axe_head_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_shovel_head_mold', name: 'shovel_head_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_hoe_head_mold', name: 'hoe_head_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_chisel_head_mold', name: 'chisel_head_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_hammer_head_mold', name: 'hammer_head_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_saw_blade_mold', name: 'saw_blade_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_javelin_head_mold', name: 'javelin_head_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_sword_blade_mold', name: 'sword_blade_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_mace_head_mold', name: 'mace_head_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_knife_blade_mold', name: 'knife_blade_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_scythe_blade_mold', name: 'scythe_blade_mold' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_bell_mold', name: 'bell_mold' }, - { input: '5x minecraft:clay_ball', output: '2x tfc:ceramic/unfired_flower_pot', name: 'flower_pot' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_pan', name: 'pan' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_blowpipe', name: 'ceramic_blowpipe' }, - { input: '5x minecraft:clay_ball', output: '4x tfc:ceramic/unfired_bowl', name: 'bowl' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_jug', name: 'jug' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_pot', name: 'pot' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_spindle_head', name: 'spindle_head' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_vessel', name: 'vessel' }, - { input: '5x minecraft:clay_ball', output: 'tfc:ceramic/unfired_large_vessel', name: 'large_vessel' }, - { input: '5x minecraft:clay_ball', output: 'tfcchannelcasting:unfired_heart_mold', name: 'heart_mold' }, - { input: '5x minecraft:clay_ball', output: '2x rnr:unfired_roof_tile', name: 'roof_tile' }, - { input: '5x tfc:fire_clay', output: 'tfc:ceramic/unfired_fire_ingot_mold', name: 'fire_ingot_mold' }, - { input: '5x tfc:fire_clay', output: 'tfc:ceramic/unfired_crucible', name: 'crucible' }, - { input: '5x tfc:fire_clay', output: 'tfcchannelcasting:unfired_channel', name: 'channel' }, - { input: '5x tfc:fire_clay', output: 'tfcchannelcasting:unfired_mold_table', name: 'mold_table' }, -]; +global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "5x minecraft:clay_ball", output: "2x tfc:ceramic/unfired_ingot_mold", name: "ingot_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_pickaxe_head_mold", name: "pickaxe_head_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_propick_head_mold", name: "propick_head_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_axe_head_mold", name: "axe_head_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_shovel_head_mold", name: "shovel_head_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_hoe_head_mold", name: "hoe_head_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_chisel_head_mold", name: "chisel_head_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_hammer_head_mold", name: "hammer_head_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_saw_blade_mold", name: "saw_blade_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_javelin_head_mold", name: "javelin_head_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_sword_blade_mold", name: "sword_blade_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_mace_head_mold", name: "mace_head_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_knife_blade_mold", name: "knife_blade_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_scythe_blade_mold", name: "scythe_blade_mold" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_bell_mold", name: "bell_mold" }, + { input: "5x minecraft:clay_ball", output: "2x tfc:ceramic/unfired_flower_pot", name: "flower_pot" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_pan", name: "pan" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_blowpipe", name: "ceramic_blowpipe" }, + { input: "5x minecraft:clay_ball", output: "4x tfc:ceramic/unfired_bowl", name: "bowl" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_jug", name: "jug" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_pot", name: "pot" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_spindle_head", name: "spindle_head" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_vessel", name: "vessel" }, + { input: "5x minecraft:clay_ball", output: "tfc:ceramic/unfired_large_vessel", name: "large_vessel" }, + { input: "5x minecraft:clay_ball", output: "tfcchannelcasting:unfired_heart_mold", name: "heart_mold" }, + { input: "5x minecraft:clay_ball", output: "2x rnr:unfired_roof_tile", name: "roof_tile" }, + { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_fire_ingot_mold", name: "fire_ingot_mold" }, + { input: "5x tfc:fire_clay", output: "tfc:ceramic/unfired_crucible", name: "crucible" }, + { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_channel", name: "channel" }, + { input: "5x tfc:fire_clay", output: "tfcchannelcasting:unfired_mold_table", name: "mold_table" }, +]); -global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = [ - { input: 'tfc:silica_glass_batch', output: 'tfc:silica_glass_bottle', name: 'silica_glass_bottle' }, - { input: 'tfc:hematitic_glass_batch', output: 'tfc:hematitic_glass_bottle', name: 'hematitic_glass_bottle' }, - { input: 'tfc:olivine_glass_batch', output: 'tfc:olivine_glass_bottle', name: 'olivine_glass_bottle' }, - { input: 'tfc:volcanic_glass_batch', output: 'tfc:volcanic_glass_bottle', name: 'volcanic_glass_bottle' }, -]; +global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "tfc:silica_glass_batch", output: "tfc:silica_glass_bottle", name: "silica_glass_bottle" }, + { input: "tfc:hematitic_glass_batch", output: "tfc:hematitic_glass_bottle", name: "hematitic_glass_bottle" }, + { input: "tfc:olivine_glass_batch", output: "tfc:olivine_glass_bottle", name: "olivine_glass_bottle" }, + { input: "tfc:volcanic_glass_batch", output: "tfc:volcanic_glass_bottle", name: "volcanic_glass_bottle" }, +]); -global.TFC_MEAT_RECIPE_COMPONENTS = [ - { 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' }, - { input: 'tfc:food/pheasant', output: 'tfc:food/cooked_pheasant', name: 'cooked_pheasant' }, - { input: 'tfc:food/quail', output: 'tfc:food/cooked_quail', name: 'cooked_quail' }, - { input: 'tfc:food/chicken', output: 'tfc:food/cooked_chicken', name: 'cooked_chicken' }, - { input: 'tfc:food/pork', output: 'tfc:food/cooked_pork', name: 'cooked_pork' }, - { input: 'tfc:food/beef', output: 'tfc:food/cooked_beef', name: 'cooked_beef' }, - { input: 'tfc:food/crappie', output: 'tfc:food/cooked_crappie', name: 'cooked_crappie' }, - { input: 'tfc:food/lake_trout', output: 'tfc:food/cooked_lake_trout', name: 'cooked_lake_trout' }, - { input: 'tfc:food/largemouth_bass', output: 'tfc:food/cooked_largemouth_bass', name: 'cooked_largemouth_bass' }, - { input: 'tfc:food/rainbow_trout', output: 'tfc:food/cooked_rainbow_trout', name: 'cooked_rainbow_trout' }, - { input: 'tfc:food/salmon', output: 'tfc:food/cooked_salmon', name: 'cooked_salmon' }, - { input: 'tfc:food/smallmouth_bass', output: 'tfc:food/cooked_smallmouth_bass', name: 'cooked_smallmouth_bass' }, - { input: 'tfc:food/camelidae', output: 'tfc:food/cooked_camelidae', name: 'cooked_camelidae' }, - { input: 'tfc:food/frog_legs', output: 'tfc:food/cooked_frog_legs', name: 'cooked_frog_legs' }, - { input: 'tfc:food/gran_feline', output: 'tfc:food/cooked_gran_feline', name: 'cooked_gran_feline' }, - { input: 'tfc:food/turtle', output: 'tfc:food/cooked_turtle', name: 'cooked_turtle' }, - { input: 'tfc:food/cod', output: 'tfc:food/cooked_cod', name: 'cooked_cod' }, - { input: 'tfc:food/tropical_fish', output: 'tfc:food/cooked_tropical_fish', name: 'cooked_tropical_fish' }, - { input: 'tfc:food/calamari', output: 'tfc:food/cooked_calamari', name: 'cooked_calamari' }, - { input: 'tfc:food/shellfish', output: 'tfc:food/cooked_shellfish', name: 'cooked_shellfish' }, - { input: 'tfc:food/bluegill', output: 'tfc:food/cooked_bluegill', name: 'cooked_bluegill' }, - { input: 'tfc:food/turkey', output: 'tfc:food/cooked_turkey', name: 'cooked_turkey' }, - { input: 'tfc:food/peafowl', output: 'tfc:food/cooked_peafowl', name: 'cooked_peafowl' }, - { input: 'tfc:food/grouse', output: 'tfc:food/cooked_grouse', name: 'cooked_grouse' }, - { input: 'tfc:food/venison', output: 'tfc:food/cooked_venison', name: 'cooked_venison' }, - { input: 'tfc:food/wolf', output: 'tfc:food/cooked_wolf', name: 'cooked_wolf' }, - { input: 'tfc:food/rabbit', output: 'tfc:food/cooked_rabbit', name: 'cooked_rabbit' }, - { input: 'tfc:food/hyena', output: 'tfc:food/cooked_hyena', name: 'cooked_hyena' }, - { input: 'tfc:food/duck', output: 'tfc:food/cooked_duck', name: 'cooked_duck' }, - { input: 'tfc:food/chevon', output: 'tfc:food/cooked_chevon', name: 'cooked_chevon' }, - { input: 'tfc:food/fox', output: 'tfc:food/cooked_fox', name: 'cooked_fox' }, - { input: '#forge:eggs', output: 'tfc:food/cooked_egg', name: 'cooked_egg' }, +global.TFC_MEAT_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "tfc:food/horse_meat", output: "tfc:food/cooked_horse_meat", name: "cooked_horse_meat" }, + { input: "tfc:food/bear", output: "tfc:food/cooked_bear", name: "cooked_bear" }, + { input: "tfc:food/mutton", output: "tfc:food/cooked_mutton", name: "cooked_mutton" }, + { input: "tfc:food/pheasant", output: "tfc:food/cooked_pheasant", name: "cooked_pheasant" }, + { input: "tfc:food/quail", output: "tfc:food/cooked_quail", name: "cooked_quail" }, + { input: "tfc:food/chicken", output: "tfc:food/cooked_chicken", name: "cooked_chicken" }, + { input: "tfc:food/pork", output: "tfc:food/cooked_pork", name: "cooked_pork" }, + { input: "tfc:food/beef", output: "tfc:food/cooked_beef", name: "cooked_beef" }, + { input: "tfc:food/crappie", output: "tfc:food/cooked_crappie", name: "cooked_crappie" }, + { input: "tfc:food/lake_trout", output: "tfc:food/cooked_lake_trout", name: "cooked_lake_trout" }, + { input: "tfc:food/largemouth_bass", output: "tfc:food/cooked_largemouth_bass", name: "cooked_largemouth_bass" }, + { input: "tfc:food/rainbow_trout", output: "tfc:food/cooked_rainbow_trout", name: "cooked_rainbow_trout" }, + { input: "tfc:food/salmon", output: "tfc:food/cooked_salmon", name: "cooked_salmon" }, + { input: "tfc:food/smallmouth_bass", output: "tfc:food/cooked_smallmouth_bass", name: "cooked_smallmouth_bass" }, + { input: "tfc:food/camelidae", output: "tfc:food/cooked_camelidae", name: "cooked_camelidae" }, + { input: "tfc:food/frog_legs", output: "tfc:food/cooked_frog_legs", name: "cooked_frog_legs" }, + { input: "tfc:food/gran_feline", output: "tfc:food/cooked_gran_feline", name: "cooked_gran_feline" }, + { input: "tfc:food/turtle", output: "tfc:food/cooked_turtle", name: "cooked_turtle" }, + { input: "tfc:food/cod", output: "tfc:food/cooked_cod", name: "cooked_cod" }, + { input: "tfc:food/tropical_fish", output: "tfc:food/cooked_tropical_fish", name: "cooked_tropical_fish" }, + { input: "tfc:food/calamari", output: "tfc:food/cooked_calamari", name: "cooked_calamari" }, + { input: "tfc:food/shellfish", output: "tfc:food/cooked_shellfish", name: "cooked_shellfish" }, + { input: "tfc:food/bluegill", output: "tfc:food/cooked_bluegill", name: "cooked_bluegill" }, + { input: "tfc:food/turkey", output: "tfc:food/cooked_turkey", name: "cooked_turkey" }, + { input: "tfc:food/peafowl", output: "tfc:food/cooked_peafowl", name: "cooked_peafowl" }, + { input: "tfc:food/grouse", output: "tfc:food/cooked_grouse", name: "cooked_grouse" }, + { input: "tfc:food/venison", output: "tfc:food/cooked_venison", name: "cooked_venison" }, + { input: "tfc:food/wolf", output: "tfc:food/cooked_wolf", name: "cooked_wolf" }, + { input: "tfc:food/rabbit", output: "tfc:food/cooked_rabbit", name: "cooked_rabbit" }, + { input: "tfc:food/hyena", output: "tfc:food/cooked_hyena", name: "cooked_hyena" }, + { input: "tfc:food/duck", output: "tfc:food/cooked_duck", name: "cooked_duck" }, + { input: "tfc:food/chevon", output: "tfc:food/cooked_chevon", name: "cooked_chevon" }, + { input: "tfc:food/fox", output: "tfc:food/cooked_fox", name: "cooked_fox" }, + { input: "#forge:eggs", output: "tfc:food/cooked_egg", name: "cooked_egg" }, - { input: 'minecraft:chorus_fruit', output: 'minecraft:popped_chorus_fruit', name: 'popped_chorus_fruit' }, - { input: 'tfg:food/raw_birt', output: 'tfg:food/cooked_birt', name: 'cooked_birt' }, - { input: 'tfg:food/raw_crawlermari', output: 'tfg:food/cooked_crawlermari', name: 'cooked_crawlermari' }, - { input: 'tfg:food/raw_limpet', output: 'tfg:food/cooked_limpet', name: 'cooked_limpet' }, - { input: 'tfg:sunflower_product', output: 'tfg:roasted_sunflower_seeds', name: 'roasted_sunflower_seeds' }, - { input: 'tfg:food/raw_moon_rabbit', output: 'tfg:food/cooked_moon_rabbit', name: 'cooked_moon_rabbit' }, - { input: 'betterend:bolux_mushroom_product', output: 'betterend:bolux_mushroom_cooked', name: 'bolux_mushroom' }, - { input: 'betterend:chorus_mushroom_product', output: 'betterend:chorus_mushroom_cooked', name: 'chorus_mushroom' }, - { input: 'betterend:shadow_berry_product', output: 'betterend:shadow_berry_cooked', name: 'shadow_berry' }, - { input: 'betterend:cave_pumpkin_pie_raw', output: 'betterend:cave_pumpkin_pie', name: 'cave_pumpkin_pie' }, - { input: 'tfg:food/raw_glacian_mutton', output: 'tfg:food/cooked_glacian_mutton', name: 'cooked_glacian_mutton' }, - { input: 'tfg:food/raw_sniffer_beef', output: 'tfg:food/cooked_sniffer_beef', name: 'cooked_sniffer_beef' }, - { input: 'tfg:food/raw_wraptor', output: 'tfg:food/cooked_wraptor', name: 'cooked_wraptor' }, - { input: 'wan_ancient_beasts:raw_toxlacanth', output: 'wan_ancient_beasts:cooked_toxlacanth', name: 'cooked_toxlacanth' }, - { input: 'tfg:food/raw_springling_chops', output: 'tfg:food/cooked_springling_chops', name: 'cooked_springling_chops' }, - { input: 'tfg:food/raw_walker_steak', output: 'tfg:food/cooked_walker_steak', name: 'cooked_walker_steak' }, - { input: 'tfg:food/raw_glider_wings', output: 'tfg:food/cooked_glider_wings', name: 'cooked_glider_wings' }, - { input: 'tfg:food/raw_whole_soarer', output: 'tfg:food/cooked_whole_soarer', name: 'cooked_whole_soarer' }, - { input: 'tfg:food/raw_crusher_meat', output: 'tfg:food/cooked_crusher_meat', name: 'cooked_crusher_meat' }, - { input: 'tfg:food/raw_goober_meat', output: 'tfg:food/cooked_goober_meat', name: 'cooked_goober_meat' } -]; + { input: "minecraft:chorus_fruit", output: "minecraft:popped_chorus_fruit", name: "popped_chorus_fruit" }, + { input: "tfg:food/raw_birt", output: "tfg:food/cooked_birt", name: "cooked_birt" }, + { input: "tfg:food/raw_crawlermari", output: "tfg:food/cooked_crawlermari", name: "cooked_crawlermari" }, + { input: "tfg:food/raw_limpet", output: "tfg:food/cooked_limpet", name: "cooked_limpet" }, + { input: "tfg:sunflower_product", output: "tfg:roasted_sunflower_seeds", name: "roasted_sunflower_seeds" }, + { input: "tfg:food/raw_moon_rabbit", output: "tfg:food/cooked_moon_rabbit", name: "cooked_moon_rabbit" }, + { input: "betterend:bolux_mushroom_product", output: "betterend:bolux_mushroom_cooked", name: "bolux_mushroom" }, + { input: "betterend:chorus_mushroom_product", output: "betterend:chorus_mushroom_cooked", name: "chorus_mushroom" }, + { input: "betterend:shadow_berry_product", output: "betterend:shadow_berry_cooked", name: "shadow_berry" }, + { input: "betterend:cave_pumpkin_pie_raw", output: "betterend:cave_pumpkin_pie", name: "cave_pumpkin_pie" }, + { input: "tfg:food/raw_glacian_mutton", output: "tfg:food/cooked_glacian_mutton", name: "cooked_glacian_mutton" }, + { input: "tfg:food/raw_sniffer_beef", output: "tfg:food/cooked_sniffer_beef", name: "cooked_sniffer_beef" }, + { input: "tfg:food/raw_wraptor", output: "tfg:food/cooked_wraptor", name: "cooked_wraptor" }, + { + input: "wan_ancient_beasts:raw_toxlacanth", + output: "wan_ancient_beasts:cooked_toxlacanth", + name: "cooked_toxlacanth", + }, + { + input: "tfg:food/raw_springling_chops", + output: "tfg:food/cooked_springling_chops", + name: "cooked_springling_chops", + }, + { input: "tfg:food/raw_walker_steak", output: "tfg:food/cooked_walker_steak", name: "cooked_walker_steak" }, + { input: "tfg:food/raw_glider_wings", output: "tfg:food/cooked_glider_wings", name: "cooked_glider_wings" }, + { input: "tfg:food/raw_whole_soarer", output: "tfg:food/cooked_whole_soarer", name: "cooked_whole_soarer" }, + { input: "tfg:food/raw_crusher_meat", output: "tfg:food/cooked_crusher_meat", name: "cooked_crusher_meat" }, + { input: "tfg:food/raw_goober_meat", output: "tfg:food/cooked_goober_meat", name: "cooked_goober_meat" }, +]); -global.TFC_QUERN_POWDER_RECIPE_COMPONENTS = [ - { input: '#forge:dusts/coke', output: '4x tfc:powder/coke', name: 'coke_powder' }, - { input: '#forge:dusts/amethyst', output: '4x tfc:powder/amethyst', name: 'amethyst_powder' }, - { input: '#forge:dusts/diamond', output: '4x tfc:powder/diamond', name: 'diamond_powder' }, - { input: '#forge:dusts/emerald', output: '4x tfc:powder/emerald', name: 'emerald_powder' }, - { input: '#forge:dusts/lapis', output: '4x tfc:powder/lapis_lazuli', name: 'lapis_powder' }, - { input: '#forge:dusts/opal', output: '4x tfc:powder/opal', name: 'opal_powder' }, - { input: '#forge:dusts/pyrite', output: '4x tfc:powder/pyrite', name: 'pyrite_powder' }, - { input: '#forge:dusts/ruby', output: '4x tfc:powder/ruby', name: 'ruby_powder' }, - { input: '#forge:dusts/sapphire', output: '4x tfc:powder/sapphire', name: 'sapphire_powder' }, - { input: '#forge:dusts/topaz', output: '4x tfc:powder/topaz', name: 'topaz_powder' }, - { input: '#forge:dusts/gold', output: '4x tfc:powder/native_gold', name: 'gold_powder' }, - { input: '#forge:dusts/silver', output: '4x tfc:powder/native_silver', name: 'silver_powder' }, - { input: '#forge:dusts/copper', output: '4x tfc:powder/native_copper', name: 'copper_powder' }, - { input: '#forge:dusts/cassiterite', output: '4x tfc:powder/cassiterite', name: 'cassiterite_powder' }, - { input: '#forge:dusts/bismuth', output: '4x tfc:powder/bismuthinite', name: 'bismuth_powder' }, - { input: '#forge:dusts/garnierite', output: '4x tfc:powder/garnierite', name: 'garnierite_powder' }, - { input: '#forge:dusts/nickel', output: '4x tfc:powder/garnierite', name: 'nickel_powder' }, - { input: '#forge:dusts/sphalerite', output: '4x tfc:powder/sphalerite', name: 'sphalerite_powder' }, - { input: '#forge:dusts/magnetite', output: '4x tfc:powder/magnetite', name: 'magnetite_powder' }, - { input: '#forge:dusts/tetrahedrite', output: '4x tfc:powder/tetrahedrite', name: 'tetrahedrite_powder' }, - { input: '#forge:dusts/malachite', output: '4x tfc:powder/malachite', name: 'malachite_powder' }, - { input: '#forge:dusts/yellow_limonite', output: '4x tfc:powder/limonite', name: 'limonite_powder' }, - { input: '#forge:dusts/hematite', output: '4x tfc:powder/hematite', name: 'hematite_powder' }, - { input: '#forge:dusts/sulfur', output: '4x tfc:powder/sulfur', name: 'sulfur_powder' }, - { input: '#forge:dusts/saltpeter', output: '4x tfc:powder/saltpeter', name: 'saltpeter_powder' }, - { input: '#forge:dusts/salt', output: '4x tfc:powder/salt', name: 'salt_powder' }, - { input: '#forge:dusts/graphite', output: '4x tfc:powder/graphite', name: 'graphite_powder' }, - { input: '#forge:dusts/borax', output: '4x tfc:powder/flux', name: 'flux_powder' }, - { input: '#forge:dusts/soda_ash', output: '4x tfc:powder/soda_ash', name: 'soda_ash' }, - { input: 'gtceu:charcoal_dust', output: '2x tfc:powder/charcoal', name: 'charcoal' }, - { input: 'tfc:ore/sylvite', output: '4x tfc:powder/sylvite', name: 'sylvite' } -]; +global.TFC_QUERN_POWDER_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "#forge:dusts/coke", output: "4x tfc:powder/coke", name: "coke_powder" }, + { input: "#forge:dusts/amethyst", output: "4x tfc:powder/amethyst", name: "amethyst_powder" }, + { input: "#forge:dusts/diamond", output: "4x tfc:powder/diamond", name: "diamond_powder" }, + { input: "#forge:dusts/emerald", output: "4x tfc:powder/emerald", name: "emerald_powder" }, + { input: "#forge:dusts/lapis", output: "4x tfc:powder/lapis_lazuli", name: "lapis_powder" }, + { input: "#forge:dusts/opal", output: "4x tfc:powder/opal", name: "opal_powder" }, + { input: "#forge:dusts/pyrite", output: "4x tfc:powder/pyrite", name: "pyrite_powder" }, + { input: "#forge:dusts/ruby", output: "4x tfc:powder/ruby", name: "ruby_powder" }, + { input: "#forge:dusts/sapphire", output: "4x tfc:powder/sapphire", name: "sapphire_powder" }, + { input: "#forge:dusts/topaz", output: "4x tfc:powder/topaz", name: "topaz_powder" }, + { input: "#forge:dusts/gold", output: "4x tfc:powder/native_gold", name: "gold_powder" }, + { input: "#forge:dusts/silver", output: "4x tfc:powder/native_silver", name: "silver_powder" }, + { input: "#forge:dusts/copper", output: "4x tfc:powder/native_copper", name: "copper_powder" }, + { input: "#forge:dusts/cassiterite", output: "4x tfc:powder/cassiterite", name: "cassiterite_powder" }, + { input: "#forge:dusts/bismuth", output: "4x tfc:powder/bismuthinite", name: "bismuth_powder" }, + { input: "#forge:dusts/garnierite", output: "4x tfc:powder/garnierite", name: "garnierite_powder" }, + { input: "#forge:dusts/nickel", output: "4x tfc:powder/garnierite", name: "nickel_powder" }, + { input: "#forge:dusts/sphalerite", output: "4x tfc:powder/sphalerite", name: "sphalerite_powder" }, + { input: "#forge:dusts/magnetite", output: "4x tfc:powder/magnetite", name: "magnetite_powder" }, + { input: "#forge:dusts/tetrahedrite", output: "4x tfc:powder/tetrahedrite", name: "tetrahedrite_powder" }, + { input: "#forge:dusts/malachite", output: "4x tfc:powder/malachite", name: "malachite_powder" }, + { input: "#forge:dusts/yellow_limonite", output: "4x tfc:powder/limonite", name: "limonite_powder" }, + { input: "#forge:dusts/hematite", output: "4x tfc:powder/hematite", name: "hematite_powder" }, + { input: "#forge:dusts/sulfur", output: "4x tfc:powder/sulfur", name: "sulfur_powder" }, + { input: "#forge:dusts/saltpeter", output: "4x tfc:powder/saltpeter", name: "saltpeter_powder" }, + { input: "#forge:dusts/salt", output: "4x tfc:powder/salt", name: "salt_powder" }, + { input: "#forge:dusts/graphite", output: "4x tfc:powder/graphite", name: "graphite_powder" }, + { input: "#forge:dusts/borax", output: "4x tfc:powder/flux", name: "flux_powder" }, + { input: "#forge:dusts/soda_ash", output: "4x tfc:powder/soda_ash", name: "soda_ash" }, + { input: "gtceu:charcoal_dust", output: "2x tfc:powder/charcoal", name: "charcoal" }, + { input: "tfc:ore/sylvite", output: "4x tfc:powder/sylvite", name: "sylvite" }, +]); -global.TFC_GRAINS = [ - "barley", - "maize", - "oat", - "rye", - "rice", - "wheat", -] +global.TFC_GRAINS = /** @type {const} */ (["barley", "maize", "oat", "rye", "rice", "wheat"]); -global.TFC_JAMS = [ +global.TFC_JAMS = /** @type {const} */ ([ "blackberry", "blueberry", "bunchberry", @@ -995,109 +984,170 @@ global.TFC_JAMS = [ "red_apple", "pumpkin_chunks", "melon_slice", -] +]); -global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ - { input: 'tfc:plant/cherry_sapling', fluid_amount: 8000, output: '32x tfc:food/cherry', name: 'cherry' }, - { input: 'tfc:plant/green_apple_sapling', fluid_amount: 8000, output: '32x tfc:food/green_apple', name: 'green_apple' }, - { input: 'tfc:plant/lemon_sapling', fluid_amount: 8000, output: '32x tfc:food/lemon', name: 'lemon' }, - { input: 'tfc:plant/olive_sapling', fluid_amount: 8000, output: '32x tfc:food/olive', name: 'olive' }, - { input: 'tfc:plant/orange_sapling', fluid_amount: 8000, output: '32x tfc:food/orange', name: 'orange' }, - { input: 'tfc:plant/peach_sapling', fluid_amount: 8000, output: '32x tfc:food/peach', name: 'peach' }, - { input: 'tfc:plant/plum_sapling', fluid_amount: 8000, output: '32x tfc:food/plum', name: 'plum' }, - { input: 'tfc:plant/red_apple_sapling', fluid_amount: 8000, output: '32x tfc:food/red_apple', name: 'red_apple' }, - { input: 'tfc:plant/banana_sapling', fluid_amount:8000, output: '32x tfc:food/banana', name: 'banana' }, -]; +global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "tfc:plant/cherry_sapling", fluid_amount: 8000, output: "32x tfc:food/cherry", name: "cherry" }, + { + input: "tfc:plant/green_apple_sapling", + fluid_amount: 8000, + output: "32x tfc:food/green_apple", + name: "green_apple", + }, + { input: "tfc:plant/lemon_sapling", fluid_amount: 8000, output: "32x tfc:food/lemon", name: "lemon" }, + { input: "tfc:plant/olive_sapling", fluid_amount: 8000, output: "32x tfc:food/olive", name: "olive" }, + { input: "tfc:plant/orange_sapling", fluid_amount: 8000, output: "32x tfc:food/orange", name: "orange" }, + { input: "tfc:plant/peach_sapling", fluid_amount: 8000, output: "32x tfc:food/peach", name: "peach" }, + { input: "tfc:plant/plum_sapling", fluid_amount: 8000, output: "32x tfc:food/plum", name: "plum" }, + { input: "tfc:plant/red_apple_sapling", fluid_amount: 8000, output: "32x tfc:food/red_apple", name: "red_apple" }, + { input: "tfc:plant/banana_sapling", fluid_amount: 8000, output: "32x tfc:food/banana", name: "banana" }, +]); -global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = [ - { input: '8x tfc:seeds/barley', fluid_amount: 4000, output: '24x tfc:food/barley', name: 'barley' }, - { input: '8x tfc:seeds/oat', fluid_amount: 4000, output: '24x tfc:food/oat', name: 'oat' }, - { input: '8x tfc:seeds/rye', fluid_amount: 4000, output: '24x tfc:food/rye', name: 'rye' }, - { input: '8x tfc:seeds/maize', fluid_amount: 4000, output: '24x tfc:food/maize', name: 'maize' }, - { input: '8x tfc:seeds/wheat', fluid_amount: 4000, output: '24x tfc:food/wheat', name: 'wheat' }, - { input: '8x tfc:seeds/rice', fluid_amount: 4000, output: '24x tfc:food/rice', name: 'rice' }, - { input: '8x tfc:seeds/beet', fluid_amount: 4000, output: '24x tfc:food/beet', name: 'beet' }, - { input: '8x tfc:seeds/cabbage', fluid_amount: 4000, output: '24x tfc:food/cabbage', name: 'cabbage' }, - { input: '8x tfc:seeds/carrot', fluid_amount: 4000, output: '24x tfc:food/carrot', name: 'carrot' }, - { input: '8x tfc:seeds/green_bean', fluid_amount: 4000, output: '24x tfc:food/green_bean', name: 'green_bean' }, - { input: '8x tfc:seeds/garlic', fluid_amount: 4000, output: '24x tfc:food/garlic', name: 'garlic' }, - { input: '8x tfc:seeds/potato', fluid_amount: 4000, output: '24x tfc:food/potato', name: 'potato' }, - { input: '8x tfc:seeds/onion', fluid_amount: 4000, output: '24x tfc:food/onion', name: 'onion' }, - { input: '8x tfc:seeds/soybean', fluid_amount: 4000, output: '24x tfc:food/soybean', name: 'soybean' }, - { input: '8x tfc:seeds/squash', fluid_amount: 4000, output: '24x tfc:food/squash', name: 'squash' }, - { input: '8x tfc:seeds/sugarcane', fluid_amount: 4000, output: '24x tfc:food/sugarcane', name: 'sugarcane' }, - { input: '8x tfc:seeds/tomato', fluid_amount: 4000, output: '24x tfc:food/tomato', name: 'tomato' }, - { input: '8x tfc:seeds/jute', fluid_amount: 4000, output: '24x tfc:jute', name: 'jute' }, - { input: '8x tfc:seeds/papyrus', fluid_amount: 4000, output: '24x tfc:papyrus', name: 'papyrus' }, - { input: '8x tfc:seeds/pumpkin', fluid_amount: 4000, output: '24x tfc:pumpkin', name: 'pumpkin' }, - { input: '8x tfc:seeds/melon', fluid_amount: 4000, output: '24x tfc:melon', name: 'melon' }, - { input: '8x tfc:seeds/red_bell_pepper', fluid_amount: 4000, output: '24x tfc:food/red_bell_pepper', name: 'red_bell_pepper' }, - { input: '8x tfc:seeds/yellow_bell_pepper', fluid_amount: 4000, output: '24x tfc:food/yellow_bell_pepper', name: 'yellow_bell_pepper' }, - { input: '8x tfg:sunflower_seeds', fluid_amount: 4000, output: '24x tfg:sunflower_product', name: 'sunflower' }, - { input: '8x tfg:rapeseed_seeds', fluid_amount: 4000, output: '24x tfg:rapeseed_product', name: 'rapeseed' }, - { input: '8x tfg:flax_seeds', fluid_amount: 4000, output: '24x tfg:flax_product', name: 'flax' } +global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "8x tfc:seeds/barley", fluid_amount: 4000, output: "24x tfc:food/barley", name: "barley" }, + { input: "8x tfc:seeds/oat", fluid_amount: 4000, output: "24x tfc:food/oat", name: "oat" }, + { input: "8x tfc:seeds/rye", fluid_amount: 4000, output: "24x tfc:food/rye", name: "rye" }, + { input: "8x tfc:seeds/maize", fluid_amount: 4000, output: "24x tfc:food/maize", name: "maize" }, + { input: "8x tfc:seeds/wheat", fluid_amount: 4000, output: "24x tfc:food/wheat", name: "wheat" }, + { input: "8x tfc:seeds/rice", fluid_amount: 4000, output: "24x tfc:food/rice", name: "rice" }, + { input: "8x tfc:seeds/beet", fluid_amount: 4000, output: "24x tfc:food/beet", name: "beet" }, + { input: "8x tfc:seeds/cabbage", fluid_amount: 4000, output: "24x tfc:food/cabbage", name: "cabbage" }, + { input: "8x tfc:seeds/carrot", fluid_amount: 4000, output: "24x tfc:food/carrot", name: "carrot" }, + { input: "8x tfc:seeds/green_bean", fluid_amount: 4000, output: "24x tfc:food/green_bean", name: "green_bean" }, + { input: "8x tfc:seeds/garlic", fluid_amount: 4000, output: "24x tfc:food/garlic", name: "garlic" }, + { input: "8x tfc:seeds/potato", fluid_amount: 4000, output: "24x tfc:food/potato", name: "potato" }, + { input: "8x tfc:seeds/onion", fluid_amount: 4000, output: "24x tfc:food/onion", name: "onion" }, + { input: "8x tfc:seeds/soybean", fluid_amount: 4000, output: "24x tfc:food/soybean", name: "soybean" }, + { input: "8x tfc:seeds/squash", fluid_amount: 4000, output: "24x tfc:food/squash", name: "squash" }, + { input: "8x tfc:seeds/sugarcane", fluid_amount: 4000, output: "24x tfc:food/sugarcane", name: "sugarcane" }, + { input: "8x tfc:seeds/tomato", fluid_amount: 4000, output: "24x tfc:food/tomato", name: "tomato" }, + { input: "8x tfc:seeds/jute", fluid_amount: 4000, output: "24x tfc:jute", name: "jute" }, + { input: "8x tfc:seeds/papyrus", fluid_amount: 4000, output: "24x tfc:papyrus", name: "papyrus" }, + { input: "8x tfc:seeds/pumpkin", fluid_amount: 4000, output: "24x tfc:pumpkin", name: "pumpkin" }, + { input: "8x tfc:seeds/melon", fluid_amount: 4000, output: "24x tfc:melon", name: "melon" }, + { + input: "8x tfc:seeds/red_bell_pepper", + fluid_amount: 4000, + output: "24x tfc:food/red_bell_pepper", + name: "red_bell_pepper", + }, + { + input: "8x tfc:seeds/yellow_bell_pepper", + fluid_amount: 4000, + output: "24x tfc:food/yellow_bell_pepper", + name: "yellow_bell_pepper", + }, + { input: "8x tfg:sunflower_seeds", fluid_amount: 4000, output: "24x tfg:sunflower_product", name: "sunflower" }, + { input: "8x tfg:rapeseed_seeds", fluid_amount: 4000, output: "24x tfg:rapeseed_product", name: "rapeseed" }, + { input: "8x tfg:flax_seeds", fluid_amount: 4000, output: "24x tfg:flax_product", name: "flax" }, +]); -]; +global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = /** @type {const} */ ([ + { input: "tfc:plant/snowberry_bush", fluid_amount: 6000, output: "3x tfc:food/snowberry", name: "snowberry" }, + { input: "tfc:plant/bunchberry_bush", fluid_amount: 6000, output: "3x tfc:food/bunchberry", name: "bunchberry" }, + { input: "tfc:plant/gooseberry_bush", fluid_amount: 6000, output: "3x tfc:food/gooseberry", name: "gooseberry" }, + { input: "tfc:plant/cloudberry_bush", fluid_amount: 6000, output: "3x tfc:food/cloudberry", name: "cloudberry" }, + { input: "tfc:plant/strawberry_bush", fluid_amount: 6000, output: "3x tfc:food/strawberry", name: "strawberry" }, + { + input: "tfc:plant/wintergreen_berry_bush", + fluid_amount: 6000, + output: "3x tfc:food/wintergreen_berry", + name: "wintergreen_berry", + }, + { input: "tfc:plant/blackberry_bush", fluid_amount: 6000, output: "3x tfc:food/blackberry", name: "blackberry" }, + { input: "tfc:plant/raspberry_bush", fluid_amount: 6000, output: "3x tfc:food/raspberry", name: "raspberry" }, + { input: "tfc:plant/blueberry_bush", fluid_amount: 6000, output: "3x tfc:food/blueberry", name: "blueberry" }, + { input: "tfc:plant/elderberry_bush", fluid_amount: 6000, output: "3x tfc:food/elderberry", name: "elderberry" }, + { input: "tfc:plant/cranberry_bush", fluid_amount: 6000, output: "3x tfc:food/cranberry", name: "cranberry" }, +]); -global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ - { input: 'tfc:plant/snowberry_bush', fluid_amount: 6000, output: '3x tfc:food/snowberry', name: 'snowberry' }, - { input: 'tfc:plant/bunchberry_bush', fluid_amount: 6000, output: '3x tfc:food/bunchberry', name: 'bunchberry' }, - { input: 'tfc:plant/gooseberry_bush', fluid_amount: 6000, output: '3x tfc:food/gooseberry', name: 'gooseberry' }, - { input: 'tfc:plant/cloudberry_bush', fluid_amount: 6000, output: '3x tfc:food/cloudberry', name: 'cloudberry' }, - { input: 'tfc:plant/strawberry_bush', fluid_amount: 6000, output: '3x tfc:food/strawberry', name: 'strawberry' }, - { input: 'tfc:plant/wintergreen_berry_bush', fluid_amount: 6000, output: '3x tfc:food/wintergreen_berry', name: 'wintergreen_berry' }, - { input: 'tfc:plant/blackberry_bush', fluid_amount: 6000, output: '3x tfc:food/blackberry', name: 'blackberry' }, - { input: 'tfc:plant/raspberry_bush', fluid_amount: 6000, output: '3x tfc:food/raspberry', name: 'raspberry' }, - { input: 'tfc:plant/blueberry_bush', fluid_amount: 6000, output: '3x tfc:food/blueberry', name: 'blueberry' }, - { input: 'tfc:plant/elderberry_bush', fluid_amount: 6000, output: '3x tfc:food/elderberry', name: 'elderberry' }, - { input: 'tfc:plant/cranberry_bush', fluid_amount: 6000, output: '3x tfc:food/cranberry', name: 'cranberry' }, -]; - -global.TFC_MILKS = [ - {id: 'minecraft:milk'}, - {id: 'firmalife:yak_milk'}, - {id: 'firmalife:goat_milk'}, +global.TFC_MILKS = /** @type {const} */ ([ + { 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' }, -]; +global.TFC_CURDS_AND_CHEESES = /** @type {const} */ ([ + { + id: "milk", + input_fluid: "tfc:curdled_milk", + curd: "firmalife:food/milk_curd", + cheese1: "gouda", + cheese2: "cheddar", + }, + { + id: "yak", + input_fluid: "firmalife:curdled_yak_milk", + curd: "firmalife:food/yak_curd", + cheese1: "shosha", + cheese2: "rajya_metok", + }, + { + id: "goat", + input_fluid: "firmalife:curdled_goat_milk", + curd: "firmalife:food/goat_curd", + cheese1: "feta", + cheese2: "chevre", + }, +]); -global.TFC_ALCOHOL = [ - {id: 'tfc:beer', ingredient: 'tfc:food/barley_flour'}, - {id: 'tfc:cider', ingredient: '#tfc:foods/apples'}, - {id: 'tfc:rum', ingredient: '#tfg:sugars'}, - {id: 'tfc:sake', ingredient: 'tfc:food/rice_flour'}, - {id: 'tfc:vodka', ingredient: 'tfc:food/potato'}, - {id: 'tfc:whiskey', ingredient: 'tfc:food/wheat_flour'}, - {id: 'tfc:corn_whiskey', ingredient: 'tfc:food/maize_flour'}, - {id: 'tfc:rye_whiskey', ingredient: 'tfc:food/rye_flour'}, - {id: 'firmalife:mead', ingredient: 'firmalife:raw_honey'}, -]; +global.TFC_MUD_BRICKS = /** @type {const} */ ([ + "tfc:mud_brick/loam", + "tfc:mud_brick/sandy_loam", + "tfc:mud_brick/silt", + "tfc:mud_brick/silty_loam", +]); -global.TFC_MAGMA_BLOCKS = [ - 'tfc:rock/magma/granite', - 'tfc:rock/magma/diorite', - 'tfc:rock/magma/gabbro', - 'tfc:rock/magma/rhyolite', - 'tfc:rock/magma/basalt', - 'tfc:rock/magma/andesite', - 'tfc:rock/magma/dacite' -]; +global.TFC_WET_MUD_BRICKS = /** @type {const} */ ([ + "tfc:drying_bricks/loam", + "tfc:drying_bricks/sandy_loam", + "tfc:drying_bricks/silt", + "tfc:drying_bricks/silty_loam", +]); -global.calcAmountOfMetal = (defaultAmount, percents) => { - const value = defaultAmount / (100 / percents) - return (value % 2 === 0) ? value : Math.round(value) - 1 -} +global.TFC_ALCOHOL = /** @type {const} */ ([ + { id: "tfc:beer", ingredient: "tfc:food/barley_flour" }, + { id: "tfc:cider", ingredient: "#tfc:foods/apples" }, + { id: "tfc:rum", ingredient: "#tfg:sugars" }, + { id: "tfc:sake", ingredient: "tfc:food/rice_flour" }, + { id: "tfc:vodka", ingredient: "tfc:food/potato" }, + { id: "tfc:whiskey", ingredient: "tfc:food/wheat_flour" }, + { id: "tfc:corn_whiskey", ingredient: "tfc:food/maize_flour" }, + { id: "tfc:rye_whiskey", ingredient: "tfc:food/rye_flour" }, + { id: "firmalife:mead", ingredient: "firmalife:raw_honey" }, +]); -// This prevents the "exploit" where Cassiterite dust gives 2x as much from melting as smelting in a furnace -global.calcAmountOfMetalProcessed = (defaultAmount, percents) => { - const percentPerItem = percents / Math.ceil(percents / 100) - const value = defaultAmount * (percentPerItem / 100) - return (value % 2 === 0) ? value : Math.round(value) - 1 -} +global.TFC_MAGMA_BLOCKS = /** @type {const} */ ([ + "tfc:rock/magma/granite", + "tfc:rock/magma/diorite", + "tfc:rock/magma/gabbro", + "tfc:rock/magma/rhyolite", + "tfc:rock/magma/basalt", + "tfc:rock/magma/andesite", + "tfc:rock/magma/dacite", +]); +/** + * @param {number} defaultAmount + * @param {number} percents + * @returns {number} + */ +global.calcAmountOfMetal = function (defaultAmount, percents) { + const value = defaultAmount / (100 / percents); + return value % 2 === 0 ? value : Math.round(value) - 1; +}; + +/** + * Calculates the amount of metal processed. + * This prevents the "exploit" where Cassiterite dust gives 2x as much from melting as smelting in a furnace. + * @param {number} defaultAmount + * @param {number} percents + * @returns {number} + */ +global.calcAmountOfMetalProcessed = function (defaultAmount, percents) { + const percentPerItem = percents / Math.ceil(percents / 100); + const value = defaultAmount * (percentPerItem / 100); + return value % 2 === 0 ? value : Math.round(value) - 1; +};