From cc47fe55ce5e2f697b50de16608d0a950577776d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 3 Dec 2025 00:32:14 +0000 Subject: [PATCH] big tag/data refactor --- kubejs/server_scripts/ad_astra/tags.js | 643 ------------- kubejs/server_scripts/afc/recipes.js | 225 +---- kubejs/server_scripts/betterend/recipes.js | 59 -- kubejs/server_scripts/betterend/tags.js | 48 - kubejs/server_scripts/create/tags.js | 5 - kubejs/server_scripts/firmalife/tags.js | 4 - kubejs/server_scripts/gregtech/data.js | 101 +- kubejs/server_scripts/gregtech/tags.js | 46 - kubejs/server_scripts/main_server_script.js | 8 +- kubejs/server_scripts/minecraft/tags.js | 153 --- kubejs/server_scripts/tfc/data.js | 186 +--- kubejs/server_scripts/tfc/tags.js | 94 +- kubejs/server_scripts/tfcambiental/tags.js | 26 - .../tfg/beneath/tags.beneath.js | 139 +++ kubejs/server_scripts/tfg/data.js | 1 + .../tfg/equipment/data.equipment.js | 189 ++++ .../tfg/equipment/recipes.equipment.js | 54 ++ .../tfg/equipment/tags.equipment.js | 52 ++ .../server_scripts/tfg/europa/tags.europa.js | 22 + kubejs/server_scripts/tfg/food/tags.food.js | 348 +++++++ .../tfg/json_tool.armor_trim.js | 2 +- .../tfg/machines/recipes.steam_bloomery.js | 4 +- .../tfg/{ => machines}/tags.facades.js | 2 +- kubejs/server_scripts/tfg/mars/data.mars.js | 68 ++ .../server_scripts/tfg/mars/recipes.iodine.js | 28 + .../server_scripts/tfg/mars/recipes.mars.js | 30 + kubejs/server_scripts/tfg/mars/tags.mars.js | 529 +++++++++++ kubejs/server_scripts/tfg/moon/data.moon.js | 38 + .../server_scripts/tfg/moon/recipes.plants.js | 26 + kubejs/server_scripts/tfg/moon/tags.moon.js | 117 +++ .../tfg/natural_blocks/tags.stones.js | 2 +- .../{ => fishing_nets}/events.fishing_nets.js | 0 .../recipes.fishing_nets.js | 0 .../{ => medicine}/events.medicine.js | 0 .../{ => medicine}/recipes.medicine.js | 0 .../tfg/primitive/medicine/tags.medicine.js | 67 ++ .../tfg/primitive/recipes.rubber.js | 112 ++- .../tfg/primitive/recipes.wax.js | 74 ++ .../tfg/primitive/tags.primitive.js | 88 ++ kubejs/server_scripts/tfg/recipes.js | 1 + .../tfg/space_general/tags.railgun.js | 82 ++ .../tfg/space_general/tags.rockets.js | 28 + kubejs/server_scripts/tfg/tags.interaction.js | 47 +- kubejs/server_scripts/tfg/tags.js | 881 ++---------------- kubejs/server_scripts/tfg/venus/data.venus.js | 26 + kubejs/server_scripts/tfg/venus/tags.venus.js | 117 +++ .../tfg/worldgen/tags.general_worldgen.js | 212 +++++ .../tfg/worldgen/tags.overworld.js | 76 ++ kubejs/startup_scripts/tfg/constants.js | 12 +- 49 files changed, 2601 insertions(+), 2471 deletions(-) delete mode 100644 kubejs/server_scripts/betterend/recipes.js delete mode 100644 kubejs/server_scripts/betterend/tags.js delete mode 100644 kubejs/server_scripts/tfcambiental/tags.js create mode 100644 kubejs/server_scripts/tfg/beneath/tags.beneath.js create mode 100644 kubejs/server_scripts/tfg/equipment/data.equipment.js create mode 100644 kubejs/server_scripts/tfg/equipment/recipes.equipment.js create mode 100644 kubejs/server_scripts/tfg/equipment/tags.equipment.js create mode 100644 kubejs/server_scripts/tfg/europa/tags.europa.js create mode 100644 kubejs/server_scripts/tfg/food/tags.food.js rename kubejs/server_scripts/tfg/{ => machines}/tags.facades.js (99%) create mode 100644 kubejs/server_scripts/tfg/mars/data.mars.js create mode 100644 kubejs/server_scripts/tfg/mars/tags.mars.js create mode 100644 kubejs/server_scripts/tfg/moon/data.moon.js create mode 100644 kubejs/server_scripts/tfg/moon/tags.moon.js rename kubejs/server_scripts/tfg/primitive/{ => fishing_nets}/events.fishing_nets.js (100%) rename kubejs/server_scripts/tfg/primitive/{ => fishing_nets}/recipes.fishing_nets.js (100%) rename kubejs/server_scripts/tfg/primitive/{ => medicine}/events.medicine.js (100%) rename kubejs/server_scripts/tfg/primitive/{ => medicine}/recipes.medicine.js (100%) create mode 100644 kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js create mode 100644 kubejs/server_scripts/tfg/primitive/tags.primitive.js create mode 100644 kubejs/server_scripts/tfg/space_general/tags.railgun.js create mode 100644 kubejs/server_scripts/tfg/space_general/tags.rockets.js create mode 100644 kubejs/server_scripts/tfg/venus/data.venus.js create mode 100644 kubejs/server_scripts/tfg/venus/tags.venus.js create mode 100644 kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js create mode 100644 kubejs/server_scripts/tfg/worldgen/tags.overworld.js diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index fd670d96c..b6578ed62 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -11,7 +11,6 @@ const registerAdAstraFluidTags = (event) => { // Using this to represent 'breathable air' instead of oxygen event.removeAllTagsFrom('ad_astra:oxygen') - event.removeAll('ad_astra:fuel') event.removeAll('ad_astra:efficient_fuel') @@ -52,38 +51,6 @@ const registerAdAstraItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', 'ad_astra:alphacene_mushroom') event.add('c:hidden_from_recipe_viewers', 'ad_astra:strophar_mushroom') - event.add('gtceu:ppe_armor', '#ad_astra:space_suit_items') - event.add('minecraft:trimmable_armor', '#ad_astra:space_suit_items') - - event.add('forge:cobblestone', 'ad_astra:moon_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') - event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') - event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') - - // Insulation Tier 1 - event.add('forge:insulation_t1', 'gtceu:borosilicate_glass_dust') - event.add('forge:insulation_t1', 'gtceu:vitrified_asbestos_dust') - - //Insulation Tier 2 - event.add('forge:insulation_t2/sheet', 'tfg:aes_insulation_sheet') - event.add('forge:insulation_t2/roll', 'tfg:aes_insulation_roll') - - //Insulation Tier3 - event.add('forge:insulation_t3/foam', 'tfg:aes_polyurethane') - event.add('forge:insulation_t3/sheet', 'tfg:mli_shielding') - event.add('forge:insulation_t3/cryo', 'tfg:silica_aerogel') - - event.add('forge:aerogels', 'tfg:silica_aerogel') - - //Rocket Engines - event.add('ad_astra:rocket_engine', 'ad_astra:steel_engine') - event.add('ad_astra:rocket_engine', 'ad_astra:desh_engine') - event.add('ad_astra:rocket_engine', 'ad_astra:ostrum_engine') - - //Rocket Tank - event.add('ad_astra:rocket_tank', 'ad_astra:ostrum_tank') - // Deco blocks const DECO_BLOCKS = [ 'iron', 'steel', 'desh', 'calorite', 'ostrum' ]; DECO_BLOCKS.forEach(block => { @@ -100,46 +67,6 @@ const registerAdAstraItemTags = (event) => { event.add('tfg:ad_astra_etrium_blocks', 'ad_astra:encased_etrium_block') event.add('tfg:ad_astra_etrium_blocks', 'ad_astra:etrium_plateblock') event.add('tfg:ad_astra_etrium_blocks', 'ad_astra:etrium_panel') - - event.add('tfc:foods', 'ad_astra:cheese') - event.add('tfc:foods/dairy', 'ad_astra:cheese') - event.add('tfc:foods/usable_in_sandwich', 'ad_astra:cheese') - event.add('tfc:foods/usable_in_jam_sandwich', 'ad_astra:cheese') - event.add('tfc:foods/usable_in_jam_sandwich_2', 'ad_astra:cheese') - event.add('firmalife:foods/cheeses', 'ad_astra:cheese') - - event.add('ad_astra:space_suit_items', 'gtceu:quarktech_helmet') - event.add('ad_astra:space_suit_items', 'gtceu:quarktech_chestplate') - event.add('ad_astra:space_suit_items', 'gtceu:advanced_quarktech_chestplate') - event.add('ad_astra:space_suit_items', 'gtceu:quarktech_leggings') - event.add('ad_astra:space_suit_items', 'gtceu:quarktech_boots') - - event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_helmet') - event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_chestplate') - event.add('ad_astra:freeze_resistant_armor', 'gtceu:advanced_quarktech_chestplate') - event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_leggings') - event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_boots') - - event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_helmet') - event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_chestplate') - event.add('ad_astra:heat_resistant_armor', 'gtceu:advanced_quarktech_chestplate') - event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_leggings') - event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_boots') - - event.remove('minecraft:wool', 'ad_astra:glacian_fur') - - event.add('tfc:compost_greens', 'ad_astra:aeronos_cap') - event.add('tfc:compost_greens', 'ad_astra:strophar_cap') - - // these are log tags - event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap') - event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap') - event.add('minecraft:wart_blocks', 'ad_astra:aeronos_cap') - event.add('minecraft:wart_blocks', 'ad_astra:strophar_cap') - - event.add('tfc:makes_tannin', '#ad_astra:glacian_logs') - event.add('tfc:makes_tannin', '#tfc:crimson_logs') - event.add('tfc:makes_tannin', '#tfc:warped_logs') global.AD_ASTRA_WOOD.forEach(wood => { @@ -159,13 +86,6 @@ const registerAdAstraItemTags = (event) => { event.add('tfg:softwood', wood.logs) } }) - - event.add('forge:smooth_stone_slab', 'ad_astra:polished_moon_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_mars_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_venus_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_mercury_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_glacio_stone_slab') - event.add('forge:smooth_stone_slab', 'ad_astra:polished_permafrost_slab') } const registerAdAstraBlockTags = (event) => { @@ -175,273 +95,6 @@ const registerAdAstraBlockTags = (event) => { event.add('c:hidden_from_recipe_viewers', item) }) - // All new stones - global.EXTRATERRESTRIAL_RAW_ROCKS.forEach(rock => { - event.add('forge:stone', rock) - event.add('tfc:breaks_when_isolated', rock) - event.add('tfc:rock/raw', rock) - event.add('minecraft:mineable/pickaxe', rock) - event.add('tfc:can_carve', rock) - // Collapse tags also require a collapse recipe to work. - // Don't add the recipe if you don't want them to actually collapse! - event.add('tfc:can_collapse', rock) - event.add('tfc:can_trigger_collapse', rock) - event.add('tfc:can_start_collapse', rock) - event.add('tfc:powderkeg_breaking_blocks', rock) - event.add('tfc:bloomery_insulation', rock) - event.add('firmalife:oven_insulation', rock) - event.add('tfc:forge_insulation', rock) - }) - - global.EXTRATERRESTRIAL_HARDENED_ROCKS.forEach(rock => { - event.add('minecraft:mineable/pickaxe', rock) - event.add('tfc:can_collapse', rock) - event.add('tfc:can_trigger_collapse', rock) - event.add('tfc:powderkeg_breaking_blocks', rock) - event.add('tfc:bloomery_insulation', rock) - event.add('firmalife:oven_insulation', rock) - event.add('tfc:forge_insulation', rock) - event.add('tfc:can_carve', rock) - }) - - // Moon - event.add('ad_astra:moon_stone_replaceables', 'ad_astra:moon_sand') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_moon_stone') - event.add('ad_astra:moon_stone_replaceables', 'tfc:sand/white') - event.add('ad_astra:moon_stone_replaceables', 'tfc:sand/black') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/diorite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/gabbro') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/basalt') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/rhyolite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/andesite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/dacite') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_moon') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_moon_deepslate') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_glacio') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_moon_deepslate') - event.add('ad_astra:moon_stone_replaceables', 'ad_astra:glacio_stone') - event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_glacio_stone') - event.add('ad_astra:moon_stone_replaceables', 'ad_astra:glacio_cobblestone') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/basalt') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/basalt') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/gabbro') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/gabbro') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/diorite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/diorite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/rhyolite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/rhyolite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/andesite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/andesite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/dacite') - event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/dacite') - - // Mars - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/dacite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/dacite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/dacite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/basalt') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/basalt') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/basalt') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/gabbro') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/gabbro') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/gabbro') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/diorite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/diorite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/diorite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/rhyolite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/rhyolite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/rhyolite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/andesite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/andesite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/andesite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/chert') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/chert') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/chert') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/conglomerate') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/conglomerate') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/conglomerate') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/claystone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/claystone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/claystone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/limestone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/limestone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/limestone') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/dolomite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/dolomite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/dolomite') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/shale') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/shale') - event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/shale') - event.add('ad_astra:mars_stone_replaceables', 'ad_astra:mars_stone') - event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_mars_stone') - event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_mars') - event.add('ad_astra:mars_stone_replaceables', 'minecraft:red_sandstone') - event.add('ad_astra:mars_stone_replaceables', 'ad_astra:venus_stone') - event.add('ad_astra:mars_stone_replaceables', 'ad_astra:venus_sandstone') - event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_venus_stone') - event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_venus') - event.add('ad_astra:mars_stone_replaceables', 'gtceu:red_granite') - event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_red_granite') - event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_red_granite') - event.add('ad_astra:mars_stone_replaceables', 'create:ochrum') - event.add('tfg:mars_soil', 'minecraft:red_sand') - event.add('tfg:mars_soil', 'ad_astra:mars_sand') - event.add('tfg:mars_soil', 'ad_astra:venus_sand') - event.add('tfg:mars_soil', 'tfg:rock/gravel_venus') - event.add('tfg:mars_soil', 'tfg:rock/gravel_mars') - event.add('tfg:mars_soil', 'tfc:rock/gravel/dacite') - event.add('tfg:mars_soil', 'tfc:rock/gravel/basalt') - event.add('tfg:mars_soil', 'tfc:rock/gravel/gabbro') - event.add('tfg:mars_soil', 'tfc:rock/gravel/diorite') - event.add('tfg:mars_soil', 'tfc:rock/gravel/rhyolite') - event.add('tfg:mars_soil', 'tfc:rock/gravel/andesite') - event.add('tfg:mars_soil', 'tfc:rock/gravel/conglomerate') - event.add('tfg:mars_soil', 'tfc:rock/gravel/claystone') - event.add('tfg:mars_soil', 'tfc:rock/gravel/limestone') - event.add('tfg:mars_soil', 'tfc:rock/gravel/dolomite') - event.add('tfg:mars_soil', 'tfc:rock/gravel/shale') - event.add('tfg:mars_soil', 'tfc:sand/black') - event.add('tfg:mars_soil', 'tfc:sand/red') - event.add('tfg:mars_soil', 'tfc:sand/pink') - event.add('tfg:mars_soil', 'tfg:grass/mars_dirt') - event.add('tfg:mars_soil', 'tfg:grass/mars_clay_dirt') - event.add('tfg:mars_soil', 'tfg:grass/amber_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/rusticus_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/sangnum_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/amber_clay_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/rusticus_clay_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/sangnum_clay_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfg:mars_soil', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('ad_astra:mars_stone_replaceables', '#tfg:mars_soil') - event.add('minecraft:animals_spawnable_on', '#tfg:mars_soil') - event.add('minecraft:animals_spawnable_on', '#tfg:mars_plants') - event.add('minecraft:valid_spawn', '#minecraft:animals_spawnable_on') - - // Venus - event.add('ad_astra:venus_stone_replaceables', 'ad_astra:venus_stone') - event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_venus_stone') - event.add('ad_astra:venus_stone_replaceables', 'gtceu:red_granite') - event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_red_granite') - event.add('ad_astra:venus_stone_replaceables', 'ad_astra:moon_deepslate') - event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_moon_deepslate') - event.add('ad_astra:venus_stone_replaceables', 'minecraft:deepslate') - event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_deepslate') - event.add('ad_astra:venus_stone_replaceables', 'minecraft:dripstone_block') - event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_dripstone') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/granite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/granite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/diorite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/diorite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gabbro') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gabbro') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/basalt') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/basalt') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/rhyolite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/andesite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/dacite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/dacite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/slate') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/slate') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/schist') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/schist') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gneiss') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gneiss') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/phyllite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/phyllite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/quartzite') - event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/quartzite') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/blue') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/blue') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/green') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/green') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/brown') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/brown') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/orange') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/orange') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/white') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/white') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/yellow') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/yellow') - event.add('ad_astra:venus_stone_replaceables', 'tfg:geyser_slurry') - event.add('ad_astra:venus_stone_replaceables', 'tfg:sulfur_fumes') - event.add('ad_astra:venus_stone_replaceables', 'minecraft:lava') - event.add('ad_astra:venus_stone_replaceables', 'create:scoria') - event.add('ad_astra:venus_stone_replaceables', 'create:scorchia') - event.add('ad_astra:venus_stone_replaceables', 'minecraft:tuff') - - event.add('tfc:can_carve', '#ad_astra:moon_stone_replaceables') - event.add('tfc:can_carve', '#ad_astra:mars_stone_replaceables') - event.add('tfc:can_carve', '#ad_astra:venus_stone_replaceables') - - event.add('minecraft:rabbits_spawnable_on', '#ad_astra:moon_stone_replaceables') - event.add('species:limpet_spawnable_on', '#ad_astra:moon_stone_replaceables') - - event.add('tfc:can_landslide', 'ad_astra:moon_sand') - event.add('tfc:can_landslide', 'ad_astra:mars_sand') - event.add('tfc:can_landslide', 'ad_astra:venus_sand') - event.add('tfc:can_landslide', 'minecraft:red_sand') - - event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone') - event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone') - event.add('tfc:can_landslide', 'gtceu:red_granite_cobblestone') - - event.add('forge:cobblestone', 'ad_astra:moon_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') - event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') - event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') - event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') - - event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone_slab') - event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone_slab') - - event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone_stairs') - event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone_stairs') - - event.add('tfg:rock_stairs', 'ad_astra:moon_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:mars_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:venus_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:mercury_stone_stairs') - event.add('tfg:rock_stairs', 'ad_astra:glacio_stone_stairs') - - event.add('tfg:rock_slabs', 'ad_astra:moon_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:mars_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:venus_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:mercury_stone_slab') - event.add('tfg:rock_slabs', 'ad_astra:glacio_stone_slab') - - event.add('ad_astra:destroyed_in_space', '#tfc:wild_fruits') - event.add('ad_astra:destroyed_in_space', '#minecraft:saplings') - - event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap') - event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap') - - event.add('tfg:heightmap_ignore', 'ad_astra:strophar_cap') - event.add('tfg:heightmap_ignore', 'ad_astra:strophar_stem') - event.add('tfg:heightmap_ignore', 'ad_astra:aeronos_cap') - event.add('tfg:heightmap_ignore', 'ad_astra:aeronos_stem') - event.add('tfg:heightmap_ignore', 'minecraft:nether_wart_block') - event.add('tfg:heightmap_ignore', 'minecraft:warped_wart_block') - event.add('tfg:heightmap_ignore', 'species:alphacene_mushroom_block') - event.add('tfg:heightmap_ignore', 'species:alphacene_mushroom_growth') - event.add('tfg:heightmap_ignore', 'tfg:glacian_leaves') - event.add('tfg:heightmap_ignore', 'betterend:glacian_hymenophore') - event.add('tfg:heightmap_ignore', 'species:alphacene_moss_block') - event.add('tfg:heightmap_ignore', 'minecraft:ice') - - event.add('tfc:can_be_snow_piled', 'ad_astra:aeronos_mushroom') - event.add('tfc:can_be_snow_piled', 'ad_astra:strophar_mushroom') - global.AD_ASTRA_WOOD.forEach(wood => { if (wood.log) { @@ -457,301 +110,5 @@ const registerAdAstraBlockTags = (event) => { } const registerAdAstraBiomeTags = (event) => { - event.removeAll('ad_astra:has_structure/oil_well') - - global.MOON_BIOMES.forEach(biome => { - event.add('tfg:moon_biomes', biome) - event.add('tfg:has_structure/meteors', biome) - event.add('tfg:has_structure/cheese_ores', biome) - event.add('tfg:has_structure/moonbase', biome) - event.add('tfg:has_structure/moon_rabbit_houses', biome) - event.add('species:limpet_spawns', biome) - }) - - global.MARS_BIOMES.forEach(biome => { - event.add('tfg:mars_biomes', biome) - }) - - global.VENUS_BIOMES.forEach(biome => { - event.add('tfg:venus_biomes', biome); - event.add('ad_astra:has_acid_rain', biome); - }) - - event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_dunes') - event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_deep_desert') - - event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_dunes') - event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_deep_desert') - event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_mountains') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/amber_plains') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/amber_hills') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/rusticus_plains') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/rusticus_hills') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/sangnum_plains') - event.add('tfg:has_medium_sand_particles', 'tfg:mars/sangnum_hills') - event.add('tfg:has_light_sand_particles', 'tfg:mars/martian_dune_edge') - event.add('tfg:has_light_sand_particles', 'tfg:mars/amber_edge') - event.add('tfg:has_light_sand_particles', 'tfg:mars/rusticus_edge') - event.add('tfg:has_light_sand_particles', 'tfg:mars/sangnum_edge') - event.add('tfg:has_light_sand_particles', 'tfg:mars/martian_river') - - event.add('tfg:has_mild_dust_storms', 'tfg:mars/martian_mountains') - event.add('tfg:has_mild_dust_storms', 'tfg:mars/martian_river') - event.add('tfg:has_mild_dust_storms', 'tfg:mars/amber_hills') - event.add('tfg:has_mild_dust_storms', 'tfg:mars/rusticus_hills') - event.add('tfg:has_mild_dust_storms', 'tfg:mars/sangnum_hills') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/amber_plains') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/amber_edge') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/rusticus_plains') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/rusticus_edge') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/sangnum_plains') - event.add('tfg:has_moderate_dust_storms', 'tfg:mars/sangnum_edge') - event.add('tfg:has_severe_dust_storms', 'tfg:mars/martian_dunes') - event.add('tfg:has_severe_dust_storms', 'tfg:mars/martian_deep_desert') -} - -const registerAdAstraEntityTypeTags = (event) => { - - const COLD_ENTITIES = [ - // moon - 'tfc:rat', - 'tfg:moon_rabbit', - 'minecraft:enderman', - 'minecraft:shulker', - 'minecraft:shulker_bullet', - 'minecraft:skeleton', - 'minecraft:stray', - 'species:limpet', - 'species:birt', - 'endermanoverhaul:windswept_hills_enderman', - 'endermanoverhaul:soulsand_valley_enderman', - 'endermanoverhaul:spirit', - 'endermanoverhaul:end_enderman', - 'endermanoverhaul:end_islands_enderman', - // mars - 'tfg:sniffer', - 'tfg:glacian_ram', - 'tfg:wraptor', - 'species:goober', - 'species:cruncher', - 'species:springling', - 'species:quake', - 'species:stackatick', - 'endermanoverhaul:crimson_forest_enderman', - 'endermanoverhaul:warped_forest_enderman', - 'endermanoverhaul:badlands_enderman', - 'endermanoverhaul:cave_enderman', - 'wan_ancient_beasts:walker', - 'wan_ancient_beasts:eater', - 'wan_ancient_beasts:crusher', - 'wan_ancient_beasts:soarer', - 'wan_ancient_beasts:glider', - 'wan_ancient_beasts:toxlacanth', - 'wan_ancient_beasts:surfer', - 'tfg:surfer', - // europa - 'endermanoverhaul:coral_enderman', - 'endermanoverhaul:snowy_enderman', - 'endermanoverhaul:ice_spikes_enderman', - 'species:deepfish', - 'species:leaf_hanger' - ] - - const HOT_ENTITIES = [ - // venus - 'minecraft:enderman', - "endermanoverhaul:desert_enderman", - "endermanoverhaul:savanna_enderman", - "endermanoverhaul:nether_wastes_enderman", - "ad_astra:sulfur_creeper", - 'species:cliff_hanger', - ] - - COLD_ENTITIES.forEach(entity => { - event.add('ad_astra:can_survive_extreme_cold', entity) - event.add('ad_astra:lives_without_oxygen', entity) - }) - - HOT_ENTITIES.forEach(entity => { - event.add('ad_astra:can_survive_extreme_heat', entity) - event.add('ad_astra:lives_without_oxygen', entity) - }) - - event.add('ad_astra:can_survive_in_space', 'railways:conductor') - event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:pet_enderman') - event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:axolotl_pet_enderman') - event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:hammerhead_pet_enderman') - - event.add('tfc:deals_crushing_damage', 'minecraft:enderman') - event.add('tfc:deals_crushing_damage', 'minecraft:stray') - event.add('tfc:deals_crushing_damage', 'endermanoverhaul:windswept_hills_enderman') - event.add('tfc:deals_crushing_damage', 'endermanoverhaul:soulsand_valley_enderman') - event.add('tfc:deals_piercing_damage', 'endermanoverhaul:end_enderman') - event.add('tfc:deals_crushing_damage', 'endermanoverhaul:end_islands_enderman') - event.add('tfc:deals_crushing_damage', 'ad_astra:star_crawler') - - event.add('tfg:ignores_gravity', 'minecraft:shulker_bullet') - event.add('tfg:ignores_gravity', 'endermanoverhaul:spirit') - event.add('tfg:ignores_gravity', 'species:birt') - event.add('tfg:ignores_gravity', 'ad_astra:star_crawler') - - // this guy has a bounce animation that looks silly in low grav - event.add('tfg:ignores_gravity', 'wan_ancient_beasts:crusher') - // this huge guy also looks silly in low grav - event.add('tfg:ignores_gravity', 'wan_ancient_beasts:walker') - event.add('tfg:ignores_gravity', 'wan_ancient_beasts:eater') - // flying mobs - event.add('tfg:ignores_gravity', 'wan_ancient_beasts:soarer') - event.add('tfg:ignores_gravity', 'wan_ancient_beasts:glider') - // swimming mobs - event.add('tfg:ignores_gravity', 'tfg:surfer') - event.add('tfg:ignores_gravity', 'wan_ancient_beasts:toxlacanth') - event.add('tfg:ignores_gravity', 'endermanoverhaul:coral_enderman') -} - -const registerAdAstraPlacedFeatures = (event) => { - - //#region Moon - event.add('tfg:moon_craters', 'tfg:moon/crater/extra_large') - event.add('tfg:moon_craters', 'tfg:moon/crater/large') - event.add('tfg:moon_craters', 'tfg:moon/crater/medium') - event.add('tfg:moon_craters', 'tfg:moon/crater/small') - - global.MOON_STONE_TYPES.forEach(stone => { - // only in the sparse ones - event.add('tfg:moon_large_rock_features', `tfg:moon/surface/delta/${stone}`) - // in all moon biomes - event.add('tfg:moon_small_rock_features', `tfg:moon/surface/pile/${stone}`) - event.add('tfg:moon_small_rock_features', `tfg:moon/surface/loose/${stone}`) - }) - - event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_moon_sand') - event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_white_sand') - event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_black_sand') - //#endregion - - //#region Mars - // Underground decoration - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/loose_rocks') - event.add('tfg:mars_underground_decoration', 'tfc:cave_spike') - event.add('tfg:mars_underground_decoration', 'tfc:cave_column') - event.add('tfg:mars_underground_decoration', 'tfc:large_cave_spike') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/noise_cave_stalagmite') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/noise_cave_stalagtite') - - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/calcite') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/mega_calcite') - - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/ice_cave') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/icicle') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/icicle_extra') - event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/ochrum_blob') - - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/amethyst") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/barite") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/calcite") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/gypsum") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/opal") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/pyrite") - event.add('tfg:mars_underground_decoration', "tfg:earth/geode/quartzite") - - // Vegetation - event.add("tfg:mars_global_small_plants", "tfg:mars/tree/lucernia") - event.add("tfg:mars_global_small_plants", "tfg:mars/tree/lucernia_common") - event.add("tfg:mars_global_small_plants", "tfg:mars/tree/cave_bush") - event.add("tfg:mars_global_small_plants", "tfg:mars/tree/cave_bush_common") - event.add("tfg:mars_global_small_plants", "tfg:mars/surface/charnia") - event.add("tfg:mars_global_small_plants", "tfg:mars/surface/flamaea") - event.add("tfg:mars_global_small_plants", "tfg:mars/surface/lacugrove") - - event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_global_small_plants") - event.add("tfg:mars_rusticus_vegetal_decoration", "#tfg:mars_global_small_plants") - event.add("tfg:mars_sangnum_vegetal_decoration", "#tfg:mars_global_small_plants") - - - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/amber_root") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/blossom_berry") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/cave_pumpkin") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") - - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lanceleaf") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lanceleaf_small") - - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/bulb_moss") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/aurant_polypore") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/filalux_wings") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/filalux_wings_top") - - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/amber_grass") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/flammalix") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lutebus") - event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/orango") - - - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/amber_root") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/blossom_berry") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/shadow_berry") - - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lucernia_outer_leaves") - - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/bulb_moss") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/aurant_polypore") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/purple_polypore") - - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/aeridium") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/flammalix") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lamellarium") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lutebus") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/orango") - event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/ruscus") - - - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/blossom_berry") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/cave_pumpkin") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/shadow_berry") - - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/small_amaranita_mushroom") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/large_amaranita_mushroom") - - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/purple_polypore") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/filalux_wings") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/filalux_wings_top") - - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/cave_grass") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/clawfern") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/globulagus") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/lamellarium") - event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/ruscus") - - // Top layer - event.add("tfg:mars_top_layer_modification", "tfg:glow_lichen") - event.add("tfg:mars_top_layer_modification", "tfc:surface_loose_rocks") - event.add("tfg:mars_top_layer_modification", "tfg:mars/terrain/mars_poles") - - //#endregion - - //#region Venus - - // Underground decoration - event.add("tfg:venus_underground_decoration", "tfg:glow_lichen") - event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/loose_rocks') - event.add('tfg:venus_underground_decoration', 'tfc:cave_spike') - event.add('tfg:venus_underground_decoration', 'tfc:cave_column') - event.add('tfg:venus_underground_decoration', 'tfc:large_cave_spike') - event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/noise_cave_stalagmite') - event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/noise_cave_stalagtite') - - event.add("tfg:venus_top_layer_modification", "tfc:surface_loose_rocks") - //#endregion - - //#region Glacio - event.add("tfg:glacio_top_layer_modification", "tfg:glow_lichen") - event.add("tfg:glacio_top_layer_modification", "tfc:surface_loose_rocks") - //#endregion } diff --git a/kubejs/server_scripts/afc/recipes.js b/kubejs/server_scripts/afc/recipes.js index fa7d7a67e..305f4ff47 100644 --- a/kubejs/server_scripts/afc/recipes.js +++ b/kubejs/server_scripts/afc/recipes.js @@ -16,10 +16,10 @@ const registerAFCRecipes = (event) => { event.remove({ id: "afc:pot/rubber" }) event.remove({ id: "afc:tree_tapping/hevea_latex" }) event.remove({ id: "afc:tree_tapping/rubber_fig_latex" }) - event.remove({ id: "afc:crafting/1_birch_sugar"}) - event.remove({ id: "afc:crafting/1_maple_sugar"}) - event.remove({ id: "afc:crafting/0_birch_sugar_bucket"}) - event.remove({ id: "afc:crafting/0_maple_sugar_bucket"}) + event.remove({ id: "afc:crafting/1_birch_sugar" }) + event.remove({ id: "afc:crafting/1_maple_sugar" }) + event.remove({ id: "afc:crafting/0_birch_sugar_bucket" }) + event.remove({ id: "afc:crafting/0_maple_sugar_bucket" }) // #endregion @@ -48,7 +48,7 @@ const registerAFCRecipes = (event) => { generateCutterRecipe(event, `afc:wood/planks/${wood}_slab`, `2x afc:wood/lumber/${wood}`, 50, 7, `${wood}_lumber_from_slab`) - + // ? -> Деревянная нажимная пластина event.shaped(`afc:wood/planks/${wood}_pressure_plate`, [ ' B ', @@ -72,10 +72,10 @@ const registerAFCRecipes = (event) => { event.remove({ id: `afc:crafting/wood/${wood}_button` }) generateCutterRecipe(event, `afc:wood/planks/${wood}_pressure_plate`, `6x afc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) - + //Stomping Barrel - event.remove({ id: `afc:crafting/wood/${wood}_stomping_barrel`}) - + event.remove({ id: `afc:crafting/wood/${wood}_stomping_barrel` }) + event.shaped(`afc:wood/stomping_barrel/${wood}`, [ 'ABA', 'AAA', @@ -83,9 +83,9 @@ const registerAFCRecipes = (event) => { ], { A: `afc:wood/lumber/${wood}`, B: 'tfc:glue' - + }).id(`afc:crafting/wood/${wood}_stomping_barrel`) - + }) // #endregion @@ -108,86 +108,6 @@ const registerAFCRecipes = (event) => { .resultFluid(Fluid.of('gtceu:copper', 144)) .id('tfg:heating/tree_tap') - //Custom rubber and hevea tappings - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/rubber_fig")) - .resultFluid(Fluid.of("tfg:latex", 2)) - .minTemp(4) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/latex/rubber_fig") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_rubber_fig")) - .resultFluid(Fluid.of("tfg:latex", 2)) - .minTemp(4) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/latex/ancient_rubber_fig") - - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/hevea")) - .resultFluid(Fluid.of("tfg:latex", 3)) - .minTemp(8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/latex/hevea") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_hevea")) - .resultFluid(Fluid.of("tfg:latex", 3)) - .minTemp(8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/latex/ancient_hevea") - - event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/kapok")) - .resultFluid(Fluid.of("tfg:latex", 4)) - .minTemp(12) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/kapok_latex") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_kapok")) - .resultFluid(Fluid.of("tfg:latex", 4)) - .minTemp(12) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/ancient_kapok_latex") - - - // Pine/etc resin - event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/aspen")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) - .minTemp(-10) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/aspen_resin") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_aspen")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) - .minTemp(-10) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/ancient_aspen_resin") - - event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/spruce")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 4)) - .minTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/spruce_resin") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_spruce")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 4)) - .minTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/ancient_spruce_resin") - - event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/white_cedar")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 3)) - .minTemp(-8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/white_cedar_resin") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_white_cedar")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 3)) - .minTemp(-8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/ancient_white_cedar_resin") - - event.recipes.afc.tree_tapping(TFC.blockIngredient('tfc:wood/log/douglas_fir')) - .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) - .minTemp(-8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/douglas_fir_resin") - event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_douglas_fir")) - .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) - .minTemp(-8) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/ancient_douglas_fir_resin") - //Syrups event.remove({ id: "afc:tree_tapping/maple_syrup" }) event.remove({ id: "afc:tree_tapping/birch_syrup" }) @@ -198,87 +118,17 @@ const registerAFCRecipes = (event) => { .maxTemp(5) .requiresNaturalLog(true) .id("tfg:tree_tapping/maple_log") - - event.recipes.afc.tree_tapping(TFC.blockIngredient('tfc:wood/log/birch')) + + event.recipes.afc.tree_tapping(TFC.blockIngredient('tfc:wood/log/birch')) .resultFluid(Fluid.of('afc:birch_sap', 5)) .minTemp(-15) .maxTemp(5) .requiresNaturalLog(true) .id("tfg:tree_tapping/birch_log") - // Mars stuff - - event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/log/crimson')) - .resultFluid(Fluid.of('tfg:crimsene', 1)) - .minTemp(-110) - .maxTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/crimson_log") - - event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/wood/crimson')) - .resultFluid(Fluid.of('tfg:crimsene', 1)) - .minTemp(-110) - .maxTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/crimson_wood") - - event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/log/warped')) - .resultFluid(Fluid.of('tfg:warpane', 1)) - .minTemp(-110) - .maxTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/warped_log") - - event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/wood/warped')) - .resultFluid(Fluid.of('tfg:warpane', 1)) - .minTemp(-110) - .maxTemp(-15) - .requiresNaturalLog(true) - .id("tfg:tree_tapping/warped_wood") - //#region Extractor Recipe - // Latex - - event.recipes.gtceu.extractor('latex_from_log') - .itemInputs('#tfg:latex_logs') - .outputFluids(Fluid.of('tfg:latex', 250)) - .duration(600) - .EUt(20) - - event.recipes.gtceu.extractor('latex_from_sapling') - .itemInputs('#tfg:rubber_saplings') - .outputFluids(Fluid.of('tfg:latex', 100)) - .duration(750) - .EUt(20) - - event.recipes.gtceu.extractor('latex_from_leaves') - .itemInputs('#tfg:rubber_leaves') - .outputFluids(Fluid.of('tfg:latex', 50)) - .duration(750) - .EUt(20) - - // Conifer Pitch - - event.recipes.gtceu.extractor('conifer_from_log') - .itemInputs('#tfg:rosin_logs') - .outputFluids(Fluid.of('tfg:conifer_pitch', 250)) - .duration(600) - .EUt(20) - - event.recipes.gtceu.extractor('conifer_from_sapling') - .itemInputs('#tfg:rosin_saplings') - .outputFluids(Fluid.of('tfg:conifer_pitch', 100)) - .duration(750) - .EUt(20) - - event.recipes.gtceu.extractor('conifer_from_leaves') - .itemInputs('#tfg:rosin_leaves') - .outputFluids(Fluid.of('tfg:conifer_pitch', 50)) - .duration(750) - .EUt(20) - - // Maple Sirup + // Maple Syrup event.recipes.gtceu.extractor('maple_from_log') .itemInputs('#tfc:maple_logs') @@ -298,7 +148,7 @@ const registerAFCRecipes = (event) => { .duration(750) .EUt(20) - // Birch Sirup + // Birch Syrup event.recipes.gtceu.extractor('birch_from_log') .itemInputs('#tfc:birch_logs') @@ -321,25 +171,6 @@ const registerAFCRecipes = (event) => { //#endregion // Из бревна капока / Logs Centrifuge - event.recipes.gtceu.centrifuge('rubber_log_separation') - .itemInputs('#tfg:latex_logs') - .chancedOutput('gtceu:raw_rubber_dust', 5000, 0) - .chancedOutput('gtceu:plant_ball', 3750, 0) - .chancedOutput('gtceu:sticky_resin', 2500, 0) - .chancedOutput('gtceu:wood_dust', 2500, 0) - .outputFluids(Fluid.of('gtceu:methane', 60)) - .duration(20*20) - .EUt(GTValues.VA[GTValues.MV]) - - event.recipes.gtceu.centrifuge('conifer_log_separation') - .itemInputs('#tfg:rosin_logs') - .chancedOutput('tfg:conifer_rosin', 7500, 0) - .chancedOutput('gtceu:plant_ball', 3750, 0) - .chancedOutput('gtceu:sticky_resin', 2500, 0) - .chancedOutput('gtceu:wood_dust', 2500, 0) - .outputFluids(Fluid.of('gtceu:methane', 60)) - .duration(20*20) - .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.centrifuge('maple_syrup_log_separation') .itemInputs('#tfc:maple_logs') @@ -347,7 +178,7 @@ const registerAFCRecipes = (event) => { .chancedOutput('gtceu:plant_ball', 3750, 0) .chancedOutput('gtceu:hardwood_dust', 2500, 0) .outputFluids(Fluid.of('gtceu:methane', 60), Fluid.of('afc:maple_syrup', 100)) - .duration(20*20) + .duration(20 * 20) .EUt(GTValues.VA[GTValues.MV]) event.recipes.gtceu.centrifuge('birch_syrup_log_separation') @@ -356,7 +187,7 @@ const registerAFCRecipes = (event) => { .chancedOutput('gtceu:plant_ball', 3750, 0) .chancedOutput('gtceu:hardwood_dust', 2500, 0) .outputFluids(Fluid.of('gtceu:methane', 60), Fluid.of('afc:birch_syrup', 100)) - .duration(20*20) + .duration(20 * 20) .EUt(GTValues.VA[GTValues.MV]) //#endregion @@ -366,42 +197,42 @@ const registerAFCRecipes = (event) => { event.recipes.gtceu.fluid_heater('maple_sap_condense') .inputFluids(Fluid.of('afc:maple_sap', 1000)) .outputFluids(Fluid.of('afc:maple_syrup', 100)) - .duration(20*25) + .duration(20 * 25) .EUt(GTValues.VA[GTValues.ULV]) event.recipes.gtceu.fluid_heater('birch_sap_condense') .inputFluids(Fluid.of('afc:birch_sap', 1000)) .outputFluids(Fluid.of('afc:birch_syrup', 100)) - .duration(20*35) + .duration(20 * 35) .EUt(GTValues.VA[GTValues.ULV]) - + event.recipes.gtceu.fluid_solidifier('maple_syrup') .inputFluids(Fluid.of('afc:maple_syrup', 100)) .itemOutputs('afc:maple_sugar') - .duration(20*12) + .duration(20 * 12) .EUt(GTValues.VHA[GTValues.ULV]) event.recipes.gtceu.fluid_solidifier('birch_syrup') .inputFluids(Fluid.of('afc:birch_syrup', 100)) .itemOutputs('afc:birch_sugar') - .duration(20*12) + .duration(20 * 12) .EUt(GTValues.VHA[GTValues.ULV]) - + //#endregion // Syrup into sugar event.recipes.tfc.barrel_sealed(24000) - .inputFluid(Fluid.of('afc:maple_syrup', 100)) - .outputItem('afc:maple_sugar') - .id('tfg:barrel/maple_syrup_to_sugar') + .inputFluid(Fluid.of('afc:maple_syrup', 100)) + .outputItem('afc:maple_sugar') + .id('tfg:barrel/maple_syrup_to_sugar') event.recipes.tfc.barrel_sealed(24000) - .inputFluid(Fluid.of('afc:birch_syrup', 100)) - .outputItem('afc:birch_sugar') - .id('tfg:barrel/birch_syrup_to_sugar') + .inputFluid(Fluid.of('afc:birch_syrup', 100)) + .outputItem('afc:birch_sugar') + .id('tfg:barrel/birch_syrup_to_sugar') // Stripped logs diff --git a/kubejs/server_scripts/betterend/recipes.js b/kubejs/server_scripts/betterend/recipes.js deleted file mode 100644 index 7bdb90325..000000000 --- a/kubejs/server_scripts/betterend/recipes.js +++ /dev/null @@ -1,59 +0,0 @@ -// priority: 0 -"use strict"; - -function registerBetterEndRecipes(event) { - - Ingredient.of('#tfg:moon_plants').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `betterend:greenhouse_${itemId.replace(':', '_')}`; - - event.recipes.gtceu.greenhouse(recipeId) - .notConsumable(element.id) - .itemOutputs(`8x ${element.id}`) - .chancedOutput(element.id, 750, 0) - .chancedOutput(element.id, 500, 0) - .duration(36000) // 30 mins - .circuit(1) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.greenhouse(`${recipeId}_helium`) - .notConsumable(element.id) - .inputFluids(Fluid.of('gtceu:helium_3', 500)) - .itemOutputs(`8x ${element.id}`) - .chancedOutput(element.id, 4000, 0) - .chancedOutput(element.id, 3000, 0) - .duration(12000) // 30 mins - .circuit(2) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - }); - - Ingredient.of('#tfg:mars_plants').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - - generateGreenHouseRecipe(event, itemId, 'tfg:semiheavy_ammoniacal_water', 8000, `8x ${itemId}`, - recipeId, 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]); - }); - - generateGreenHouseRecipe(event, '8x betterend:amber_root_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:amber_root_product', 'amber_root', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:blossom_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:blossom_berry_product', 'blossom_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:bolux_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:bolux_mushroom_product', 'bolux_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:cave_pumpkin_plant_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:cave_pumpkin', 'cave_pumpkin', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:chorus_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:chorus_mushroom_product', 'chorus_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '8x betterend:shadow_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:shadow_berry_product', 'shadow_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - - event.recipes.firmalife.oven('betterend:cave_pumpkin_pie_raw', 400, 60 * 20, 'betterend:cave_pumpkin_pie') -} \ No newline at end of file diff --git a/kubejs/server_scripts/betterend/tags.js b/kubejs/server_scripts/betterend/tags.js deleted file mode 100644 index a7cc94002..000000000 --- a/kubejs/server_scripts/betterend/tags.js +++ /dev/null @@ -1,48 +0,0 @@ -// priority: 0 -"use strict"; - -function registerBetterEndItemTags(event) { - - event.add('forge:seeds', 'betterend:amber_root_seeds') - event.add('forge:seeds', 'betterend:blossom_berry_seeds') - event.add('forge:seeds', 'betterend:bolux_mushroom_seeds') - event.add('forge:seeds', 'betterend:cave_pumpkin_seeds') - event.add('forge:seeds', 'betterend:shadow_berry_seeds') - - event.add('tfc:foods', 'betterend:amber_root_product') - event.add('tfc:foods/grains', 'betterend:amber_root_product') - - event.add('tfc:foods', 'betterend:blossom_berry_product') - event.add('tfc:foods/fruits', 'betterend:blossom_berry_product') - - event.add('tfc:foods', 'betterend:bolux_mushroom_product') - event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_product') - event.add('forge:mushrooms', 'betterend:bolux_mushroom_product') - event.add('tfc:foods', 'betterend:bolux_mushroom_cooked') - event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_cooked') - event.add('forge:mushrooms', 'betterend:bolux_mushroom_cooked') - - event.add('tfc:foods', 'betterend:cave_pumpkin') - event.add('tfc:foods', 'betterend:cave_pumpkin_chunks') - event.add('tfc:foods/fruits', 'betterend:cave_pumpkin_chunks') - event.add('tfc:foods', 'betterend:cave_pumpkin_pie_dough') - event.add('tfc:foods', 'betterend:cave_pumpkin_pie_raw') - event.add('tfc:foods', 'betterend:cave_pumpkin_pie') - event.add('firmalife:foods/washable', 'betterend:cave_pumpkin_pie_raw') - event.add('firmalife:foods/washable', 'betterend:cave_pumpkin_pie') - - event.add('tfc:foods', 'betterend:chorus_mushroom_product') - event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_product') - event.add('forge:mushrooms', 'betterend:chorus_mushroom_product') - event.add('tfc:foods', 'betterend:chorus_mushroom_cooked') - event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_cooked') - event.add('forge:mushrooms', 'betterend:chorus_mushroom_cooked') - - event.add('tfc:foods', 'betterend:shadow_berry_product') - event.add('tfc:foods/fruits', 'betterend:shadow_berry_product') - event.add('tfc:foods', 'betterend:shadow_berry_cooked') - event.add('tfc:foods/fruits', 'betterend:shadow_berry_cooked') - - event.add('forge:mushrooms', 'betterend:flammalix') - event.add('forge:mushrooms', 'betterend:small_amaranita_mushroom') -} \ No newline at end of file diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index ee7c1e2b2..016f8ec1c 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -33,11 +33,6 @@ const registerCreateItemTags = (event) => { if (dye !== 'white') event.add('tfg:colored_seats', `create:${dye}_seat`) }) - event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet') - event.add('minecraft:trimmable_armor', 'create:copper_diving_boots') - - event.add('minecraft:trimmable_armor', 'create:netherite_diving_helmet') - event.add('minecraft:trimmable_armor', 'create:netherite_diving_boots') event.add('create:blaze_burner_fuel/regular', "gtceu:poor_raw_coal") event.add('create:blaze_burner_fuel/regular', "gtceu:coal_dust") diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index e33989e16..7a7d32de3 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -14,10 +14,6 @@ const registerFirmaLifeItemTags = (event) => { event.add('c:hidden_from_recipe_viewers', item) }) - event.add('minecraft:trimmable_armor', '#firmalife:beekeeper_armor') - - event.add('tfc:foods/usable_in_salad', 'firmalife:food/pickled_egg') - // Удаление тегов у руд event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") } diff --git a/kubejs/server_scripts/gregtech/data.js b/kubejs/server_scripts/gregtech/data.js index 29a1ff202..3197bcd1b 100644 --- a/kubejs/server_scripts/gregtech/data.js +++ b/kubejs/server_scripts/gregtech/data.js @@ -134,103 +134,8 @@ const registerGTCEUMetals = (event) => { function registerGTCEUBedrockFluidVeins(event) { - event.add('tfg:moon_helium_3', vein => { - vein.dimensions('ad_astra:moon') - vein.fluid(() => Fluid.of('gtceu:helium_3').fluid) - vein.weight(100) - vein.minimumYield(200) - vein.maximumYield(400) - vein.depletionAmount(1) - vein.depletionChance(1) - vein.depletedYield(200) - }) - - event.add('tfg:moon_helium', vein => { - vein.dimensions('ad_astra:moon') - vein.fluid(() => Fluid.of('gtceu:helium').fluid) - vein.weight(10) - vein.minimumYield(20) - vein.maximumYield(50) - vein.depletionAmount(1) - vein.depletionChance(1) - vein.depletedYield(20) - }) - - event.add('tfg:moon_argon', vein => { - vein.dimensions('ad_astra:moon') - vein.fluid(() => Fluid.of('gtceu:argon').fluid) - vein.weight(5) - vein.minimumYield(10) - vein.maximumYield(30) - vein.depletionAmount(1) - vein.depletionChance(1) - vein.depletedYield(10) - }) - - // Mars Fluid Vein - Credit to Monifactory - - const Registries = Java.loadClass("net.minecraft.core.registries.Registries") - const ResourceKey = Java.loadClass("net.minecraft.resources.ResourceKey") - const martianAmberHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/amber_hills") - const martianAmberPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/amber_plains") - const martianMountainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/martian_mountains") - const martianRusticusHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/rusticus_hills") - const martianRusticusPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/rusticus_plains") - const martianSangnumHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/sangnum_hills") - const martianSangnumPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/sangnum_plains") - - event.add('tfg:semiheavy_ammoniacal_water', vein => { - vein.dimensions('ad_astra:mars') - vein.fluid(() => Fluid.of('tfg:semiheavy_ammoniacal_water').fluid) - vein.weight(100) - vein.minimumYield(200) - vein.maximumYield(400) - vein.depletionAmount(1) - vein.depletionChance(20) - vein.depletedYield(15) - }) - - event.add('tfg:liquid_carbon_dioxide', vein => { - vein.dimensions('ad_astra:mars') - vein.fluid(() => Fluid.of('gtceu:liquid_carbon_dioxide').fluid) - vein.weight(30) - vein.minimumYield(20) - vein.maximumYield(350) - vein.depletionAmount(1) - vein.depletionChance(20) - vein.depletedYield(5) - }) - - event.add('tfg:liquid_ice', vein => { - vein.dimensions('ad_astra:mars') - vein.fluid(() => Fluid.of('gtceu:ice').fluid) - vein.weight(20) - vein.minimumYield(20) - vein.maximumYield(200) - vein.depletionAmount(1) - vein.depletionChance(20) - vein.depletedYield(5) - }) - - // Heavy Ammonical Water in Specific Biome Credit to Monifactory from https://github.com/ThePansmith/Monifactory/blob/main/kubejs/server_scripts/worldgen/fluidVeins.js - - event.add('tfg:heavy_ammoniacal_water', vein => { - vein.dimensions('ad_astra:mars') - vein.fluid(() => Fluid.of('tfg:heavy_ammoniacal_water').fluid) - vein.biomes(20, martianAmberHillsResourceKey) - vein.biomes(20, martianAmberPlainsResourceKey) - vein.biomes(20, martianRusticusHillsResourceKey) - vein.biomes(20, martianRusticusPlainsResourceKey) - vein.biomes(20, martianSangnumHillsResourceKey) - vein.biomes(20, martianSangnumPlainsResourceKey) - // This one is exclusively far inland, so it's ok to buff it a bit in case the player has bad luck - vein.biomes(50, martianMountainsResourceKey) - vein.weight(0) - vein.minimumYield(100) - vein.maximumYield(650) - vein.depletionAmount(1) - vein.depletionChance(20) - vein.depletedYield(5) - }) + registerTFGMoonBedrockFluidVeins(event) + registerTFGMarsBedrockFluidVeins(event) + registerTFGVenusBedrockFluidVeins(event) } diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index de4bdf149..da08ef709 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -13,10 +13,6 @@ function registerGTCEUItemTags(event) { event.add("c:hidden_from_recipe_viewers", item); }); - global.GTCEU_ARMORS.forEach((item) => { - event.add("minecraft:trimmable_armor", item); - }); - // Добавление тега EMI для скрытия всех руд event.add("c:hidden_from_recipe_viewers", "#forge:ores"); @@ -29,12 +25,6 @@ function registerGTCEUItemTags(event) { event.remove("ae2:p2p_attunements/fluid_p2p_tunnel", `gtceu:${dyeName}_dye_bucket`); }); - // Piglin loved - event.add("minecraft:piglin_loved", "gtceu:tiny_pyrite_dust"); - event.add("minecraft:piglin_loved", "gtceu:poor_raw_pyrite"); - event.add("minecraft:piglin_loved", "gtceu:raw_pyrite"); - event.add("minecraft:piglin_loved", "gtceu:rich_raw_pyrite"); - event.remove("forge:gems", "gtceu:coke_gem"); // Rose Quartz Lens @@ -54,7 +44,6 @@ function registerGTCEUItemTags(event) { // @ts-expect-error According to KJS docs adding tags to tags is supported. event.add("gtceu:molds", "#gtceu:casting_molds", "#gtceu:extruder_molds", "gtceu:empty_mold"); - event.add('forge:wax', 'gtceu:wax_dust'); } /** @param {TagEvent.Block} event */ @@ -64,22 +53,8 @@ function registerGTCEUBlockTags(event) { event.removeAllTagsFrom(item); }); - event.add("minecraft:mineable/pickaxe", "#forge:ores"); - event.add("minecraft:needs_iron_tool", "#forge:ores"); - event.add('gtceu:mineable/pickaxe_or_wrench', 'gtceu:ulv_hermetic_casing'); - // Collapse tags - event.add("tfc:can_collapse", "#forge:ores"); - event.add("tfc:can_start_collapse", "#forge:ores"); - event.add("tfc:can_trigger_collapse", "#forge:ores"); - event.add("c:hidden_from_recipe_viewers", "#forge:ores"); - - event.add("tfc:can_collapse", "#forge:raw_ore_blocks"); - event.add("tfc:can_start_collapse", "#forge:raw_ore_blocks"); - event.add("tfc:can_trigger_collapse", "#forge:raw_ore_blocks"); - event.add("c:hidden_from_recipe_viewers", "#forge:raw_ore_blocks"); - event.remove("gtceu:cleanroom_doors", "#minecraft:wooden_doors"); event.add("gtceu:cleanroom_doors", "firmalife:sealed_door"); event.add("gtceu:cleanroom_doors", "firmalife:iron_greenhouse_door"); @@ -101,27 +76,6 @@ function registerGTCEUBlockTags(event) { event.add("gtceu:cleanroom_doors", "createdeco:zinc_door"); event.add("gtceu:cleanroom_doors", "createdeco:locked_zinc_door"); event.add("gtceu:cleanroom_doors", "ad_astra:steel_door"); - - // Let GT indicators be covered by snow - forEachMaterial((material) => { - if (material.hasProperty(PropertyKey.ORE)) { - const indicator = `gtceu:${material.getName()}_indicator`; - - event.add("tfg:dust_ore_indicators", indicator); - event.add("tfc:can_be_snow_piled", indicator); - event.add("tfc:can_be_ice_piled", indicator); - - if (material.hasProperty(PropertyKey.GEM)) { - const bud = `gtceu:${material.getName()}_bud_indicator`; - - event.add("tfg:bud_ore_indicators", bud); - event.add("tfc:can_be_snow_piled", bud); - event.add("tfc:can_be_ice_piled", bud); - - event.add("minecraft:mineable/pickaxe", bud); - } - } - }); } /** @param {TagEvent.Fluid} event */ diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 78248cb3b..ac9749489 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -13,7 +13,6 @@ ServerEvents.tags('item', event => { registerAlekishipsItemTags(event) registerAsticorCartsItemTags(event) registerBeneathItemTags(event) - registerBetterEndItemTags(event) registerChalkItemTags(event); registerComputerCraftItemTags(event) registerConstructionWandItemTags(event) @@ -50,7 +49,6 @@ ServerEvents.tags('item', event => { registerSNSItemTags(event) registerSpeciesItemTags(event) registerTACZItemTags(event) - registerTFCAmbientalItemTags(event) registerTFCItemTags(event) registerTFCTextileItemTags(event) registerTFGItemTags(event) @@ -125,20 +123,17 @@ ServerEvents.tags('worldgen/placed_feature', event => { // Remove default veins event.removeAll('tfc:in_biome/veins') - registerAdAstraPlacedFeatures(event) - registerTFCPlacedFeatures(event) registerTFGPlacedFeatures(event) }) ServerEvents.tags('worldgen/biome', event => { registerAdAstraBiomeTags(event) registerCreatePickyWheelsBiomeTags(event) - registerTFCBiomeTags(event) registerTFGBiomeTags(event) }) ServerEvents.tags('entity_type', event => { - registerAdAstraEntityTypeTags(event) + registerTFGEntityTypeTags(event) registerWABEntityTypeTags(event) }) @@ -216,7 +211,6 @@ ServerEvents.recipes(event => { registerAE2NetworkAnalyzerRecipes(event) registerAE2WTLibRecipes(event) registerBeneathRecipes(event) - registerBetterEndRecipes(event) registerBuildingGadgetsRecipes(event) registerChalkRecipes(event); registerComfortsRecipes(event); diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index fb4f5c00f..938e0be90 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -26,67 +26,15 @@ const registerMinecraftItemTags = (event) => { event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') event.remove('minecraft:creeper_drop_music_discs', ['minecraft:music_disc_11']) - event.add('tfc:foods', 'minecraft:red_mushroom') - event.add('tfc:foods', 'minecraft:brown_mushroom') - event.add('tfc:foods', 'minecraft:glow_berries') - event.add('tfc:foods', 'minecraft:chorus_fruit') - event.add('tfc:foods', 'minecraft:popped_chorus_fruit') - - event.add('tfc:foods/vegetables', 'minecraft:red_mushroom') - event.add('tfc:foods/vegetables', 'minecraft:brown_mushroom') - event.add('tfc:foods/fruits', 'minecraft:glow_berries') - event.add('tfc:foods/fruits', 'minecraft:chorus_fruit') - event.add('tfc:foods/fruits', 'minecraft:popped_chorus_fruit') - - event.add('beneath:usable_in_juicer', 'minecraft:glow_berries') - event.add('beneath:usable_in_juicer', 'minecraft:chorus_fruit') - event.add('beneath:usable_in_juicer', 'minecraft:red_mushroom') - event.add('beneath:usable_in_juicer', 'minecraft:brown_mushroom') - - event.add('tfc:foods/usable_in_soup', 'minecraft:red_mushroom') - event.add('tfc:foods/usable_in_soup', 'minecraft:brown_mushroom') - event.add('tfc:foods/usable_in_soup', 'minecraft:glow_berries') - event.add('tfc:foods/usable_in_soup', 'minecraft:chorus_fruit') - event.add('tfc:foods/usable_in_soup', 'minecraft:popped_chorus_fruit') - - event.add('tfc:foods/usable_in_salad', 'minecraft:red_mushroom') - event.add('tfc:foods/usable_in_salad', 'minecraft:brown_mushroom') - event.add('tfc:foods/usable_in_salad', 'minecraft:glow_berries') - event.add('tfc:foods/usable_in_salad', 'minecraft:chorus_fruit') - event.add('tfc:foods/usable_in_salad', 'minecraft:popped_chorus_fruit') - - event.add('tfc:rabbit_food', 'minecraft:chorus_fruit') - event.add('tfc:rabbit_food', 'minecraft:popped_chorus_fruit') - - event.add('tfc:rock/raw', 'minecraft:deepslate') - event.add('tfc:rock/raw', 'minecraft:blackstone') - event.add('tfc:rock/raw', 'minecraft:dripstone_block') event.remove('forge:gems', 'minecraft:charcoal') event.remove('forge:gems', 'minecraft:coal') event.remove('forge:gems', 'minecraft:flint') - event.add('tfc:compost_greens', 'minecraft:red_mushroom_block') - event.add('tfc:compost_greens', 'minecraft:brown_mushroom_block') - event.add('tfc:compost_greens', 'minecraft:mushroom_stem') - event.add('tfc:compost_greens', 'minecraft:moss_block') - event.add('tfc:compost_greens_low', 'minecraft:moss_carpet') - event.add('tfc:compost_greens_low', 'minecraft:twisting_vines') - event.add('tfc:compost_greens_high', 'minecraft:pearlescent_froglight') - event.add('tfc:compost_greens_high', 'minecraft:verdant_froglight') - event.add('tfc:compost_greens_high', 'minecraft:ochre_froglight') - //event.add('tfc:moss', 'minecraft:moss_carpet') - event.remove('createaddition:plants', 'minecraft:moss_carpet') - event.add('tfc:colored_terracotta', 'minecraft:white_terracotta') event.add('tfc:bells', 'minecraft:bell') - event.add('tfc:plants', 'minecraft:spore_blossom') - - event.add('tfc:compost_greens', 'minecraft:nether_wart_block') - event.add('tfc:compost_greens', 'minecraft:warped_wart_block') - event.add('tfc:hematitic_sand', 'minecraft:red_sand') event.add('tfc:makes_black_dye', 'minecraft:ink_sac') @@ -95,13 +43,6 @@ const registerMinecraftItemTags = (event) => { event.add('create:blaze_burner_fuel/regular', 'minecraft:coal') event.add('create:blaze_burner_fuel/regular', 'minecraft:charcoal') - event.add('minecraft:wart_blocks', 'minecraft:mushroom_stem') - - event.add('forge:smooth_stone_slab', 'minecraft:polished_deepslate_slab') - event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_slab') - event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_brick_slab') - - event.add('tfc:rock/smooth', 'minecraft:smooth_stone') } const registerMinecraftBlockTags = (event) => { @@ -115,98 +56,4 @@ const registerMinecraftBlockTags = (event) => { // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') - //#region Nether blocks - - event.add('tfg:lush_ground_replaceable', 'minecraft:deepslate') - event.add('tfg:lush_ground_replaceable', 'minecraft:blackstone') - - event.add('tfc:rock/raw', 'minecraft:deepslate') - event.add('tfc:rock/raw', 'minecraft:blackstone') - event.add('tfc:rock/raw', 'minecraft:dripstone_block') - event.add('forge:cobblestone/normal', 'minecraft:cobbled_deepslate') - event.add('minecraft:lush_ground_replaceable', 'minecraft:blackstone') - event.add('beneath:nether_bush_plantable_on', 'minecraft:blackstone') - event.add('beneath:nether_bush_plantable_on', 'minecraft:deepslate') - event.add('beneath:nether_bush_plantable_on', 'minecraft:moss_block') - event.add('beneath:nether_bush_plantable_on', 'minecraft:dripstone_block') - event.add('minecraft:nether_carver_replaceables', 'minecraft:blackstone') - event.add('minecraft:nether_carver_replaceables', 'minecraft:deepslate') - event.add('minecraft:nether_carver_replaceables', 'minecraft:dripstone_block') - event.add('minecraft:frogs_spawnable_on', 'minecraft:deepslate') - event.add('minecraft:frogs_spawnable_on', 'minecraft:blackstone') - event.add('minecraft:frogs_spawnable_on', 'minecraft:dripstone_block') - event.add('minecraft:axolotls_spawnable_on', 'minecraft:deepslate') - event.add('minecraft:axolotls_spawnable_on', 'minecraft:dripstone_block') - event.add('tfc:grass_plantable_on', 'minecraft:moss_block') - event.add('tfc:creeping_plantable_on', 'minecraft:moss_block') - event.add('tfc:creeping_plantable_on', 'minecraft:deepslate') - event.add('tfc:creeping_plantable_on', 'minecraft:blackstone') - event.add('tfc:creeping_stone_plantable_on', 'minecraft:moss_block') - event.add('tfc:creeping_stone_plantable_on', 'minecraft:deepslate') - event.add('tfc:creeping_stone_plantable_on', 'minecraft:blackstone') - event.add('minecraft:base_stone_nether', 'minecraft:deepslate') - event.add('minecraft:base_stone_nether', 'minecraft:blackstone') - event.add('minecraft:base_stone_nether', 'minecraft:dripstone_block') - event.add('forge:stone', 'minecraft:blackstone') - - event.add('tfc:can_landslide', 'minecraft:cobbled_deepslate') - - event.add('tfc:breaks_when_isolated', 'minecraft:deepslate') - event.add('tfc:breaks_when_isolated', 'minecraft:blackstone') - event.add('tfc:breaks_when_isolated', 'minecraft:gilded_blackstone') - event.add('tfc:breaks_when_isolated', 'minecraft:dripstone_block') - - event.add('tfg:rock_stairs', 'minecraft:cobbled_deepslate_stairs') - event.add('tfg:rock_slabs', 'minecraft:cobbled_deepslate_slab') - event.add('tfg:rock_walls', 'minecraft:cobbled_deepslate_wall') - event.add('tfg:brick_stairs', 'minecraft:deepslate_brick_stairs') - event.add('tfg:brick_slabs', 'minecraft:deepslate_brick_slab') - event.add('tfg:brick_walls', 'minecraft:deepslate_brick_wall') - event.add('tfg:brick_stairs', 'minecraft:deepslate_tile_stairs') - event.add('tfg:brick_slabs', 'minecraft:deepslate_tile_slab') - event.add('tfg:brick_walls', 'minecraft:deepslate_tile_wall') - event.add('tfg:rock_stairs', 'minecraft:blackstone_stairs') - event.add('tfg:rock_slabs', 'minecraft:blackstone_slab') - event.add('tfg:rock_walls', 'minecraft:blackstone_wall') - event.add('tfg:brick_stairs', 'minecraft:blackstone_stairs') - event.add('tfg:brick_slabs', 'minecraft:blackstone_slab') - event.add('tfg:brick_walls', 'minecraft:blackstone_wall') - - event.add('tfc:bloomery_insulation', 'minecraft:polished_deepslate'); - event.add('tfc:forge_insulation', 'minecraft:polished_deepslate'); - event.add('tfc:bloomery_insulation', 'minecraft:polished_blackstone'); - event.add('tfc:forge_insulation', 'minecraft:polished_blackstone'); - event.add('tfc:bloomery_insulation', 'minecraft:deepslate_tiles'); - event.add('tfc:forge_insulation', 'minecraft:deepslate_tiles'); - event.add('tfc:bloomery_insulation', 'minecraft:cracked_deepslate_tiles'); - event.add('tfc:forge_insulation', 'minecraft:cracked_deepslate_tiles'); - event.add('tfc:bloomery_insulation', 'minecraft:chiseled_deepslate'); - event.add('tfc:forge_insulation', 'minecraft:chiseled_deepslate'); - event.add('tfc:bloomery_insulation', 'minecraft:chiseled_polished_blackstone'); - event.add('tfc:forge_insulation', 'minecraft:chiseled_polished_blackstone'); - event.add('tfc:bloomery_insulation', 'minecraft:gilded_blackstone'); - event.add('tfc:forge_insulation', 'minecraft:gilded_blackstone'); - event.add('tfc:bloomery_insulation', 'minecraft:basalt'); - event.add('tfc:forge_insulation', 'minecraft:basalt'); - event.add('tfc:bloomery_insulation', 'minecraft:smooth_basalt'); - event.add('tfc:forge_insulation', 'minecraft:smooth_basalt'); - - event.add('minecraft:mineable/pickaxe', 'minecraft:lantern'); - - event.add('minecraft:mineable/pickaxe', 'minecraft:cobweb'); - event.add('minecraft:mineable/hoe', 'minecraft:cobweb'); - event.add('minecraft:mineable/shovel', 'minecraft:cobweb'); - event.add('minecraft:mineable/axe', 'minecraft:cobweb'); - - //#region - - event.removeAll('minecraft:sniffer_diggable_block') - - event.add('tfc:can_be_snow_piled', 'minecraft:crimson_fungus') - event.add('tfc:can_be_snow_piled', 'minecraft:warped_fungus') - event.add('tfc:can_be_snow_piled', 'minecraft:torchflower') - event.add('tfc:can_be_snow_piled', 'minecraft:pitcher_plant') - - event.remove('minecraft:enderman_holdable', 'minecraft:crimson_fungus') - event.remove('minecraft:enderman_holdable', 'minecraft:warped_fungus') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 481d834ce..982310c93 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -7,7 +7,6 @@ const registerTFCDataForTFC = (event) => { registerTFCLampFuels(event) registerTFCFertilizers(event) registerTFCKnappingTypes(event) - registerTFCArmourResistances(event) } @@ -73,187 +72,4 @@ const registerTFCFertilizers = (event) => { const registerTFCKnappingTypes = (event) => { event.knappingType('minecraft:flint', 1, 1, 'tfc:item.knapping.stone', true, false, true, 'minecraft:flint', 'tfg:flint') event.knappingType('tfc:straw', 4, 4, 'tfc:item.knapping.leather', false, false, false, 'tfc:straw', 'tfg:straw') -} - -const registerTFCArmourResistances = (event) => { - event.itemDamageResistance( - 'create:copper_diving_helmet', - 2, - 2, - 2 - ) - event.itemDamageResistance( - 'create:copper_backtank', - 2, - 2, - 2 - ) - event.itemDamageResistance( - 'create:copper_diving_boots', - 2, - 2, - 2 - ) - event.itemDamageResistance( - 'create:copper_diving_helmet', - 2, - 2, - 2 - ) - event.itemDamageResistance( - 'gtceu:hazmat_headpiece', - null, - null, - 3 - ) - event.itemDamageResistance( - 'gtceu:hazmat_chestpiece', - null, - null, - 3 - ) - event.itemDamageResistance( - 'gtceu:hazmat_leggings', - null, - null, - 3 - ) - event.itemDamageResistance( - 'gtceu:hazmat_boots', - null, - null, - 3 - ) - event.itemDamageResistance( - 'create:netherite_diving_helmet', - 13, - 13, - 15 - ) - event.itemDamageResistance( - 'create:netherite_backtank', - 13, - 13, - 15 - ) - event.itemDamageResistance( - 'minecraft:netherite_leggings', - 13, - 13, - 15 - ) - event.itemDamageResistance( - 'create:netherite_diving_boots', - 13, - 13, - 15 - ) - event.itemDamageResistance( - 'gtceu:nanomuscle_helmet', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'gtceu:nanomuscle_chestplate', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'gtceu:advanced_nanomuscle_chestplate', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'gtceu:nanomuscle_leggings', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'gtceu:nanomuscle_boots', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'gtceu:quarktech_helmet', - 24, - 24, - 24 - ) - event.itemDamageResistance( - 'gtceu:quarktech_chestplate', - 24, - 24, - 24 - ) - event.itemDamageResistance( - 'gtceu:advanced_quarktech_chestplate', - 24, - 24, - 24 - ) - event.itemDamageResistance( - 'gtceu:quarktech_leggings', - 24, - 24, - 24 - ) - event.itemDamageResistance( - 'gtceu:quarktech_boots', - 24, - 24, - 24 - ) - event.itemDamageResistance( - 'ad_astra:space_helmet', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'ad_astra:space_suit', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'ad_astra:space_pants', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'ad_astra:space_boots', - 16, - 16, - 16 - ) - event.itemDamageResistance( - 'ad_astra:netherite_space_helmet', - 21, - 21, - 21 - ) - event.itemDamageResistance( - 'ad_astra:netherite_space_suit', - 21, - 21, - 21 - ) - event.itemDamageResistance( - 'ad_astra:netherite_space_pants', - 21, - 21, - 21 - ) - event.itemDamageResistance( - 'ad_astra:netherite_space_boots', - 21, - 21, - 21 - ) -} +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index b566fc9ab..040b9857b 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -111,14 +111,6 @@ function registerTFCItemTags(event) { event.add("minecraft:fishes", "tfc:food/rainbow_trout"); event.add("minecraft:fishes", "tfc:food/smallmouth_bass"); - // Make eggs not useless - event.add("tfc:foods/usable_in_salad", "tfc:food/cooked_egg"); - event.add("tfc:foods/usable_in_salad", "tfc:food/boiled_egg"); - event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/cooked_egg"); - event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/boiled_egg"); - event.add("tfc:foods/usable_in_sandwich", "tfc:food/cooked_egg"); - event.add("tfc:foods/usable_in_sandwich", "tfc:food/boiled_egg"); - // Чтобы жарились бревна из TFC в пиролиз. печке // Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия... global.TFC_WOOD_TYPES.forEach((woodType) => { @@ -147,16 +139,6 @@ function registerTFCItemTags(event) { event.add("tfc:blast_furnace_fuel", "gtceu:coke_gem"); event.add("tfc:blast_furnace_fuel", "beneath:cursecoal"); - // Create a tag for Steam Bloomery - - event.add("tfc:steam_bloomery_basic_fuels", "minecraft:coal"); - event.add("tfc:steam_bloomery_basic_fuels", "minecraft:charcoal"); - event.add("tfc:steam_bloomery_basic_fuels", "gtceu:rich_raw_coal"); - event.add("tfc:steam_bloomery_basic_fuels", "gtceu:raw_coal"); - event.add("tfc:steam_bloomery_basic_fuels", "gtceu:poor_raw_coal"); - event.add("tfc:steam_bloomery_basic_fuels", "gtceu:coal_dust"); - event.add("tfc:steam_bloomery_basic_fuels", "gtceu:charcoal_dust"); - // Тэги для сундуков, чтобы отличать их виды global.TFC_WOOD_TYPES.forEach((woodType) => { event.add("tfg:default_chests", `tfc:wood/chest/${woodType}`); @@ -331,12 +313,6 @@ function registerTFCItemTags(event) { event.add("forge:cloth", "tfc:wool_cloth"); event.add("forge:cloth", "tfc:silk_cloth"); - // Piglin loved - event.add("minecraft:piglin_loved", "tfc:ore/small_native_gold"); - event.add("minecraft:piglin_loved", "tfc:ore/poor_native_gold"); - event.add("minecraft:piglin_loved", "tfc:ore/normal_native_gold"); - event.add("minecraft:piglin_loved", "tfc:ore/rich_native_gold"); - // Bells event.add("tfc:bells", "tfc:bronze_bell"); event.add("tfc:bells", "tfc:brass_bell"); @@ -432,36 +408,6 @@ function registerTFCBlockTags(event) { // Удаление тегов у руд event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/"); - //#region Nether - - event.add("beneath:nether_bush_plantable_on", "#tfc:clay_grass"); - event.add("minecraft:small_dripleaf_placeable", "#tfc:clay_grass"); - event.add("minecraft:big_dripleaf_placeable", "#tfc:clay_grass"); - event.add("minecraft:frogs_spawnable_on", "#tfc:clay_grass"); - event.add("minecraft:axolotls_spawnable_on", "#tfc:clay_grass"); - - event.add("minecraft:small_dripleaf_placeable", "#tfc:clay"); - event.add("minecraft:big_dripleaf_placeable", "#tfc:clay"); - event.add("minecraft:frogs_spawnable_on", "#tfc:clay"); - event.add("minecraft:axolotls_spawnable_on", "#tfc:clay"); - - event.add("beneath:nether_bush_plantable_on", "#tfc:mud"); - event.add("minecraft:frogs_spawnable_on", "#tfc:mud"); - - event.add("beneath:nether_bush_plantable_on", "#tfc:dirt"); - event.add("minecraft:frogs_spawnable_on", "#tfc:dirt"); - - event.add("minecraft:base_stone_nether", "tfc:rock/raw/gneiss"); - event.add("minecraft:base_stone_nether", "tfc:rock/raw/schist"); - event.add("minecraft:base_stone_nether", "tfc:rock/raw/diorite"); - event.add("minecraft:base_stone_nether", "tfc:rock/raw/granite"); - event.add("minecraft:base_stone_nether", "tfc:rock/raw/gabbro"); - event.add("minecraft:base_stone_nether", "tfc:rock/raw/basalt"); - event.add("minecraft:nether_carver_replaceables", "#minecraft:base_stone_nether"); - event.add("minecraft:frogs_spawnable_on", "#minecraft:base_stone_nether"); - - //#endregion - // Lets the basin be put on top of a charcoal forge event.add("tfc:forge_invisible_whitelist", "create:basin"); @@ -752,42 +698,4 @@ function registerTFCFluidTags(event) { event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_black_steel"); event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_red_steel"); event.add("c:hidden_from_recipe_viewers", "tfc:metal/high_carbon_blue_steel"); -} - -/** @param {TagEvent.Biome} event */ -function registerTFCBiomeTags(event) { - event.add("tfc:kaolin_clay_spawns_in", "tfc:rolling_hills"); - - global.TFC_BIOMES.forEach(biome => { - event.add('tfg:overworld_biomes', biome); - }) -} - -/** @param {TagEvent.PlacedFeature} event */ -function registerTFCPlacedFeatures(event) { - // Add back the non-ore ones - event.add("tfc:in_biome/veins", "tfc:vein/gravel"); - event.add("tfc:in_biome/veins", "tfc:vein/kaolin_disc"); - event.add("tfc:in_biome/veins", "tfc:vein/granite_dike"); - event.add("tfc:in_biome/veins", "tfc:vein/diorite_dike"); - event.add("tfc:in_biome/veins", "tfc:vein/gabbro_dike"); - - // Geodes - event.add("tfc:in_biome/veins", "tfg:earth/geode/amethyst"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/barite"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/calcite"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/gypsum"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/opal"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/pyrite"); - event.add("tfc:in_biome/veins", "tfg:earth/geode/quartzite"); - - // Crops - event.add("tfc:feature/crops", "tfg:earth/sunflower_patch"); - event.add("tfc:feature/crops", "tfg:earth/rapeseed_patch"); - event.add("tfc:feature/crops", "tfg:earth/flax_patch"); - - // Other decoration - event.add("tfc:in_biome/underground_decoration", "tfg:glow_lichen"); - event.add("tfc:in_biome/underground_decoration", "tfg:earth/sulfur_patch"); - event.add("tfc:in_biome/underground_decoration", "tfg:earth/oil_spout"); -} +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfcambiental/tags.js b/kubejs/server_scripts/tfcambiental/tags.js deleted file mode 100644 index aeabe274a..000000000 --- a/kubejs/server_scripts/tfcambiental/tags.js +++ /dev/null @@ -1,26 +0,0 @@ -// priority: 0 -"use strict"; - -const registerTFCAmbientalItemTags = (event) => { - - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_hat') - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_sweater') - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:wool_boots') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_cowl') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shirt') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shoes') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_cowl') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shirt') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shoes') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_hat') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants') - event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots') - - event.add('tfg:lightweight_cloth', 'tfc:silk_cloth') - event.add('tfg:lightweight_cloth', 'tfg:phantom_silk') - event.add('tfg:lightweight_cloth', 'tfg:polycaprolactam_fabric') -} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/beneath/tags.beneath.js b/kubejs/server_scripts/tfg/beneath/tags.beneath.js new file mode 100644 index 000000000..c61249bb5 --- /dev/null +++ b/kubejs/server_scripts/tfg/beneath/tags.beneath.js @@ -0,0 +1,139 @@ +"use strict"; + +function registerTFGBeneathItemTags(event) { + + event.add("minecraft:piglin_loved", "gtceu:tiny_pyrite_dust"); + event.add("minecraft:piglin_loved", "gtceu:poor_raw_pyrite"); + event.add("minecraft:piglin_loved", "gtceu:raw_pyrite"); + event.add("minecraft:piglin_loved", "gtceu:rich_raw_pyrite"); + event.add("minecraft:piglin_loved", "tfc:ore/small_native_gold"); + event.add("minecraft:piglin_loved", "tfc:ore/poor_native_gold"); + event.add("minecraft:piglin_loved", "tfc:ore/normal_native_gold"); + event.add("minecraft:piglin_loved", "tfc:ore/rich_native_gold"); + event.add('minecraft:piglin_loved', 'tfg:piglin_disguise') + + event.add('tfc:plants', 'minecraft:spore_blossom') + event.remove('createaddition:plants', 'minecraft:moss_carpet') + + event.add('tfc:compost_greens', 'minecraft:red_mushroom_block') + event.add('tfc:compost_greens', 'minecraft:brown_mushroom_block') + event.add('tfc:compost_greens', 'minecraft:mushroom_stem') + event.add('tfc:compost_greens', 'minecraft:moss_block') + event.add('tfc:compost_greens_low', 'minecraft:moss_carpet') + event.add('tfc:compost_greens_low', 'minecraft:twisting_vines') +} + + +function registerTFGBeneathBlockTags(event) { + event.add('tfg:lush_ground_replaceable', 'minecraft:deepslate') + event.add('tfg:lush_ground_replaceable', 'minecraft:blackstone') + + event.add('minecraft:lush_ground_replaceable', 'minecraft:blackstone') + event.add('beneath:nether_bush_plantable_on', 'minecraft:blackstone') + event.add('beneath:nether_bush_plantable_on', 'minecraft:deepslate') + event.add('beneath:nether_bush_plantable_on', 'minecraft:moss_block') + event.add('beneath:nether_bush_plantable_on', 'minecraft:dripstone_block') + event.add('minecraft:nether_carver_replaceables', 'minecraft:blackstone') + event.add('minecraft:nether_carver_replaceables', 'minecraft:deepslate') + event.add('minecraft:nether_carver_replaceables', 'minecraft:dripstone_block') + event.add('minecraft:frogs_spawnable_on', 'minecraft:deepslate') + event.add('minecraft:frogs_spawnable_on', 'minecraft:blackstone') + event.add('minecraft:frogs_spawnable_on', 'minecraft:dripstone_block') + event.add('minecraft:axolotls_spawnable_on', 'minecraft:deepslate') + event.add('minecraft:axolotls_spawnable_on', 'minecraft:dripstone_block') + event.add('tfc:grass_plantable_on', 'minecraft:moss_block') + event.add('tfc:creeping_plantable_on', 'minecraft:moss_block') + event.add('tfc:creeping_plantable_on', 'minecraft:deepslate') + event.add('tfc:creeping_plantable_on', 'minecraft:blackstone') + event.add('tfc:creeping_stone_plantable_on', 'minecraft:moss_block') + event.add('tfc:creeping_stone_plantable_on', 'minecraft:deepslate') + event.add('tfc:creeping_stone_plantable_on', 'minecraft:blackstone') + + event.add('minecraft:base_stone_nether', 'minecraft:deepslate') + event.add('minecraft:base_stone_nether', 'minecraft:blackstone') + event.add('minecraft:base_stone_nether', 'minecraft:dripstone_block') + event.add("minecraft:base_stone_nether", "tfc:rock/raw/gneiss"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/schist"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/diorite"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/granite"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/gabbro"); + event.add("minecraft:base_stone_nether", "tfc:rock/raw/basalt"); + + event.add('minecraft:mineable/pickaxe', 'minecraft:lantern'); + + event.add('minecraft:mineable/pickaxe', 'minecraft:cobweb'); + event.add('minecraft:mineable/hoe', 'minecraft:cobweb'); + event.add('minecraft:mineable/shovel', 'minecraft:cobweb'); + event.add('minecraft:mineable/axe', 'minecraft:cobweb'); + + event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate') + event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_deepslate') + event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_deepslate') + event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_deepslate') + event.add('tfc:grass_plantable_on', 'tfg:rock/hardened_deepslate') + event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_deepslate') + + event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_blackstone') + event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_blackstone') + event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_blackstone') + event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_blackstone') + event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_blackstone') + + event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_dripstone') + event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_dripstone') + + event.add("beneath:nether_bush_plantable_on", "#tfc:clay_grass"); + event.add("minecraft:small_dripleaf_placeable", "#tfc:clay_grass"); + event.add("minecraft:big_dripleaf_placeable", "#tfc:clay_grass"); + event.add("minecraft:frogs_spawnable_on", "#tfc:clay_grass"); + event.add("minecraft:axolotls_spawnable_on", "#tfc:clay_grass"); + + event.add("minecraft:small_dripleaf_placeable", "#tfc:clay"); + event.add("minecraft:big_dripleaf_placeable", "#tfc:clay"); + event.add("minecraft:frogs_spawnable_on", "#tfc:clay"); + event.add("minecraft:axolotls_spawnable_on", "#tfc:clay"); + + event.add("beneath:nether_bush_plantable_on", "#tfc:mud"); + event.add("minecraft:frogs_spawnable_on", "#tfc:mud"); + + event.add("beneath:nether_bush_plantable_on", "#tfc:dirt"); + event.add("minecraft:frogs_spawnable_on", "#tfc:dirt"); + + event.add("minecraft:nether_carver_replaceables", "#minecraft:base_stone_nether"); + event.add("minecraft:frogs_spawnable_on", "#minecraft:base_stone_nether"); +} + +function registerTFGBeneathBiomeTags(event) { + + event.add('tfg:nether_biomes', 'tfg:nether/lush_hollow') + event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/lush_hollow') + event.add('minecraft:spawns_cold_variant_frogs', 'tfg:nether/lush_hollow') + + event.add('tfg:nether_biomes', 'tfg:nether/decaying_caverns') + event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/decaying_caverns') + event.add('minecraft:spawns_warm_variant_frogs', 'tfg:nether/decaying_caverns') + event.add('minecraft:has_closer_water_fog', 'tfg:nether/decaying_caverns') + + event.add('tfg:nether_biomes', 'tfg:nether/basalt_deltas') + event.add('tfg:nether_biomes', 'tfg:nether/ash_forest') + event.add('tfg:nether_biomes', 'tfg:nether/lava_floes') + event.add('tfg:nether_biomes', 'tfg:nether/webbed_lair') + event.add('tfg:nether_biomes', 'tfg:nether/gneiss_caves') + event.add('tfg:nether_biomes', 'tfg:nether/diorite_caves') + event.add('tfg:nether_biomes', 'tfg:nether/gabbro_caves') + event.add('tfg:nether_biomes', 'tfg:nether/granite_caves') + event.add('tfg:nether_biomes', 'tfg:nether/schist_caves') + + event.add('minecraft:has_structure/nether_fossil', '#tfg:nether_biomes') + event.add('minecraft:has_structure/bastion_remnant', '#tfg:nether_biomes') + +} + +function registerTFGBeneathPlacedFeatures(event) { + + event.add('tfg:nether_veins', 'beneath:vein/crackrack_pipe') + + event.add('tfg:nether_underground_decoration', 'minecraft:spring_open') + event.add('tfg:nether_underground_decoration', 'minecraft:spring_closed') + event.add('tfg:nether_underground_decoration', 'tfg:nether/terrain/magma_blob') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index ba1b45d80..d8c290270 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -10,6 +10,7 @@ function registerTFCDataForTFG(event) { registerTFGCropRanges(event); registerTFGFLPlanters(event); registerTFGFauna(event); + registerTFGEquipmentData(event); } //#region Heat Data diff --git a/kubejs/server_scripts/tfg/equipment/data.equipment.js b/kubejs/server_scripts/tfg/equipment/data.equipment.js new file mode 100644 index 000000000..4263d344b --- /dev/null +++ b/kubejs/server_scripts/tfg/equipment/data.equipment.js @@ -0,0 +1,189 @@ +"use strict"; + +function registerTFGEquipmentData(event) { + + // #region Armor resistances + + event.itemDamageResistance( + 'create:copper_diving_helmet', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'create:copper_backtank', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'create:copper_diving_boots', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'create:copper_diving_helmet', + 2, + 2, + 2 + ) + event.itemDamageResistance( + 'gtceu:hazmat_headpiece', + null, + null, + 3 + ) + event.itemDamageResistance( + 'gtceu:hazmat_chestpiece', + null, + null, + 3 + ) + event.itemDamageResistance( + 'gtceu:hazmat_leggings', + null, + null, + 3 + ) + event.itemDamageResistance( + 'gtceu:hazmat_boots', + null, + null, + 3 + ) + event.itemDamageResistance( + 'create:netherite_diving_helmet', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'create:netherite_backtank', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'minecraft:netherite_leggings', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'create:netherite_diving_boots', + 13, + 13, + 15 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_helmet', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_chestplate', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:advanced_nanomuscle_chestplate', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_leggings', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:nanomuscle_boots', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'gtceu:quarktech_helmet', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:quarktech_chestplate', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:advanced_quarktech_chestplate', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:quarktech_leggings', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'gtceu:quarktech_boots', + 24, + 24, + 24 + ) + event.itemDamageResistance( + 'ad_astra:space_helmet', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:space_suit', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:space_pants', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:space_boots', + 16, + 16, + 16 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_helmet', + 21, + 21, + 21 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_suit', + 21, + 21, + 21 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_pants', + 21, + 21, + 21 + ) + event.itemDamageResistance( + 'ad_astra:netherite_space_boots', + 21, + 21, + 21 + ) + + // #endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/equipment/recipes.equipment.js b/kubejs/server_scripts/tfg/equipment/recipes.equipment.js new file mode 100644 index 000000000..83c54f8d4 --- /dev/null +++ b/kubejs/server_scripts/tfg/equipment/recipes.equipment.js @@ -0,0 +1,54 @@ +"use strict"; + +function registerTFGEquipmentRecipes(event) { + // #region Primitive protection + + event.recipes.tfc.barrel_sealed(2000) + .outputItem('tfg:prepared_leather_gloves') + .inputs('tfchotornot:mittens', Fluid.of('tfc:vinegar', 1000)) + .id('tfg:sealed_barrel/prepared_leather_gloves') + + event.recipes.firmalife.vat() + .outputItem('tfg:latex_soaked_gloves') + .inputs('tfg:prepared_leather_gloves', Fluid.of('tfg:vulcanized_latex', 1000)) + .length(300) + .temperature(200) + .id('tfg:vat/latex_soaked_gloves') + + event.recipes.firmalife.oven('tfg:latex_soaked_gloves', 120, 1200, 'gtceu:rubber_gloves') + .id('tfg:oven/rubber_gloves') + + event.remove({ id: 'gtceu:shaped/rubber_gloves' }) + + event.recipes.gtceu.alloy_smelter('rubber_gloves_alloy_smelter') + .itemInputs('2x #forge:plates/rubber') + .notConsumable('create:brass_hand') + .itemOutputs('gtceu:rubber_gloves') + .duration(200) + .EUt(GTValues.VA[GTValues.ULV]) + .category(GTRecipeCategories.INGOT_MOLDING) + + + event.recipes.tfc.damage_inputs_shaped_crafting( + event.shaped('gtceu:face_mask', [ + 'ACA', + 'ABA', + ' D ' + ], { + A: '#forge:string', + B: '#forge:cloth', + C: 'minecraft:paper', + D: '#tfc:sewing_needles' + }) + ).id('gtceu:shaped/face_mask') + + event.recipes.gtceu.assembler('assemble_face_mask') + .itemInputs('4x #forge:string', '#forge:cloth', 'minecraft:paper') + .itemOutputs('gtceu:face_mask') + .duration(100) + .EUt(GTValues.VA[GTValues.ULV]) + .circuit(7) + + // #endregion + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/equipment/tags.equipment.js b/kubejs/server_scripts/tfg/equipment/tags.equipment.js new file mode 100644 index 000000000..b0d28afdc --- /dev/null +++ b/kubejs/server_scripts/tfg/equipment/tags.equipment.js @@ -0,0 +1,52 @@ +"use strict"; + +function registerTFGEquipmentItemTags(event) { + + event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet') + event.add('minecraft:trimmable_armor', 'create:copper_diving_boots') + event.add('minecraft:trimmable_armor', 'create:netherite_diving_helmet') + event.add('minecraft:trimmable_armor', 'create:netherite_diving_boots') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_hat') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_sweater') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:wool_boots') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_cowl') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shirt') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:silk_shoes') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_cowl') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shirt') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:burlap_shoes') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_hat') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants') + event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots') + event.add('minecraft:trimmable_armor', '#firmalife:beekeeper_armor') + + global.GTCEU_ARMORS.forEach((item) => { + event.add("minecraft:trimmable_armor", item); + }); + + event.add('gtceu:ppe_armor', '#ad_astra:space_suit_items') + event.add('minecraft:trimmable_armor', '#ad_astra:space_suit_items') + + event.add('ad_astra:space_suit_items', 'gtceu:quarktech_helmet') + event.add('ad_astra:space_suit_items', 'gtceu:quarktech_chestplate') + event.add('ad_astra:space_suit_items', 'gtceu:advanced_quarktech_chestplate') + event.add('ad_astra:space_suit_items', 'gtceu:quarktech_leggings') + event.add('ad_astra:space_suit_items', 'gtceu:quarktech_boots') + + event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_helmet') + event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_chestplate') + event.add('ad_astra:freeze_resistant_armor', 'gtceu:advanced_quarktech_chestplate') + event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_leggings') + event.add('ad_astra:freeze_resistant_armor', 'gtceu:quarktech_boots') + + event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_helmet') + event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_chestplate') + event.add('ad_astra:heat_resistant_armor', 'gtceu:advanced_quarktech_chestplate') + event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_leggings') + event.add('ad_astra:heat_resistant_armor', 'gtceu:quarktech_boots') + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/europa/tags.europa.js b/kubejs/server_scripts/tfg/europa/tags.europa.js new file mode 100644 index 000000000..de5cfc9a7 --- /dev/null +++ b/kubejs/server_scripts/tfg/europa/tags.europa.js @@ -0,0 +1,22 @@ +"use strict"; + +function registerTFGEuropaEntityTypeTags(event) { + const ENTITIES = [ + 'endermanoverhaul:coral_enderman', + 'endermanoverhaul:snowy_enderman', + 'endermanoverhaul:ice_spikes_enderman', + 'species:deepfish', + 'species:leaf_hanger' + ] + + ENTITIES.forEach(entity => { + event.add('ad_astra:can_survive_extreme_cold', entity) + event.add('ad_astra:lives_without_oxygen', entity) + }) +} + +function registerTFGEuropaPlacedFeatures(event) { + + event.add("tfg:glacio_top_layer_modification", "tfg:glow_lichen") + event.add("tfg:glacio_top_layer_modification", "tfc:surface_loose_rocks") +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/food/tags.food.js b/kubejs/server_scripts/tfg/food/tags.food.js new file mode 100644 index 000000000..02aa366af --- /dev/null +++ b/kubejs/server_scripts/tfg/food/tags.food.js @@ -0,0 +1,348 @@ +"use strict"; + +function registerTFGFoodItemTags(event) { + + // Crops + event.add('tfc:seeds', 'tfg:sunflower_seeds') + event.add('tfc:seeds', 'tfg:rapeseed_seeds') + event.add('tfc:seeds', 'tfg:flax_seeds') + + event.add('tfc:compost_greens_high', 'tfg:rapeseed_product') + event.add('tfc:compost_greens_high', 'tfg:sunflower_product') + event.add('tfc:compost_greens_high', 'tfg:flax_product') + event.add('tfc:compost_greens_high', 'tfg:lunar_chorus_flower') + + event.add("tfg:sugars", "minecraft:sugar"); + event.add("tfg:sugars", "afc:birch_sugar"); + event.add("tfg:sugars", "afc:maple_sugar"); + + const RAW_MEATS = [ + 'tfg:food/raw_birt', + 'tfg:food/raw_crawlermari', + 'tfg:food/raw_limpet' + ] + RAW_MEATS.forEach(meat => { + event.add('tfc:foods', meat) + event.add('tfc:foods/meats', meat) + event.add('tfc:foods/raw_meats', meat) + }) + + const COOKED_MEATS = [ + 'tfg:food/cooked_birt', + 'tfg:food/cooked_crawlermari', + 'tfg:food/cooked_limpet' + ] + COOKED_MEATS.forEach(meat => { + event.add('tfc:foods', meat) + event.add('tfc:foods/meats', meat) + event.add('tfc:foods/cooked_meats', meat) + }) + + //These tags are used to add the tooltips and for searchability + global.COOLING_FOODS.forEach(food => { event.add('tfg:cooling_foods', food) }) + + event.add('tfg:cooling_foods_strong', 'tfg:food/ice_soup') + + global.WARMING_FOODS.forEach(food => { event.add('tfg:warming_foods', food) }) + + //jam sandwhich stuff + const usable_in_jam_sandwich = Ingredient.of('#tfc:foods/usable_in_jam_sandwich').itemIds.toArray().map(String); + const preserves = Ingredient.of('#tfc:foods/preserves').itemIds.toArray().map(String); + + const usable_in_jam_sandwich_2 = usable_in_jam_sandwich.filter(item => !preserves.includes(item)); + + usable_in_jam_sandwich_2.forEach(item => { + event.add('tfc:foods/usable_in_jam_sandwich_2', item); + }); + + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_sniffer_beef') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_wraptor') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_springling_collar') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_walker_steak') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_glider_wings') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_whole_soarer') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_crusher_meat') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_goober_meat') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_cruncher_ribs') + event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_surfer_steak') + event.add('tfg:raw_dinosaur_meat', 'wan_ancient_beasts:raw_ancient_meat') + + /** + * List of items that can make light stock. + * @type {string[]} + */ + const makesLightStock = [ + 'tfc:food/chicken', + 'tfc:food/cooked_chicken', + 'tfc:food/quail', + 'tfc:food/cooked_quail', + 'tfc:food/pheasant', + 'tfc:food/cooked_pheasant', + 'tfc:food/grouse', + 'tfc:food/cooked_grouse', + 'tfc:food/turkey', + 'tfc:food/cooked_turkey', + 'tfc:food/peafowl', + 'tfc:food/cooked_peafowl', + 'tfc:food/rabbit', + 'tfc:food/cooked_rabbit', + 'tfc:food/duck', + 'tfc:food/cooked_duck', + 'tfg:food/raw_birt', + 'tfg:food/cooked_birt', + 'tfg:food/raw_moon_rabbit', + 'tfg:food/cooked_moon_rabbit', + 'tfg:food/raw_wraptor', + 'tfg:food/cooked_wraptor', + 'tfg:food/raw_glider_wings', + 'tfg:food/cooked_glider_wings', + 'tfg:food/raw_whole_soarer', + 'tfg:food/cooked_whole_soarer' + ]; + makesLightStock.forEach(item => { + event.add('tfg:foods/makes_light_stock', item); + }); + + /** + * List of items that can make rich stock. + * @type {string[]} + */ + const makesRichStock = [ + 'tfc:food/beef', + 'tfc:food/cooked_beef', + 'tfc:food/mutton', + 'tfc:food/cooked_mutton', + 'tfc:food/bear', + 'tfc:food/cooked_bear', + 'tfc:food/horse_meat', + 'tfc:food/cooked_horse_meat', + 'tfc:food/venison', + 'tfc:food/cooked_venison', + 'tfc:food/chevon', + 'tfc:food/cooked_chevon', + 'tfc:food/gran_feline', + 'tfc:food/cooked_gran_feline', + 'tfc:food/turtle', + 'tfc:food/cooked_turtle', + 'tfc:food/camelidae', + 'tfc:food/cooked_camelidae', + 'tfg:food/raw_glacian_mutton', + 'tfg:food/cooked_glacian_mutton', + 'tfg:food/raw_sniffer_beef', + 'tfg:food/cooked_sniffer_beef', + 'tfg:food/raw_walker_steak', + 'tfg:food/cooked_walker_steak', + 'tfg:food/raw_crusher_meat', + 'tfg:food/cooked_crusher_meat', + 'wan_ancient_beasts:raw_ancient_meat', + 'wan_ancient_beasts:cooked_ancient_meat' + ]; + makesRichStock.forEach(item => { + event.add('tfg:foods/makes_rich_stock', item); + }); + + /** + * @type {string[]} - List of cheese curd item IDs. + */ + const cheeseCurds = [ + 'firmalife:food/yak_curd', + 'firmalife:food/goat_curd', + 'firmalife:food/milk_curd', + 'tfc_gurman:ox_curd', + 'tfc_gurman:sheep_curd', + 'tfc_gurman:alpaca_curd' + ]; + cheeseCurds.forEach(item => { + event.add('tfg:foods/cheese_curds', item); + }); + + /** + * @type {string[]} - List of item tags and item IDs that can be used on burgers. + */ + const usable_in_burgers = [ + '#tfc:foods/vegetables', + 'firmalife:food/cooked_bacon', + 'tfc:food/cooked_egg', + 'firmalife:food/tofu' + ]; + usable_in_burgers.forEach(item => { + event.add('tfg:foods/usable_in_burgers', item); + }); + + /** + * @type {string[]} - List of cheese tags and item IDs that can be used on a cheeseburger. + */ + const cheeses = [ + '#firmalife:foods/cheeses', + 'tfg:food/slice_of_cheese', + 'firmalife:food/shredded_cheese' + ]; + cheeses.forEach(item => { + event.add('tfg:foods/cheeses', item); + }); + + /** + * @type {string[]} - List of item IDs that can be used as burger meats. + */ + const burgerMeats = [ + 'tfc:food/beef', + 'tfc:food/turkey', + 'tfc:food/venison', + 'tfg:food/raw_sniffer_beef', + 'tfg:food/raw_crusher_meat', + 'wan_ancient_beasts:raw_ancient_meat' + ]; + burgerMeats.forEach(item => { + event.add('tfg:foods/burger_meats', item); + }); + + // Spice tags + global.SPICES.forEach(spice => { + event.add('tfg:foods/spices', spice.product); + event.add('tfg:foods/spice_plants', spice.plant); + }); + + /** + * @type {string[]} - List of item tags and item IDs that are allowed to be used in oatmeal. + */ + const usable_in_oatmeal = [ + '#tfc:foods/fruits', + 'tfc:food/oat_grain', + '#firmalife:foods/chocolate' + ]; + usable_in_oatmeal.forEach(item => { + event.add('tfg:foods/usable_in_oatmeal', item); + }); + + /** + * @type {string[]} - List of citrus fruit item IDs. + */ + const citrus_fruits = [ + 'tfc:food/orange', + 'tfc:jar/orange_unsealed', + 'tfg:food/freeze_dried/orange', + 'tfc:food/lemon', + 'tfc:jar/lemon_unsealed', + 'tfg:food/freeze_dried/lemon', + 'minecraft:glow_berries', + 'tfg:food/freeze_dried/glow_berries' + ]; + citrus_fruits.forEach(item => { + event.add('tfg:foods/citrus_fruits', item); + }); + + /** + * List of item tags and item IDs that are allowed to be used in a meal bag. + * @type {string[]} + */ + const usable_in_meal_bag = [ + '#tfc:foods/meats', + '#tfc:foods/grains', + '#tfc:foods/vegetables', + '#tfc:foods/fruits', + '#tfc:foods/dairy', + '#tfc:foods/preserves', + '#firmalife:foods/chocolate', + '#tfcchannelcasting:foods/chocolate_sweet', + 'firmalife:food/sugar_cookie', + 'firmalife:food/chocolate_chip_cookie', + 'firmalife:food/vanilla_ice_cream', + 'firmalife:food/strawberry_ice_cream', + 'firmalife:food/chocolate_ice_cream', + 'tfc:food/cooked_egg', + 'tfc:food/boiled_egg', + 'firmalife:food/pickled_egg', + 'tfc:food/cooked_rice', + 'firmalife:food/cooked_pasta', + 'firmalife:food/pasta_with_tomato_sauce', + 'firmalife:food/cooked_rice_noodles', + 'firmalife:food/tortilla_chips', + 'firmalife:food/shredded_cheese', + 'firmalife:food/salsa', + 'firmalife:food/tomato_sauce', + 'tfg:roasted_sunflower_seeds', + 'tfg:food/cooked_dino_nugget', + 'firmalife:food/toast', + 'firmalife:food/toast_with_butter', + 'firmalife:food/toast_with_jam', + 'firmalife:food/butter', + 'tfc_gurman:adjika', + 'tfc_gurman:tzatziki', + 'tfc_gurman:falafel', + 'tfc_gurman:hummus', + 'tfc_gurman:sauerkraut', + 'tfc_gurman:bratwurst' + ]; + usable_in_meal_bag.forEach(item => { + event.add('tfg:foods/usable_in_meal_bag', item); + }); + event.add('tfg:foil_packs', 'tfg:foil_pack'); + event.add('tfg:foil_packs', 'tfg:clean_foil_pack') + + event.add('tfg:solid_fats', 'firmalife:food/butter') + event.add('tfg:solid_fats', 'tfc:blubber') + + // Space foods + event.add('tfc:foods', 'minecraft:red_mushroom') + event.add('tfc:foods', 'minecraft:brown_mushroom') + event.add('tfc:foods', 'minecraft:glow_berries') + event.add('tfc:foods', 'minecraft:chorus_fruit') + event.add('tfc:foods', 'minecraft:popped_chorus_fruit') + + event.add('tfc:foods/vegetables', 'minecraft:red_mushroom') + event.add('tfc:foods/vegetables', 'minecraft:brown_mushroom') + event.add('tfc:foods/fruits', 'minecraft:glow_berries') + event.add('tfc:foods/fruits', 'minecraft:chorus_fruit') + event.add('tfc:foods/fruits', 'minecraft:popped_chorus_fruit') + + event.add('beneath:usable_in_juicer', 'minecraft:glow_berries') + event.add('beneath:usable_in_juicer', 'minecraft:chorus_fruit') + event.add('beneath:usable_in_juicer', 'minecraft:red_mushroom') + event.add('beneath:usable_in_juicer', 'minecraft:brown_mushroom') + + event.add('tfc:foods/usable_in_soup', 'minecraft:red_mushroom') + event.add('tfc:foods/usable_in_soup', 'minecraft:brown_mushroom') + event.add('tfc:foods/usable_in_soup', 'minecraft:glow_berries') + event.add('tfc:foods/usable_in_soup', 'minecraft:chorus_fruit') + event.add('tfc:foods/usable_in_soup', 'minecraft:popped_chorus_fruit') + + // Make eggs not useless + event.add('tfc:foods/usable_in_salad', 'firmalife:food/pickled_egg') + event.add("tfc:foods/usable_in_salad", "tfc:food/cooked_egg"); + event.add("tfc:foods/usable_in_salad", "tfc:food/boiled_egg"); + event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/cooked_egg"); + event.add("tfc:foods/usable_in_jam_sandwich", "tfc:food/boiled_egg"); + event.add("tfc:foods/usable_in_sandwich", "tfc:food/cooked_egg"); + event.add("tfc:foods/usable_in_sandwich", "tfc:food/boiled_egg"); + + event.add('tfc:foods/usable_in_salad', 'minecraft:red_mushroom') + event.add('tfc:foods/usable_in_salad', 'minecraft:brown_mushroom') + event.add('tfc:foods/usable_in_salad', 'minecraft:glow_berries') + event.add('tfc:foods/usable_in_salad', 'minecraft:chorus_fruit') + event.add('tfc:foods/usable_in_salad', 'minecraft:popped_chorus_fruit') + + event.add('tfc:rabbit_food', 'minecraft:chorus_fruit') + event.add('tfc:rabbit_food', 'minecraft:popped_chorus_fruit') + + event.add('tfc:foods', 'ad_astra:cheese') + event.add('tfc:foods/dairy', 'ad_astra:cheese') + event.add('tfc:foods/usable_in_sandwich', 'ad_astra:cheese') + event.add('tfc:foods/usable_in_jam_sandwich', 'ad_astra:cheese') + event.add('tfc:foods/usable_in_jam_sandwich_2', 'ad_astra:cheese') + event.add('firmalife:foods/cheeses', 'ad_astra:cheese') +} + +function registerTFGFoodBlockTags(event) { + //crop stuff + event.add('tfc:crops', 'tfg:rapeseed') + event.add('tfc:mineable_with_sharp_tool', 'tfg:rapeseed') + + event.add('tfc:crops', 'tfg:sunflower') + event.add('tfc:mineable_with_sharp_tool', 'tfg:sunflower') + + event.add('tfc:crops', 'tfg:flax') + event.add('tfc:mineable_with_sharp_tool', 'tfg:flax') + + event.add('ad_astra:destroyed_in_space', '#tfc:wild_fruits') + event.add('ad_astra:destroyed_in_space', '#minecraft:saplings') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/json_tool.armor_trim.js b/kubejs/server_scripts/tfg/json_tool.armor_trim.js index 4f66e02ce..35346486e 100644 --- a/kubejs/server_scripts/tfg/json_tool.armor_trim.js +++ b/kubejs/server_scripts/tfg/json_tool.armor_trim.js @@ -69,7 +69,7 @@ const materials = [ // #region Tags // Assigns trim_materials tag to items registered above -function registerTFGTrimTags(event) { +function registerTFGTrimItemTags(event) { event.removeAll('minecraft:trim_materials') materials.forEach(material => { event.add('minecraft:trim_materials', material.itemName) diff --git a/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js b/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js index c9df6f6f2..7f5b1888e 100644 --- a/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js +++ b/kubejs/server_scripts/tfg/machines/recipes.steam_bloomery.js @@ -3,7 +3,7 @@ function registerTFGSteamBloomeryRecipes(event) { event.recipes.gtceu.steam_bloomery('steam_raw_iron_bloom_coal') - .itemInputs('#forge:ingots/iron', '#tfc:steam_bloomery_basic_fuels') + .itemInputs('#forge:ingots/iron', '#tfg:steam_bloomery_basic_fuels') .itemOutputs('tfc:raw_iron_bloom') .duration(2400) .EUt(2) @@ -23,7 +23,7 @@ function registerTFGSteamBloomeryRecipes(event) { const outputMaterial = tfcProperty.getOutputMaterial() === null ? material : tfcProperty.getOutputMaterial() if (outputMaterial === GTMaterials.Iron) { event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coal_${material.getName()}`) - .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfc:steam_bloomery_basic_fuels') + .itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfg:steam_bloomery_basic_fuels') .itemOutputs('tfc:raw_iron_bloom') .duration(2400) .EUt(2) diff --git a/kubejs/server_scripts/tfg/tags.facades.js b/kubejs/server_scripts/tfg/machines/tags.facades.js similarity index 99% rename from kubejs/server_scripts/tfg/tags.facades.js rename to kubejs/server_scripts/tfg/machines/tags.facades.js index cb12fa3e3..33a59ebbd 100644 --- a/kubejs/server_scripts/tfg/tags.facades.js +++ b/kubejs/server_scripts/tfg/machines/tags.facades.js @@ -1,7 +1,7 @@ // priority: 0 "use strict"; -function registerFacadeWhitelistTags(event) { +function registerTFGFacadeWhitelistItemTags(event) { const facade_materials = [ //tags diff --git a/kubejs/server_scripts/tfg/mars/data.mars.js b/kubejs/server_scripts/tfg/mars/data.mars.js new file mode 100644 index 000000000..0a40f9896 --- /dev/null +++ b/kubejs/server_scripts/tfg/mars/data.mars.js @@ -0,0 +1,68 @@ +"use strict"; + +function registerTFGMarsBedrockFluidVeins(event) { + + const Registries = Java.loadClass("net.minecraft.core.registries.Registries") + const ResourceKey = Java.loadClass("net.minecraft.resources.ResourceKey") + const martianAmberHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/amber_hills") + const martianAmberPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/amber_plains") + const martianMountainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/martian_mountains") + const martianRusticusHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/rusticus_hills") + const martianRusticusPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/rusticus_plains") + const martianSangnumHillsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/sangnum_hills") + const martianSangnumPlainsResourceKey = ResourceKey.create(Registries.BIOME, "tfg:mars/sangnum_plains") + + event.add('tfg:semiheavy_ammoniacal_water', vein => { + vein.dimensions('ad_astra:mars') + vein.fluid(() => Fluid.of('tfg:semiheavy_ammoniacal_water').fluid) + vein.weight(100) + vein.minimumYield(200) + vein.maximumYield(400) + vein.depletionAmount(1) + vein.depletionChance(20) + vein.depletedYield(15) + }) + + event.add('tfg:liquid_carbon_dioxide', vein => { + vein.dimensions('ad_astra:mars') + vein.fluid(() => Fluid.of('gtceu:liquid_carbon_dioxide').fluid) + vein.weight(30) + vein.minimumYield(20) + vein.maximumYield(350) + vein.depletionAmount(1) + vein.depletionChance(20) + vein.depletedYield(5) + }) + + event.add('tfg:liquid_ice', vein => { + vein.dimensions('ad_astra:mars') + vein.fluid(() => Fluid.of('gtceu:ice').fluid) + vein.weight(20) + vein.minimumYield(20) + vein.maximumYield(200) + vein.depletionAmount(1) + vein.depletionChance(20) + vein.depletedYield(5) + }) + + // Heavy Ammonical Water in Specific Biome Credit to Monifactory from https://github.com/ThePansmith/Monifactory/blob/main/kubejs/server_scripts/worldgen/fluidVeins.js + + event.add('tfg:heavy_ammoniacal_water', vein => { + vein.dimensions('ad_astra:mars') + vein.fluid(() => Fluid.of('tfg:heavy_ammoniacal_water').fluid) + vein.biomes(20, martianAmberHillsResourceKey) + vein.biomes(20, martianAmberPlainsResourceKey) + vein.biomes(20, martianRusticusHillsResourceKey) + vein.biomes(20, martianRusticusPlainsResourceKey) + vein.biomes(20, martianSangnumHillsResourceKey) + vein.biomes(20, martianSangnumPlainsResourceKey) + // This one is exclusively far inland, so it's ok to buff it a bit in case the player has bad luck + vein.biomes(50, martianMountainsResourceKey) + vein.weight(0) + vein.minimumYield(100) + vein.maximumYield(650) + vein.depletionAmount(1) + vein.depletionChance(20) + vein.depletedYield(30) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/mars/recipes.iodine.js b/kubejs/server_scripts/tfg/mars/recipes.iodine.js index 90a8fc031..371c0a9fc 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.iodine.js +++ b/kubejs/server_scripts/tfg/mars/recipes.iodine.js @@ -4,6 +4,34 @@ function registerTFGMarsIodineRecipes(event) { // This file is specifically for the crappy mars-based iodine recipe chain. // The "proper" venus one is elsewhere + + event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/log/crimson')) + .resultFluid(Fluid.of('tfg:crimsene', 1)) + .minTemp(-110) + .maxTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/crimson_log") + + event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/wood/crimson')) + .resultFluid(Fluid.of('tfg:crimsene', 1)) + .minTemp(-110) + .maxTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/crimson_wood") + + event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/log/warped')) + .resultFluid(Fluid.of('tfg:warpane', 1)) + .minTemp(-110) + .maxTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/warped_log") + + event.recipes.afc.tree_tapping(TFC.blockIngredient('beneath:wood/wood/warped')) + .resultFluid(Fluid.of('tfg:warpane', 1)) + .minTemp(-110) + .maxTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/warped_wood") event.recipes.gtceu.autoclave('tfg:crimsene') .inputFluids(Fluid.of('tfg:crimsene', 144), Fluid.of('gtceu:liquid_carbon_dioxide', 1000)) diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index 844bbab19..5c995e9f8 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -228,4 +228,34 @@ function registerTFGMarsRecipes(event) { A: 'ad_astra:glacian_fur', B: '#tfc:lumber' }).id('tfg:shaped/glacian_bed') + + // Plants + + Ingredient.of('#tfg:mars_plants').stacks.forEach(element => { + const itemId = element.id; + const recipeId = `greenhouse_${itemId.replace(':', '_')}`; + + generateGreenHouseRecipe(event, itemId, 'tfg:semiheavy_ammoniacal_water', 8000, `8x ${itemId}`, + recipeId, 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]); + }); + + generateGreenHouseRecipe(event, '8x betterend:amber_root_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:amber_root_product', 'amber_root', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + generateGreenHouseRecipe(event, '8x betterend:blossom_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:blossom_berry_product', 'blossom_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + generateGreenHouseRecipe(event, '8x betterend:bolux_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:bolux_mushroom_product', 'bolux_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + generateGreenHouseRecipe(event, '8x betterend:cave_pumpkin_plant_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:cave_pumpkin', 'cave_pumpkin', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + generateGreenHouseRecipe(event, '8x betterend:chorus_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:chorus_mushroom_product', 'chorus_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + generateGreenHouseRecipe(event, '8x betterend:shadow_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, + '24x betterend:shadow_berry_product', 'shadow_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) + + event.recipes.firmalife.oven('betterend:cave_pumpkin_pie_raw', 400, 60 * 20, 'betterend:cave_pumpkin_pie') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/mars/tags.mars.js b/kubejs/server_scripts/tfg/mars/tags.mars.js new file mode 100644 index 000000000..bd1cbc9ef --- /dev/null +++ b/kubejs/server_scripts/tfg/mars/tags.mars.js @@ -0,0 +1,529 @@ +"use strict"; + +function registerTFGMarsItemTags(event) { + + event.add('c:hidden_from_recipe_viewers', 'tfg:mars_ice') + + event.add('tfc:compost_greens', 'ad_astra:aeronos_cap') + event.add('tfc:compost_greens', 'ad_astra:strophar_cap') + + // Dirt + event.add('minecraft:dirt', 'tfg:grass/mars_dirt') + event.add('minecraft:dirt', 'tfg:grass/mars_clay_dirt') + event.add('tfc:dirt', 'tfg:grass/mars_dirt') + event.add('tfc:dirt', 'tfg:grass/mars_clay_dirt') + event.add('tfc:grass', 'tfg:grass/amber_mycelium') + event.add('tfc:grass', 'tfg:grass/amber_clay_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_clay_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_clay_mycelium') + event.add('tfc:farmland', 'tfg:grass/mars_farmland') + event.add('tfc:paths', 'tfg:grass/mars_path') + event.add('tfc:kaolin_clay', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfc:kaolin_clay', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfc:kaolin_clay', 'tfg:grass/sangnum_kaolin_mycelium') + + // Mars animals + event.add('tfg:martian_eggs', 'tfg:sniffer_egg') + event.add('tfg:martian_eggs', 'tfg:wraptor_egg') + event.add('forge:eggs', '#tfg:martian_eggs') + event.add('firmalife:foods/raw_eggs', '#tfg:martian_eggs') + + event.add('tfg:martian_animal_foods', 'betterend:amber_root_product') + event.add('tfg:martian_animal_foods', 'betterend:blossom_berry_product') + event.add('tfg:martian_animal_foods', 'betterend:chorus_mushroom_product') + event.add('tfg:martian_animal_foods', 'betterend:shadow_berry_product') + event.add('tfg:martian_animal_foods', 'betterend:bolux_mushroom_product') + event.add('tfg:martian_animal_foods', 'betterend:cave_pumpkin_chunks') + + event.add('tfg:glacian_ram_food', '#tfg:martian_animal_foods') + event.add('tfg:sniffer_food', '#tfg:martian_animal_foods') + event.add('tfg:wraptor_food', '#tfg:martian_animal_foods') + + event.remove('minecraft:wool', 'ad_astra:glacian_fur') + + event.add('tfg:mineral_rich_wool', 'tfg:wraptor_wool') + event.add('tfg:mineral_rich_wool', 'tfg:sniffer_wool') + + event.add('buildinggadgets2:deny', 'tfg:spice') + + // these are log tags + event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap') + event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap') + + event.add('tfc:makes_tannin', '#ad_astra:glacian_logs') + event.add('tfc:makes_tannin', '#tfc:crimson_logs') + event.add('tfc:makes_tannin', '#tfc:warped_logs') + + // Crops + event.add('forge:seeds', 'betterend:amber_root_seeds') + event.add('forge:seeds', 'betterend:blossom_berry_seeds') + event.add('forge:seeds', 'betterend:bolux_mushroom_seeds') + event.add('forge:seeds', 'betterend:cave_pumpkin_seeds') + event.add('forge:seeds', 'betterend:shadow_berry_seeds') + + event.add('tfc:foods', 'betterend:amber_root_product') + event.add('tfc:foods/grains', 'betterend:amber_root_product') + + event.add('tfc:foods', 'betterend:blossom_berry_product') + event.add('tfc:foods/fruits', 'betterend:blossom_berry_product') + + event.add('tfc:foods', 'betterend:bolux_mushroom_product') + event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_product') + event.add('forge:mushrooms', 'betterend:bolux_mushroom_product') + event.add('tfc:foods', 'betterend:bolux_mushroom_cooked') + event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_cooked') + event.add('forge:mushrooms', 'betterend:bolux_mushroom_cooked') + + event.add('tfc:foods', 'betterend:cave_pumpkin') + event.add('tfc:foods', 'betterend:cave_pumpkin_chunks') + event.add('tfc:foods/fruits', 'betterend:cave_pumpkin_chunks') + event.add('tfc:foods', 'betterend:cave_pumpkin_pie_dough') + event.add('tfc:foods', 'betterend:cave_pumpkin_pie_raw') + event.add('tfc:foods', 'betterend:cave_pumpkin_pie') + event.add('firmalife:foods/washable', 'betterend:cave_pumpkin_pie_raw') + event.add('firmalife:foods/washable', 'betterend:cave_pumpkin_pie') + + event.add('tfc:foods', 'betterend:chorus_mushroom_product') + event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_product') + event.add('forge:mushrooms', 'betterend:chorus_mushroom_product') + event.add('tfc:foods', 'betterend:chorus_mushroom_cooked') + event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_cooked') + event.add('forge:mushrooms', 'betterend:chorus_mushroom_cooked') + + event.add('tfc:foods', 'betterend:shadow_berry_product') + event.add('tfc:foods/fruits', 'betterend:shadow_berry_product') + event.add('tfc:foods', 'betterend:shadow_berry_cooked') + event.add('tfc:foods/fruits', 'betterend:shadow_berry_cooked') + + event.add('forge:mushrooms', 'betterend:flammalix') + event.add('forge:mushrooms', 'betterend:small_amaranita_mushroom') +} + +function registerTFGMarsBlockTags(event) { + + event.add('buildinggadgets2:deny', 'tfg:spice') + event.add('ae2:blacklisted/spatial', 'tfg:spice') + + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/dacite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/dacite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/dacite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/basalt') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/basalt') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/basalt') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/gabbro') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/gabbro') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/gabbro') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/diorite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/diorite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/diorite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/rhyolite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/rhyolite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/rhyolite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/andesite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/andesite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/andesite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/chert') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/chert') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/chert') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/conglomerate') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/conglomerate') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/conglomerate') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/claystone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/claystone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/claystone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/limestone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/limestone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/limestone') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/dolomite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/dolomite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/dolomite') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/raw/shale') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/hardened/shale') + event.add('ad_astra:mars_stone_replaceables', 'tfc:rock/gravel/shale') + event.add('ad_astra:mars_stone_replaceables', 'ad_astra:mars_stone') + event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_mars_stone') + event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_mars') + event.add('ad_astra:mars_stone_replaceables', 'minecraft:red_sandstone') + event.add('ad_astra:mars_stone_replaceables', 'ad_astra:venus_stone') + event.add('ad_astra:mars_stone_replaceables', 'ad_astra:venus_sandstone') + event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_venus_stone') + event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_venus') + event.add('ad_astra:mars_stone_replaceables', 'gtceu:red_granite') + event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_red_granite') + event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/gravel_red_granite') + event.add('ad_astra:mars_stone_replaceables', 'create:ochrum') + + event.add('tfc:can_carve', '#ad_astra:mars_stone_replaceables') + + event.add('tfg:mars_soil', 'minecraft:red_sand') + event.add('tfg:mars_soil', 'ad_astra:mars_sand') + event.add('tfg:mars_soil', 'ad_astra:venus_sand') + event.add('tfg:mars_soil', 'tfg:rock/gravel_venus') + event.add('tfg:mars_soil', 'tfg:rock/gravel_mars') + event.add('tfg:mars_soil', 'tfc:rock/gravel/dacite') + event.add('tfg:mars_soil', 'tfc:rock/gravel/basalt') + event.add('tfg:mars_soil', 'tfc:rock/gravel/gabbro') + event.add('tfg:mars_soil', 'tfc:rock/gravel/diorite') + event.add('tfg:mars_soil', 'tfc:rock/gravel/rhyolite') + event.add('tfg:mars_soil', 'tfc:rock/gravel/andesite') + event.add('tfg:mars_soil', 'tfc:rock/gravel/conglomerate') + event.add('tfg:mars_soil', 'tfc:rock/gravel/claystone') + event.add('tfg:mars_soil', 'tfc:rock/gravel/limestone') + event.add('tfg:mars_soil', 'tfc:rock/gravel/dolomite') + event.add('tfg:mars_soil', 'tfc:rock/gravel/shale') + event.add('tfg:mars_soil', 'tfc:sand/black') + event.add('tfg:mars_soil', 'tfc:sand/red') + event.add('tfg:mars_soil', 'tfc:sand/pink') + event.add('tfg:mars_soil', 'tfg:grass/mars_dirt') + event.add('tfg:mars_soil', 'tfg:grass/mars_clay_dirt') + event.add('tfg:mars_soil', 'tfg:grass/amber_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/rusticus_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/sangnum_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/amber_clay_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/rusticus_clay_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/sangnum_clay_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfg:mars_soil', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('ad_astra:mars_stone_replaceables', '#tfg:mars_soil') + event.add('minecraft:animals_spawnable_on', '#tfg:mars_soil') + event.add('minecraft:animals_spawnable_on', '#tfg:mars_plants') + event.add('minecraft:valid_spawn', '#minecraft:animals_spawnable_on') + + event.removeAll('minecraft:sniffer_diggable_block') + + event.add('tfc:can_be_snow_piled', 'minecraft:crimson_fungus') + event.add('tfc:can_be_snow_piled', 'minecraft:warped_fungus') + event.add('tfc:can_be_snow_piled', 'minecraft:torchflower') + event.add('tfc:can_be_snow_piled', 'minecraft:pitcher_plant') + + event.add('tfg:heightmap_ignore', 'ad_astra:strophar_cap') + event.add('tfg:heightmap_ignore', 'ad_astra:strophar_stem') + event.add('tfg:heightmap_ignore', 'ad_astra:aeronos_cap') + event.add('tfg:heightmap_ignore', 'ad_astra:aeronos_stem') + event.add('tfg:heightmap_ignore', 'minecraft:nether_wart_block') + event.add('tfg:heightmap_ignore', 'minecraft:warped_wart_block') + event.add('tfg:heightmap_ignore', 'species:alphacene_mushroom_block') + event.add('tfg:heightmap_ignore', 'species:alphacene_mushroom_growth') + event.add('tfg:heightmap_ignore', 'tfg:glacian_leaves') + event.add('tfg:heightmap_ignore', 'betterend:glacian_hymenophore') + event.add('tfg:heightmap_ignore', 'species:alphacene_moss_block') + event.add('tfg:heightmap_ignore', 'minecraft:ice') + + event.remove('minecraft:enderman_holdable', 'minecraft:crimson_fungus') + event.remove('minecraft:enderman_holdable', 'minecraft:warped_fungus') + + event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap') + event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap') + + event.add('tfc:can_be_snow_piled', 'ad_astra:aeronos_mushroom') + event.add('tfc:can_be_snow_piled', 'ad_astra:strophar_mushroom') + + event.add('minecraft:dirt', 'tfg:grass/mars_dirt') + event.add('minecraft:dirt', 'tfg:grass/mars_clay_dirt') + event.add('minecraft:dirt', 'tfg:grass/amber_mycelium') + event.add('minecraft:dirt', 'tfg:grass/rusticus_mycelium') + event.add('minecraft:dirt', 'tfg:grass/sangnum_mycelium') + event.add('minecraft:dirt', 'tfg:grass/amber_clay_mycelium') + event.add('minecraft:dirt', 'tfg:grass/rusticus_clay_mycelium') + event.add('minecraft:dirt', 'tfg:grass/sangnum_clay_mycelium') + event.add('minecraft:dirt', 'tfg:grass/amber_kaolin_mycelium') + event.add('minecraft:dirt', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('minecraft:dirt', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('tfc:dirt', 'tfg:grass/mars_dirt') + event.add('tfc:dirt', 'tfg:grass/mars_clay_dirt') + event.add('tfc:farmland', 'tfg:grass/mars_farmland') + + event.add('tfc:paths', 'tfg:grass/mars_path') + + event.add('tfc:grass', 'tfg:grass/amber_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') + event.add('tfc:grass', 'tfg:grass/amber_clay_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_clay_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_clay_mycelium') + event.add('tfc:grass', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('tfc:kaolin_clay', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfc:kaolin_clay', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfc:kaolin_clay', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_clay_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_clay_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_clay_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_kaolin_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_farmland') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_path') + + event.add('tfc:can_landslide', 'tfg:grass/mars_dirt') + event.add('tfc:can_landslide', 'tfg:grass/mars_clay_dirt') + event.add('tfc:can_landslide', 'tfg:grass/mars_farmland') + event.add('tfc:can_landslide', 'tfg:grass/mars_path') + event.add('tfc:can_landslide', 'tfg:grass/amber_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/rusticus_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/sangnum_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/amber_clay_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/rusticus_clay_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/sangnum_clay_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/amber_kaolin_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('minecraft:mineable/shovel', 'tfg:grass/mars_dirt') + event.add('minecraft:mineable/shovel', 'tfg:grass/mars_clay_dirt') + event.add('minecraft:mineable/shovel', 'tfg:grass/mars_path') + event.add('minecraft:mineable/shovel', 'tfg:grass/mars_farmland') + event.add('minecraft:mineable/shovel', 'tfg:grass/amber_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/amber_clay_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/amber_kaolin_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_clay_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_kaolin_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_clay_mycelium') + event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_kaolin_mycelium') + + event.add('tfc:bush_plantable_on', 'tfg:grass/mars_farmland') + event.add('tfc:grass_plantable_on', 'tfg:grass/mars_farmland') + event.add('tfc:creeping_plantable_on', 'tfg:grass/mars_farmland') + + event.add('tfg:decorative_plant_attachable', '#minecraft:logs') + event.add('tfg:decorative_plant_attachable', 'minecraft:mushroom_stem') + event.add('tfg:decorative_plant_attachable', 'species:alphacene_mushroom_block') + event.add('tfg:decorative_plant_attachable', 'species:alphacene_moss_block') + event.add('tfg:decorative_plant_attachable', 'ad_astra:aeronos_cap') + event.add('tfg:decorative_plant_attachable', 'ad_astra:strophar_cap') + event.add('tfg:decorative_plant_attachable', 'tfg:glacian_leaves') + event.add('tfg:decorative_plant_attachable', 'minecraft:nether_wart_block') + event.add('tfg:decorative_plant_attachable', 'minecraft:warped_wart_block') + event.add('tfg:decorative_plant_attachable', 'betterend:cave_bush') + event.add('tfg:decorative_plant_attachable', 'betterend:lucernia_leaves') + + event.add('minecraft:mineable/shovel', 'tfg:ash_pile') + event.add('minecraft:mineable/shovel', 'tfg:pile/black_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/white_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/brown_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/red_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/yellow_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/pink_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/green_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/moon_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand') + event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand_covering') + event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand_covering') + event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand_covering') +} + +function registerTFGMarsBiomeTags(event) { + + global.MARS_BIOMES.forEach(biome => { + event.add('tfg:mars_biomes', biome) + }) + + event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_dunes') + event.add('sandworm_mod:can_spawn_sandworms', 'tfg:mars/martian_deep_desert') + + event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_dunes') + event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_deep_desert') + event.add('tfg:has_dark_sand_particles', 'tfg:mars/martian_mountains') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/amber_plains') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/amber_hills') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/rusticus_plains') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/rusticus_hills') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/sangnum_plains') + event.add('tfg:has_medium_sand_particles', 'tfg:mars/sangnum_hills') + event.add('tfg:has_light_sand_particles', 'tfg:mars/martian_dune_edge') + event.add('tfg:has_light_sand_particles', 'tfg:mars/amber_edge') + event.add('tfg:has_light_sand_particles', 'tfg:mars/rusticus_edge') + event.add('tfg:has_light_sand_particles', 'tfg:mars/sangnum_edge') + event.add('tfg:has_light_sand_particles', 'tfg:mars/martian_river') + + event.add('tfg:has_mild_dust_storms', 'tfg:mars/martian_mountains') + event.add('tfg:has_mild_dust_storms', 'tfg:mars/martian_river') + event.add('tfg:has_mild_dust_storms', 'tfg:mars/amber_hills') + event.add('tfg:has_mild_dust_storms', 'tfg:mars/rusticus_hills') + event.add('tfg:has_mild_dust_storms', 'tfg:mars/sangnum_hills') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/amber_plains') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/amber_edge') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/rusticus_plains') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/rusticus_edge') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/sangnum_plains') + event.add('tfg:has_moderate_dust_storms', 'tfg:mars/sangnum_edge') + event.add('tfg:has_severe_dust_storms', 'tfg:mars/martian_dunes') + event.add('tfg:has_severe_dust_storms', 'tfg:mars/martian_deep_desert') +} + +function registerTFGMarsEntityTypeTags(event) { + + const ENTITIES = [ + 'tfg:sniffer', + 'tfg:glacian_ram', + 'tfg:wraptor', + 'species:goober', + 'species:cruncher', + 'species:springling', + 'species:quake', + 'species:stackatick', + 'endermanoverhaul:crimson_forest_enderman', + 'endermanoverhaul:warped_forest_enderman', + 'endermanoverhaul:badlands_enderman', + 'endermanoverhaul:cave_enderman', + 'wan_ancient_beasts:walker', + 'wan_ancient_beasts:eater', + 'wan_ancient_beasts:crusher', + 'wan_ancient_beasts:soarer', + 'wan_ancient_beasts:glider', + 'wan_ancient_beasts:toxlacanth', + 'wan_ancient_beasts:surfer', + 'tfg:surfer' + ] + + ENTITIES.forEach(entity => { + event.add('ad_astra:can_survive_extreme_cold', entity) + event.add('ad_astra:lives_without_oxygen', entity) + }) + + event.add('tfc:deals_piercing_damage', 'tfg:wraptor') + event.add('tfc:deals_piercing_damage', 'species:cruncher') + event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:eater') + event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:soarer') + event.add('tfc:deals_piercing_damage', 'wan_ancient_beasts:glider') + event.add('tfc:deals_piercing_damage', 'ad_astra:martian_raptor') + event.add('tfc:deals_crushing_damage', 'species:quake') + event.add('tfc:deals_crushing_damage', 'wan_ancient_beasts:walker') + event.add('tfc:deals_crushing_damage', 'wan_ancient_beasts:crusher') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:crimson_forest_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:warped_forest_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:badlands_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:cave_enderman') + + // this guy has a bounce animation that looks silly in low grav + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:crusher') + // this huge guy also looks silly in low grav + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:walker') + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:eater') + // flying mobs + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:soarer') + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:glider') + // swimming mobs + event.add('tfg:ignores_gravity', 'tfg:surfer') + event.add('tfg:ignores_gravity', 'wan_ancient_beasts:toxlacanth') + event.add('tfg:ignores_gravity', 'endermanoverhaul:coral_enderman') +} + +function registerTFGMarsPlacedFeatures(event) { + // Underground decoration + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/loose_rocks') + event.add('tfg:mars_underground_decoration', 'tfc:cave_spike') + event.add('tfg:mars_underground_decoration', 'tfc:cave_column') + event.add('tfg:mars_underground_decoration', 'tfc:large_cave_spike') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/noise_cave_stalagmite') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/noise_cave_stalagtite') + + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/calcite') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/mega_calcite') + + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/ice_cave') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/icicle') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/icicle_extra') + event.add('tfg:mars_underground_decoration', 'tfg:mars/underground/ochrum_blob') + + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/amethyst") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/barite") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/calcite") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/gypsum") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/opal") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/pyrite") + event.add('tfg:mars_underground_decoration', "tfg:earth/geode/quartzite") + + // Vegetation + event.add("tfg:mars_global_small_plants", "tfg:mars/tree/lucernia") + event.add("tfg:mars_global_small_plants", "tfg:mars/tree/lucernia_common") + event.add("tfg:mars_global_small_plants", "tfg:mars/tree/cave_bush") + event.add("tfg:mars_global_small_plants", "tfg:mars/tree/cave_bush_common") + event.add("tfg:mars_global_small_plants", "tfg:mars/surface/charnia") + event.add("tfg:mars_global_small_plants", "tfg:mars/surface/flamaea") + event.add("tfg:mars_global_small_plants", "tfg:mars/surface/lacugrove") + + event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_global_small_plants") + event.add("tfg:mars_rusticus_vegetal_decoration", "#tfg:mars_global_small_plants") + event.add("tfg:mars_sangnum_vegetal_decoration", "#tfg:mars_global_small_plants") + + + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/amber_root") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/blossom_berry") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/cave_pumpkin") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") + + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lanceleaf") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lanceleaf_small") + + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/bulb_moss") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/aurant_polypore") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/filalux_wings") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/filalux_wings_top") + + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/amber_grass") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/flammalix") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/lutebus") + event.add("tfg:mars_amber_vegetal_decoration", "tfg:mars/surface/orango") + + + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/amber_root") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/blossom_berry") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/crop/shadow_berry") + + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lucernia_outer_leaves") + + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/bulb_moss") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/aurant_polypore") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/purple_polypore") + + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/aeridium") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/flammalix") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lamellarium") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/lutebus") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/orango") + event.add("tfg:mars_rusticus_vegetal_decoration", "tfg:mars/surface/ruscus") + + + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/blossom_berry") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/bolux_mushroom") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/cave_pumpkin") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/chorus_mushroom") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/crop/shadow_berry") + + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/small_amaranita_mushroom") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/large_amaranita_mushroom") + + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/purple_polypore") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/filalux_wings") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/filalux_wings_top") + + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/cave_grass") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/clawfern") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/globulagus") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/lamellarium") + event.add("tfg:mars_sangnum_vegetal_decoration", "tfg:mars/surface/ruscus") + + // Top layer + event.add("tfg:mars_top_layer_modification", "tfg:glow_lichen") + event.add("tfg:mars_top_layer_modification", "tfc:surface_loose_rocks") + event.add("tfg:mars_top_layer_modification", "tfg:mars/terrain/mars_poles") +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/moon/data.moon.js b/kubejs/server_scripts/tfg/moon/data.moon.js new file mode 100644 index 000000000..7e72dfc32 --- /dev/null +++ b/kubejs/server_scripts/tfg/moon/data.moon.js @@ -0,0 +1,38 @@ +"use strict"; + +function registerTFGMoonBedrockFluidVeins(event) { + + event.add('tfg:moon_helium_3', vein => { + vein.dimensions('ad_astra:moon') + vein.fluid(() => Fluid.of('gtceu:helium_3').fluid) + vein.weight(100) + vein.minimumYield(200) + vein.maximumYield(400) + vein.depletionAmount(1) + vein.depletionChance(1) + vein.depletedYield(200) + }) + + event.add('tfg:moon_helium', vein => { + vein.dimensions('ad_astra:moon') + vein.fluid(() => Fluid.of('gtceu:helium').fluid) + vein.weight(10) + vein.minimumYield(20) + vein.maximumYield(50) + vein.depletionAmount(1) + vein.depletionChance(1) + vein.depletedYield(20) + }) + + event.add('tfg:moon_argon', vein => { + vein.dimensions('ad_astra:moon') + vein.fluid(() => Fluid.of('gtceu:argon').fluid) + vein.weight(5) + vein.minimumYield(10) + vein.maximumYield(30) + vein.depletionAmount(1) + vein.depletionChance(1) + vein.depletedYield(10) + }) + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/moon/recipes.plants.js b/kubejs/server_scripts/tfg/moon/recipes.plants.js index daaf47235..fd5bfdb5b 100644 --- a/kubejs/server_scripts/tfg/moon/recipes.plants.js +++ b/kubejs/server_scripts/tfg/moon/recipes.plants.js @@ -87,4 +87,30 @@ function registerTFGMoonPlantRecipes(event) { .outputFluids(Fluid.of('gtceu:biomass', 20)) .duration(50) .EUt(3) + + Ingredient.of('#tfg:moon_plants').stacks.forEach(element => { + const itemId = element.id; + const recipeId = `betterend:greenhouse_${itemId.replace(':', '_')}`; + + event.recipes.gtceu.greenhouse(recipeId) + .notConsumable(element.id) + .itemOutputs(`8x ${element.id}`) + .chancedOutput(element.id, 750, 0) + .chancedOutput(element.id, 500, 0) + .duration(36000) // 30 mins + .circuit(1) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + + event.recipes.gtceu.greenhouse(`${recipeId}_helium`) + .notConsumable(element.id) + .inputFluids(Fluid.of('gtceu:helium_3', 500)) + .itemOutputs(`8x ${element.id}`) + .chancedOutput(element.id, 4000, 0) + .chancedOutput(element.id, 3000, 0) + .duration(12000) // 30 mins + .circuit(2) + .EUt(GTValues.VA[GTValues.MV]) + .dimension('ad_astra:moon') + }); } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/moon/tags.moon.js b/kubejs/server_scripts/tfg/moon/tags.moon.js new file mode 100644 index 000000000..33b50a4d3 --- /dev/null +++ b/kubejs/server_scripts/tfg/moon/tags.moon.js @@ -0,0 +1,117 @@ +"use strict"; + +function registerTFGMoonItemTags(event) { + + event.add('tfg:moon_plants', 'tfg:lunar_roots') + event.add('tfg:moon_plants', 'tfg:lunar_sprouts') + + event.add('tfc:compost_greens_high', 'minecraft:pearlescent_froglight') + event.add('tfc:compost_greens_high', 'minecraft:verdant_froglight') + event.add('tfc:compost_greens_high', 'minecraft:ochre_froglight') +} + +function registerTFGMoonBlockTags(event) { + + event.add('minecraft:rabbits_spawnable_on', '#ad_astra:moon_stone_replaceables') + event.add('species:limpet_spawnable_on', '#ad_astra:moon_stone_replaceables') + + event.add('ad_astra:moon_stone_replaceables', 'ad_astra:moon_sand') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_moon_stone') + event.add('ad_astra:moon_stone_replaceables', 'tfc:sand/white') + event.add('ad_astra:moon_stone_replaceables', 'tfc:sand/black') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/diorite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/gabbro') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/basalt') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/rhyolite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/andesite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/gravel/dacite') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_moon') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_moon_deepslate') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/gravel_glacio') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_moon_deepslate') + event.add('ad_astra:moon_stone_replaceables', 'ad_astra:glacio_stone') + event.add('ad_astra:moon_stone_replaceables', 'tfg:rock/hardened_glacio_stone') + event.add('ad_astra:moon_stone_replaceables', 'ad_astra:glacio_cobblestone') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/basalt') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/basalt') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/gabbro') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/gabbro') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/diorite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/diorite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/rhyolite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/rhyolite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/andesite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/andesite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/raw/dacite') + event.add('ad_astra:moon_stone_replaceables', 'tfc:rock/hardened/dacite') + + event.add('tfc:can_carve', '#ad_astra:moon_stone_replaceables') +} + +function registerTFGMoonBiomeTags(event) { + global.MOON_BIOMES.forEach(biome => { + event.add('tfg:moon_biomes', biome) + event.add('tfg:has_structure/meteors', biome) + event.add('tfg:has_structure/cheese_ores', biome) + event.add('tfg:has_structure/moonbase', biome) + event.add('tfg:has_structure/moon_rabbit_houses', biome) + event.add('species:limpet_spawns', biome) + }) +} + +function registerTFGMoonEntityTypeTags(event) { + const ENTITIES = [ + 'tfc:rat', + 'tfg:moon_rabbit', + 'minecraft:enderman', + 'minecraft:shulker', + 'minecraft:shulker_bullet', + 'minecraft:skeleton', + 'minecraft:stray', + 'species:limpet', + 'species:birt', + 'endermanoverhaul:windswept_hills_enderman', + 'endermanoverhaul:soulsand_valley_enderman', + 'endermanoverhaul:spirit', + 'endermanoverhaul:end_enderman', + 'endermanoverhaul:end_islands_enderman', + ] + + ENTITIES.forEach(entity => { + event.add('ad_astra:can_survive_extreme_cold', entity) + event.add('ad_astra:lives_without_oxygen', entity) + }) + + event.add('tfc:deals_piercing_damage', 'minecraft:stray') + event.add('tfc:deals_slashing_damage', 'minecraft:enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:windswept_hills_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:soulsand_valley_enderman') + event.add('tfc:deals_piercing_damage', 'endermanoverhaul:end_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:end_islands_enderman') + event.add('tfc:deals_crushing_damage', 'ad_astra:star_crawler') + event.add('tfc:deals_crushing_damage', 'species:birt') + + event.add('tfg:ignores_gravity', 'minecraft:shulker_bullet') + event.add('tfg:ignores_gravity', 'endermanoverhaul:spirit') + event.add('tfg:ignores_gravity', 'species:birt') + event.add('tfg:ignores_gravity', 'ad_astra:star_crawler') +} + +function registerTFGMoonPlacedFeatures(event) { + event.add('tfg:moon_craters', 'tfg:moon/crater/extra_large') + event.add('tfg:moon_craters', 'tfg:moon/crater/large') + event.add('tfg:moon_craters', 'tfg:moon/crater/medium') + event.add('tfg:moon_craters', 'tfg:moon/crater/small') + + global.MOON_STONE_TYPES.forEach(stone => { + // only in the sparse ones + event.add('tfg:moon_large_rock_features', `tfg:moon/surface/delta/${stone}`) + // in all moon biomes + event.add('tfg:moon_small_rock_features', `tfg:moon/surface/pile/${stone}`) + event.add('tfg:moon_small_rock_features', `tfg:moon/surface/loose/${stone}`) + }) + + event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_moon_sand') + event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_white_sand') + event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_black_sand') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js index d1c642af9..2df6ade7c 100644 --- a/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js +++ b/kubejs/server_scripts/tfg/natural_blocks/tags.stones.js @@ -1,6 +1,6 @@ // priority: 0 -function registerTFGItemStoneTags(event) { +function registerTFGStoneItemTags(event) { event.add('tfc:fluxstone', 'tfg:loose/dripstone') diff --git a/kubejs/server_scripts/tfg/primitive/events.fishing_nets.js b/kubejs/server_scripts/tfg/primitive/fishing_nets/events.fishing_nets.js similarity index 100% rename from kubejs/server_scripts/tfg/primitive/events.fishing_nets.js rename to kubejs/server_scripts/tfg/primitive/fishing_nets/events.fishing_nets.js diff --git a/kubejs/server_scripts/tfg/primitive/recipes.fishing_nets.js b/kubejs/server_scripts/tfg/primitive/fishing_nets/recipes.fishing_nets.js similarity index 100% rename from kubejs/server_scripts/tfg/primitive/recipes.fishing_nets.js rename to kubejs/server_scripts/tfg/primitive/fishing_nets/recipes.fishing_nets.js diff --git a/kubejs/server_scripts/tfg/primitive/events.medicine.js b/kubejs/server_scripts/tfg/primitive/medicine/events.medicine.js similarity index 100% rename from kubejs/server_scripts/tfg/primitive/events.medicine.js rename to kubejs/server_scripts/tfg/primitive/medicine/events.medicine.js diff --git a/kubejs/server_scripts/tfg/primitive/recipes.medicine.js b/kubejs/server_scripts/tfg/primitive/medicine/recipes.medicine.js similarity index 100% rename from kubejs/server_scripts/tfg/primitive/recipes.medicine.js rename to kubejs/server_scripts/tfg/primitive/medicine/recipes.medicine.js diff --git a/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js b/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js new file mode 100644 index 000000000..edfe6bceb --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/medicine/tags.medicine.js @@ -0,0 +1,67 @@ +"use strict"; + +function registerTFGMedicineItemTags(event) { + + event.add('tfg:antipoison_ingredients', 'tfc:plant/blood_lily') + event.add('tfg:antipoison_ingredients', 'tfc:plant/pistia') + event.add('tfg:antipoison_ingredients', 'tfc:powder/bismuthinite') + event.add('tfg:antipoison_ingredients', 'gtceu:mica_dust') + event.add('tfg:antipoison_ingredients', 'gtceu:fullers_earth_dust') + + event.add('tfg:poison_ingredients', 'tfc:plant/butterfly_milkweed') + event.add('tfg:poison_ingredients', 'tfc:plant/grape_hyacinth') + event.add('tfg:poison_ingredients', 'tfc:plant/lily_of_the_valley') + event.add('tfg:poison_ingredients', 'tfc:plant/pulsatilla') + event.add('tfg:poison_ingredients', 'firmalife:food/nightshade_berry') + event.add('tfg:poison_ingredients', 'minecraft:red_mushroom') + + event.add('tfg:regeneration_ingredients', 'tfc:plant/lilac') + event.add('tfg:regeneration_ingredients', 'tfc:plant/field_horsetail') + event.add('tfg:regeneration_ingredients', 'tfc:plant/licorice_fern') + event.add('tfg:regeneration_ingredients', 'tfc:plant/sacred_datura') + + event.add('tfg:speed_ingredients', 'tfc:plant/labrador_tea') + event.add('tfg:speed_ingredients', 'firmalife:raw_honey') + + event.add('tfg:slowness_ingredients', 'tfc:plant/marigold') + event.add('tfg:slowness_ingredients', 'tfc:plant/nasturtium') + event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_red') + event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_white') + event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_yellow') + + event.add('tfg:weakness_ingredients', 'tfc:plant/laminaria') + event.add('tfg:weakness_ingredients', 'tfc:plant/sea_palm') + event.add('tfg:weakness_ingredients', 'tfc:plant/sea_lavender') + event.add('tfg:weakness_ingredients', 'tfc:plant/canna') + event.add('tfg:weakness_ingredients', 'tfc:plant/water_canna') + + event.add('tfg:haste_ingredients', '#tfg:sugars') + + event.add('tfg:water_breathing_ingredients', 'tfc:powder/saltpeter') + event.add('tfg:water_breathing_ingredients', 'tfc:powder/charcoal') + event.add('tfg:water_breathing_ingredients', 'tfg:rapeseed_product') + + event.add('tfg:night_vision_ingredients', 'tfc:food/carrot') + event.add('tfg:night_vision_ingredients', 'beneath:gleamflower') + event.add('tfg:night_vision_ingredients', 'tfg:sunflower_product') + + event.add('tfg:invisibility_ingredients', 'tfc:plant/calendula') + event.add('tfg:absorption_ingredients', 'beneath:burpflower') + + event.add('tfg:fire_resistance_ingredients', 'tfc:plant/cattail') + event.add('tfg:fire_resistance_ingredients', 'tfc:plant/meads_milkweed') + event.add('tfg:fire_resistance_ingredients', 'firmalife:plant/bay_laurel') + event.add('tfg:fire_resistance_ingredients', 'beneath:ghost_pepper') + + event.add('tfg:resistance_ingredients', 'tfc:plant/hibiscus') + event.add('tfg:resistance_ingredients', 'gtceu:calcium_dust') + + event.add('tfg:instant_health_ingredients', 'tfc:plant/foxglove') + event.add('tfg:instant_health_ingredients', 'tfc:plant/artists_conk') + + event.add('tfg:absorption_ingredients', 'tfc:plant/poppy') + event.add('tfg:invisibility_ingredients', 'tfc:plant/snapdragon_pink') + + event.add('tfg:luck_ingredients', 'tfc:plant/goldenrod') + event.add('tfg:luck_ingredients', 'tfc:plant/heather') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.rubber.js b/kubejs/server_scripts/tfg/primitive/recipes.rubber.js index f607c75ea..5920707dd 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.rubber.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.rubber.js @@ -2,6 +2,59 @@ function registerTFGRubberRecipes(event) { + // Tapping + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/rubber_fig")) + .resultFluid(Fluid.of("tfg:latex", 2)) + .minTemp(4) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/latex/rubber_fig") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_rubber_fig")) + .resultFluid(Fluid.of("tfg:latex", 2)) + .minTemp(4) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/latex/ancient_rubber_fig") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/hevea")) + .resultFluid(Fluid.of("tfg:latex", 3)) + .minTemp(8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/latex/hevea") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_hevea")) + .resultFluid(Fluid.of("tfg:latex", 3)) + .minTemp(8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/latex/ancient_hevea") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/kapok")) + .resultFluid(Fluid.of("tfg:latex", 4)) + .minTemp(12) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/kapok_latex") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_kapok")) + .resultFluid(Fluid.of("tfg:latex", 4)) + .minTemp(12) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/ancient_kapok_latex") + + // Latex + event.recipes.gtceu.extractor('latex_from_log') + .itemInputs('#tfg:latex_logs') + .outputFluids(Fluid.of('tfg:latex', 250)) + .duration(600) + .EUt(20) + + event.recipes.gtceu.extractor('latex_from_sapling') + .itemInputs('#tfg:rubber_saplings') + .outputFluids(Fluid.of('tfg:latex', 100)) + .duration(750) + .EUt(20) + + event.recipes.gtceu.extractor('latex_from_leaves') + .itemInputs('#tfg:rubber_leaves') + .outputFluids(Fluid.of('tfg:latex', 50)) + .duration(750) + .EUt(20) + // Sticky resin event.recipes.tfc.pot('tfc:powder/wood_ash', Fluid.of('tfg:latex', 1000), 1200, 300) .itemOutput('gtceu:sticky_resin') @@ -80,54 +133,13 @@ function registerTFGRubberRecipes(event) { .duration(200) .EUt(20) - - // #region Primitive protection - - event.recipes.tfc.barrel_sealed(2000) - .outputItem('tfg:prepared_leather_gloves') - .inputs('tfchotornot:mittens', Fluid.of('tfc:vinegar', 1000)) - .id('tfg:sealed_barrel/prepared_leather_gloves') - - event.recipes.firmalife.vat() - .outputItem('tfg:latex_soaked_gloves') - .inputs('tfg:prepared_leather_gloves', Fluid.of('tfg:vulcanized_latex', 1000)) - .length(300) - .temperature(200) - .id('tfg:vat/latex_soaked_gloves') - - event.recipes.firmalife.oven('tfg:latex_soaked_gloves', 120, 1200, 'gtceu:rubber_gloves') - .id('tfg:oven/rubber_gloves') - - event.remove({ id: 'gtceu:shaped/rubber_gloves' }) - - event.recipes.gtceu.alloy_smelter('rubber_gloves_alloy_smelter') - .itemInputs('2x #forge:plates/rubber') - .notConsumable('create:brass_hand') - .itemOutputs('gtceu:rubber_gloves') - .duration(200) - .EUt(GTValues.VA[GTValues.ULV]) - .category(GTRecipeCategories.INGOT_MOLDING) - - - event.recipes.tfc.damage_inputs_shaped_crafting( - event.shaped('gtceu:face_mask', [ - 'ACA', - 'ABA', - ' D ' - ], { - A: '#forge:string', - B: '#forge:cloth', - C: 'minecraft:paper', - D: '#tfc:sewing_needles' - }) - ).id('gtceu:shaped/face_mask') - - event.recipes.gtceu.assembler('assemble_face_mask') - .itemInputs('4x #forge:string', '#forge:cloth', 'minecraft:paper') - .itemOutputs('gtceu:face_mask') - .duration(100) - .EUt(GTValues.VA[GTValues.ULV]) - .circuit(7) - - // #endregion + event.recipes.gtceu.centrifuge('rubber_log_separation') + .itemInputs('#tfg:latex_logs') + .chancedOutput('gtceu:raw_rubber_dust', 5000, 0) + .chancedOutput('gtceu:plant_ball', 3750, 0) + .chancedOutput('gtceu:sticky_resin', 2500, 0) + .chancedOutput('gtceu:wood_dust', 2500, 0) + .outputFluids(Fluid.of('gtceu:methane', 60)) + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.MV]) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/primitive/recipes.wax.js b/kubejs/server_scripts/tfg/primitive/recipes.wax.js index 3ebf064b4..e3376285f 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.wax.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.wax.js @@ -14,6 +14,80 @@ function registerTFGWaxRecipes(event) { .duration(500) .EUt(GTValues.VA[GTValues.LV]) + // Tapping + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/aspen")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-10) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/aspen_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_aspen")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-10) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/ancient_aspen_resin") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/spruce")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 4)) + .minTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/spruce_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_spruce")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 4)) + .minTemp(-15) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/ancient_spruce_resin") + + event.recipes.afc.tree_tapping(TFC.blockIngredient("tfc:wood/log/white_cedar")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 3)) + .minTemp(-8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/white_cedar_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_white_cedar")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 3)) + .minTemp(-8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/ancient_white_cedar_resin") + + event.recipes.afc.tree_tapping(TFC.blockIngredient('tfc:wood/log/douglas_fir')) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/douglas_fir_resin") + event.recipes.afc.tree_tapping(TFC.blockIngredient("afc:wood/log/ancient_douglas_fir")) + .resultFluid(Fluid.of('tfg:conifer_pitch', 2)) + .minTemp(-8) + .requiresNaturalLog(true) + .id("tfg:tree_tapping/ancient_douglas_fir_resin") + + // Conifer Pitch + event.recipes.gtceu.extractor('conifer_from_log') + .itemInputs('#tfg:rosin_logs') + .outputFluids(Fluid.of('tfg:conifer_pitch', 250)) + .duration(600) + .EUt(20) + + event.recipes.gtceu.extractor('conifer_from_sapling') + .itemInputs('#tfg:rosin_saplings') + .outputFluids(Fluid.of('tfg:conifer_pitch', 100)) + .duration(750) + .EUt(20) + + event.recipes.gtceu.extractor('conifer_from_leaves') + .itemInputs('#tfg:rosin_leaves') + .outputFluids(Fluid.of('tfg:conifer_pitch', 50)) + .duration(750) + .EUt(20) + + event.recipes.gtceu.centrifuge('conifer_log_separation') + .itemInputs('#tfg:rosin_logs') + .chancedOutput('tfg:conifer_rosin', 7500, 0) + .chancedOutput('gtceu:plant_ball', 3750, 0) + .chancedOutput('gtceu:sticky_resin', 2500, 0) + .chancedOutput('gtceu:wood_dust', 2500, 0) + .outputFluids(Fluid.of('gtceu:methane', 60)) + .duration(20 * 20) + .EUt(GTValues.VA[GTValues.MV]) + // Rosin event.recipes.firmalife.vat() .inputs('tfc:powder/charcoal', Fluid.of('tfg:conifer_pitch', 1000)) diff --git a/kubejs/server_scripts/tfg/primitive/tags.primitive.js b/kubejs/server_scripts/tfg/primitive/tags.primitive.js new file mode 100644 index 000000000..02915188c --- /dev/null +++ b/kubejs/server_scripts/tfg/primitive/tags.primitive.js @@ -0,0 +1,88 @@ +"use strict"; + +function registerTFGPrimitiveItemTags(event) { + + //Decorative Vases + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.add('c:hidden_from_recipe_viewers', `tfg:decorative_vase/generated/${color}`) + event.add('tfg:decorative_vases/generated', `tfg:decorative_vase/generated/${color}`) + event.add('tfg:decorative_vases', `tfg:decorative_vase/${color}`) + event.add('tfg:decorative_vases/unfired', `tfg:decorative_vase/unfired/${color}`) + }) + event.add('tfg:decorative_vases', 'tfg:decorative_vase') + event.add('tfg:decorative_vases/unfired', 'tfg:decorative_vase/unfired') + + //Knapping + event.add('tfc:any_knapping', 'minecraft:flint') + + // Tools + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/wood') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/brass') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/rose_gold') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/sterling_silver') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/invar') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/tin_alloy') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/cupronickel') + event.add('forge:tools/fishing_nets', 'tfg:fishing_net/magnalium') + + event.add('forge:tools/trowels', 'tfg:trowel') + + event.add('tfg:harvester', 'tfg:harvest_basket') + event.add('tfg:harvester', 'tfg:aluminium_harvest_basket') + + event.add('tfg:tools/ore_prospectors/copper', 'tfc:metal/propick/copper') + event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/bronze') + event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/bismuth_bronze') + event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/black_bronze') + event.add('tfg:tools/ore_prospectors/wrought_iron', 'tfc:metal/propick/wrought_iron') + event.add('tfg:tools/ore_prospectors/steel', 'tfc:metal/propick/steel') + event.add('tfg:tools/ore_prospectors/black_steel', 'tfc:metal/propick/black_steel') + event.add('tfg:tools/ore_prospectors/blue_steel', 'tfc:metal/propick/blue_steel') + event.add('tfg:tools/ore_prospectors/red_steel', 'tfc:metal/propick/red_steel') + + // Paper from wood + event.add('tfg:hardwood_strips', 'tfg:hardwood_strip') + event.add('tfg:hardwood_strips', 'tfg:soaked_hardwood_strip') + //Adding any of these dusts to the forge dusts/wood tag will make it so you can craft softwood pulp using hardwood pulp. which is not ok. + event.add('tfg:wood_dusts', 'gtceu:hardwood_dust') + event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_hardwood_dust') + event.add('tfg:small_wood_dusts', 'gtceu:small_hardwood_dust') + event.add('tfg:wood_dusts', 'gtceu:wood_dust') + event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_wood_dust') + event.add('tfg:small_wood_dusts', 'gtceu:small_wood_dust') + + // Waxe + event.add('forge:wax', 'gtceu:wax_dust'); + event.add('forge:wax', 'tfg:paraffin_wax') + event.add('forge:wax', 'firmalife:beeswax') + event.add('forge:wax', 'tfg:conifer_rosin') + event.add('forge:wax', 'tfg:crimsene_gem') + event.add('forge:wax', 'tfg:warpane_gem') + + // Cloth & String + event.add('tfg:lightweight_cloth', 'tfc:silk_cloth') + event.add('tfg:lightweight_cloth', 'tfg:phantom_silk') + event.add('tfg:lightweight_cloth', 'tfg:polycaprolactam_fabric') + event.add('forge:cloth', 'tfg:phantom_silk') + event.add('forge:cloth', 'tfg:polycaprolactam_fabric') + event.add('tfc:high_quality_cloth', 'tfg:phantom_silk') + event.add('tfc:high_quality_cloth', 'tfg:polycaprolactam_fabric') + event.add('tfc:sewing_light_cloth', 'tfg:phantom_silk') + event.add('tfc:sewing_dark_cloth', 'tfg:polycaprolactam_fabric') + event.add('forge:string', 'tfg:phantom_thread') + event.add('forge:string', 'tfg:polycaprolactam_string') + event.add('forge:string', 'firmalife:pineapple_yarn') +} + +function registerTFGPrimitiveBlockTags(event) { + event.add('minecraft:mineable/shovel', 'tfg:ash_pile') + + event.add('tfg:harvester_harvestable', '#tfc:fruit_tree_leaves') + event.add('tfg:harvester_harvestable', '#tfc:berry_bushes') + event.add('tfg:harvester_harvestable', '#tfc:any_spreading_bush') + event.add('tfg:harvester_harvestable', '#firmalife:grape_strings') + event.add('tfg:harvester_harvestable', '#firmalife:grape_trellis_posts_plant') + //added for QOL but doesnt harvest anything + event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_red') + event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_white') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index bbe860782..e078a55b3 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -43,6 +43,7 @@ const registerTFGRecipes = (event) => { registerTFGKnappingRecipes(event) registerTFGLeatherRecipes(event) registerTFGClayRecipes(event) + registerTFGEquipmentRecipes(event) registerTFGCasingRecipes(event) registerTFGEnderPearlRecipes(event) diff --git a/kubejs/server_scripts/tfg/space_general/tags.railgun.js b/kubejs/server_scripts/tfg/space_general/tags.railgun.js new file mode 100644 index 000000000..0ad284fb5 --- /dev/null +++ b/kubejs/server_scripts/tfg/space_general/tags.railgun.js @@ -0,0 +1,82 @@ +"use strict"; + +function registerTFGRailgunItemTags(event) { + + event.add('tfg:cannot_launch_in_railgun', '#tfc:vessels') + event.add('tfg:cannot_launch_in_railgun', '#tfc:large_vessels') + event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_1k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_4k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_16k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_64k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_256k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_1k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_4k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_16k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_64k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_256k') + event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_2') + event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_16') + event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_128') + event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_1m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_4m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_16m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_64m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_1m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_4m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_16m') + event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_64m') + event.add('tfg:cannot_launch_in_railgun', 'create:minecart_contraption') + event.add('tfg:cannot_launch_in_railgun', 'tfg:railgun_ammo_shell') + event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_12x10') + event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_10x8') + event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_10x12') + event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_12x12') + event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:composite_package') + event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:copper_jar_package_8x8') + event.add('tfg:cannot_launch_in_railgun', 'sns:ore_sack') + event.add('tfg:cannot_launch_in_railgun', 'sns:leather_sack') + event.add('tfg:cannot_launch_in_railgun', 'sns:burlap_sack') + event.add('tfg:cannot_launch_in_railgun', 'sns:seed_pouch') + event.add('tfg:cannot_launch_in_railgun', 'sns:straw_basket') + event.add('tfg:cannot_launch_in_railgun', 'sns:frame_pack') + event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:lunchbox') + event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:cooling_lunchbox') + event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:electric_lunchbox') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:backpack') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:copper_backpack') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:iron_backpack') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:gold_backpack') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:diamond_backpack') + event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:netherite_backpack') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:wood_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:bronze_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:black_bronze_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:bismuth_bronze_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:steel_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:aluminium_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:stainless_steel_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:titanium_crate') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:tungsten_steel_crate') + event.add('tfg:cannot_launch_in_railgun', '#create:toolboxes') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:ulv_super_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:lv_super_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:mv_super_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:hv_super_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:ev_super_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:iv_quantum_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:luv_quantum_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:zpm_quantum_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:uv_quantum_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:uhv_quantum_chest') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:ulv_super_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:lv_super_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:mv_super_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:hv_super_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:ev_super_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:iv_quantum_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:luv_quantum_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:zpm_quantum_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:uv_quantum_tank') + event.add('tfg:cannot_launch_in_railgun', 'gtceu:uhv_quantum_tank') + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/space_general/tags.rockets.js b/kubejs/server_scripts/tfg/space_general/tags.rockets.js new file mode 100644 index 000000000..fd6a8ef65 --- /dev/null +++ b/kubejs/server_scripts/tfg/space_general/tags.rockets.js @@ -0,0 +1,28 @@ +"use strict"; + +function registerTFGRocketItemTags(event) { + + // Insulation Tier 1 + event.add('forge:insulation_t1', 'gtceu:borosilicate_glass_dust') + event.add('forge:insulation_t1', 'gtceu:vitrified_asbestos_dust') + + //Insulation Tier 2 + event.add('forge:insulation_t2/sheet', 'tfg:aes_insulation_sheet') + event.add('forge:insulation_t2/roll', 'tfg:aes_insulation_roll') + + //Insulation Tier3 + event.add('forge:insulation_t3/foam', 'tfg:aes_polyurethane') + event.add('forge:insulation_t3/sheet', 'tfg:mli_shielding') + event.add('forge:insulation_t3/cryo', 'tfg:silica_aerogel') + + event.add('forge:aerogels', 'tfg:silica_aerogel') + + //Rocket Engines + event.add('ad_astra:rocket_engine', 'ad_astra:steel_engine') + event.add('ad_astra:rocket_engine', 'ad_astra:desh_engine') + event.add('ad_astra:rocket_engine', 'ad_astra:ostrum_engine') + + //Rocket Tank + event.add('ad_astra:rocket_tank', 'ad_astra:ostrum_tank') + +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.interaction.js b/kubejs/server_scripts/tfg/tags.interaction.js index 99be4b76f..ad0c2bea0 100644 --- a/kubejs/server_scripts/tfg/tags.interaction.js +++ b/kubejs/server_scripts/tfg/tags.interaction.js @@ -1,8 +1,8 @@ // priority: 0 "use strict"; -function registerBlockInteractionTags(event) { - +function registerBlockInteractionItemTags(event) { + /** * @typedef {Object} BrickVariant * @property {string} brick_type - The name of the brick variant. @@ -23,11 +23,11 @@ function registerBlockInteractionTags(event) { * @property {string|null} smooth_slab - Smooth brick slab block ID. * @property {string|null} smooth_wall - Smooth brick wall block ID. * @property {string|null} chiseled_brick - Chiseled brick block ID. - */ - - for (const b of global.BRICK_INDEX) { + */ + + for (const b of global.BRICK_INDEX) { if (b.brick !== null) { event.add('tfg:interaction/brick', b.brick) } - if (b.brick_stairs !== null) {event.add('tfg:interaction/brick_stairs', b.brick_stairs) } + if (b.brick_stairs !== null) { event.add('tfg:interaction/brick_stairs', b.brick_stairs) } if (b.brick_slab !== null) { event.add('tfg:interaction/brick_slab', b.brick_slab) } if (b.brick_wall !== null) { event.add('tfg:interaction/brick_wall', b.brick_wall) } @@ -42,27 +42,22 @@ function registerBlockInteractionTags(event) { if (b.mossy_wall !== null) { event.add('tfg:interaction/mossy_brick_wall', b.mossy_wall) } if (b.smooth_brick !== null) { event.add('tfg:interaction/smooth_brick', b.smooth_brick) } - //event.add('tfg:interaction/smooth_bricks', b.smooth_stairs) - //event.add('tfg:interaction/smooth_bricks', b.smooth_slab) - //event.add('tfg:interaction/smooth_bricks', b.smooth_wall) - + //event.add('tfg:interaction/smooth_bricks', b.smooth_stairs) + //event.add('tfg:interaction/smooth_bricks', b.smooth_slab) + //event.add('tfg:interaction/smooth_bricks', b.smooth_wall) + } - } - - - for (const c of global.COBBLE_INDEX) { - - event.add('tfg:interaction/cobble', c.block) - event.add('tfg:interaction/cobble_stairs', c.stairs) - event.add('tfg:interaction/cobble_slab', c.slab) - event.add('tfg:interaction/cobble_wall', c.wall) - event.add('tfg:interaction/mossy_cobble', c.mossy_block) - event.add('tfg:interaction/mossy_cobble_stairs', c.mossy_stairs) - event.add('tfg:interaction/mossy_cobble_slab', c.mossy_slab) - event.add('tfg:interaction/mossy_cobble_wall', c.mossy_wall) + for (const c of global.COBBLE_INDEX) { - - } - + event.add('tfg:interaction/cobble', c.block) + event.add('tfg:interaction/cobble_stairs', c.stairs) + event.add('tfg:interaction/cobble_slab', c.slab) + event.add('tfg:interaction/cobble_wall', c.wall) + + event.add('tfg:interaction/mossy_cobble', c.mossy_block) + event.add('tfg:interaction/mossy_cobble_stairs', c.mossy_stairs) + event.add('tfg:interaction/mossy_cobble_slab', c.mossy_slab) + event.add('tfg:interaction/mossy_cobble_wall', c.mossy_wall) + } } diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 785160a42..8735c6b48 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -2,66 +2,21 @@ const registerTFGItemTags = (event) => { - registerTFGTrimTags(event) - registerFacadeWhitelistTags(event) - registerBlockInteractionTags(event) - registerTFGItemStoneTags(event) - - //crop stuff - event.add('tfc:seeds', 'tfg:sunflower_seeds') - event.add('tfc:seeds', 'tfg:rapeseed_seeds') - event.add('tfc:seeds', 'tfg:flax_seeds') - event.add('tfc:compost_greens_high', 'tfg:rapeseed_product') - event.add('tfc:compost_greens_high', 'tfg:sunflower_product') - event.add('tfc:compost_greens_high', 'tfg:flax_product') - event.add('tfc:compost_greens_high', 'tfg:lunar_chorus_flower') - event.add('tfg:water_breathing_ingredients', 'tfg:rapeseed_product') - event.add('tfg:night_vision_ingredients', 'tfg:sunflower_product') - - event.add("tfg:sugars", "minecraft:sugar"); - event.add("tfg:sugars", "afc:birch_sugar"); - event.add("tfg:sugars", "afc:maple_sugar"); - - // Actually "layers", can't rename them without screwing with peoples' worlds - event.add('c:hidden_from_recipe_viewers', 'tfg:ash_pile') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/black_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/brown_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/green_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/pink_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/red_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/white_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/yellow_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/moon_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/venus_sand') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand') - - // Actually "piles", the kind that can hide plants inside them - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/venus_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_snow_covering') - - // Actually "piles", the kind that can hide plants inside them - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/venus_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand_covering') - event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_snow_covering') - - event.add('c:hidden_from_recipe_viewers', 'tfg:mars_ice') - - //Decorative Vases - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.add('c:hidden_from_recipe_viewers', `tfg:decorative_vase/generated/${color}`) - event.add('tfg:decorative_vases/generated', `tfg:decorative_vase/generated/${color}`) - event.add('tfg:decorative_vases', `tfg:decorative_vase/${color}`) - event.add('tfg:decorative_vases/unfired', `tfg:decorative_vase/unfired/${color}`) - }) - event.add('tfg:decorative_vases', 'tfg:decorative_vase') - event.add('tfg:decorative_vases/unfired', 'tfg:decorative_vase/unfired') - - //Knapping - event.add('tfc:any_knapping', 'minecraft:flint') + registerTFGTrimItemTags(event) + registerTFGFacadeWhitelistItemTags(event) + registerBlockInteractionItemTags(event) + registerTFGStoneItemTags(event) + registerTFGFoodItemTags(event); + registerTFGMedicineItemTags(event); + registerTFGPrimitiveItemTags(event) + registerTFGEquipmentItemTags(event); + registerTFGRailgunItemTags(event) + registerTFGRocketItemTags(event) + registerTFGGeneralWorldgenItemTags(event); + registerTFGBeneathItemTags(event) + registerTFGMoonItemTags(event) + registerTFGMarsItemTags(event) + registerTFGVenusItemTags(event) //Circuit Stuff event.add('tfg:components/uv_leds', 'tfg:uv_led') @@ -75,134 +30,13 @@ const registerTFGItemTags = (event) => { event.add('tfg:platinum_ore_group', 'gtceu:purified_cooperite_ore') event.add('tfg:platinum_ore_group', 'gtceu:purified_chalcocite_ore') - //#region Tools & Armor - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/wood') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/brass') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/rose_gold') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/sterling_silver') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/invar') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/tin_alloy') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/cupronickel') - event.add('forge:tools/fishing_nets', 'tfg:fishing_net/magnalium') - - event.add('minecraft:piglin_loved', 'tfg:piglin_disguise') - - event.add('forge:tools/trowels', 'tfg:trowel') - - event.add('tfg:harvester', 'tfg:harvest_basket') - event.add('tfg:harvester', 'tfg:aluminium_harvest_basket') - - event.add('tfg:tools/ore_prospectors/copper', 'tfc:metal/propick/copper') - event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/bronze') - event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/bismuth_bronze') - event.add('tfg:tools/ore_prospectors/bronze', 'tfc:metal/propick/black_bronze') - event.add('tfg:tools/ore_prospectors/wrought_iron', 'tfc:metal/propick/wrought_iron') - event.add('tfg:tools/ore_prospectors/steel', 'tfc:metal/propick/steel') - event.add('tfg:tools/ore_prospectors/black_steel', 'tfc:metal/propick/black_steel') - event.add('tfg:tools/ore_prospectors/blue_steel', 'tfc:metal/propick/blue_steel') - event.add('tfg:tools/ore_prospectors/red_steel', 'tfc:metal/propick/red_steel') - + //#region Tools event.add('tfg:empty_dna_syringes', 'tfg:empty_dna_syringe') event.add('tfg:empty_dna_syringes', 'tfg:clean_dna_syringe') event.add('tfc:sewing_needles', 'tfg:stainless_steel_needle') //#endregion - // #region Paper from wood - event.add('tfg:hardwood_strips', 'tfg:hardwood_strip') - event.add('tfg:hardwood_strips', 'tfg:soaked_hardwood_strip') - //Adding any of these dusts to the forge dusts/wood tag will make it so you can craft softwood pulp using hardwood pulp. which is not ok. - event.add('tfg:wood_dusts', 'gtceu:hardwood_dust') - event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_hardwood_dust') - event.add('tfg:small_wood_dusts', 'gtceu:small_hardwood_dust') - event.add('tfg:wood_dusts', 'gtceu:wood_dust') - event.add('tfg:tiny_wood_dusts', 'gtceu:tiny_wood_dust') - event.add('tfg:small_wood_dusts', 'gtceu:small_wood_dust') - - event.add('forge:wax', 'tfg:paraffin_wax') - event.add('forge:wax', 'firmalife:beeswax') - event.add('forge:wax', 'tfg:conifer_rosin') - event.add('forge:wax', 'tfg:crimsene_gem') - event.add('forge:wax', 'tfg:warpane_gem') - // #endregion - - event.add('buildinggadgets2:deny', 'tfg:spice') - - //#region Cloth & String - event.add('forge:cloth', 'tfg:phantom_silk') - event.add('forge:cloth', 'tfg:polycaprolactam_fabric') - event.add('tfc:high_quality_cloth', 'tfg:phantom_silk') - event.add('tfc:high_quality_cloth', 'tfg:polycaprolactam_fabric') - event.add('tfc:sewing_light_cloth', 'tfg:phantom_silk') - event.add('tfc:sewing_dark_cloth', 'tfg:polycaprolactam_fabric') - event.add('forge:string', 'tfg:phantom_thread') - event.add('forge:string', 'tfg:polycaprolactam_string') - event.add('forge:string', 'firmalife:pineapple_yarn') - //#endregion - - // #region Medicines - event.add('tfg:antipoison_ingredients', 'tfc:plant/blood_lily') - event.add('tfg:antipoison_ingredients', 'tfc:plant/pistia') - event.add('tfg:antipoison_ingredients', 'tfc:powder/bismuthinite') - event.add('tfg:antipoison_ingredients', 'gtceu:mica_dust') - event.add('tfg:antipoison_ingredients', 'gtceu:fullers_earth_dust') - - event.add('tfg:poison_ingredients', 'tfc:plant/butterfly_milkweed') - event.add('tfg:poison_ingredients', 'tfc:plant/grape_hyacinth') - event.add('tfg:poison_ingredients', 'tfc:plant/lily_of_the_valley') - event.add('tfg:poison_ingredients', 'tfc:plant/pulsatilla') - event.add('tfg:poison_ingredients', 'firmalife:food/nightshade_berry') - event.add('tfg:poison_ingredients', 'minecraft:red_mushroom') - - event.add('tfg:regeneration_ingredients', 'tfc:plant/lilac') - event.add('tfg:regeneration_ingredients', 'tfc:plant/field_horsetail') - event.add('tfg:regeneration_ingredients', 'tfc:plant/licorice_fern') - event.add('tfg:regeneration_ingredients', 'tfc:plant/sacred_datura') - - event.add('tfg:speed_ingredients', 'tfc:plant/labrador_tea') - event.add('tfg:speed_ingredients', 'firmalife:raw_honey') - - event.add('tfg:slowness_ingredients', 'tfc:plant/marigold') - event.add('tfg:slowness_ingredients', 'tfc:plant/nasturtium') - event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_red') - event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_white') - event.add('tfg:slowness_ingredients', 'tfc:plant/snapdragon_yellow') - - event.add('tfg:weakness_ingredients', 'tfc:plant/laminaria') - event.add('tfg:weakness_ingredients', 'tfc:plant/sea_palm') - event.add('tfg:weakness_ingredients', 'tfc:plant/sea_lavender') - event.add('tfg:weakness_ingredients', 'tfc:plant/canna') - event.add('tfg:weakness_ingredients', 'tfc:plant/water_canna') - - event.add('tfg:haste_ingredients', '#tfg:sugars') - - event.add('tfg:water_breathing_ingredients', 'tfc:powder/saltpeter') - event.add('tfg:water_breathing_ingredients', 'tfc:powder/charcoal') - - event.add('tfg:night_vision_ingredients', 'tfc:food/carrot') - event.add('tfg:night_vision_ingredients', 'beneath:gleamflower') - - event.add('tfg:invisibility_ingredients', 'tfc:plant/calendula') - event.add('tfg:absorption_ingredients', 'beneath:burpflower') - - event.add('tfg:fire_resistance_ingredients', 'tfc:plant/cattail') - event.add('tfg:fire_resistance_ingredients', 'tfc:plant/meads_milkweed') - event.add('tfg:fire_resistance_ingredients', 'firmalife:plant/bay_laurel') - event.add('tfg:fire_resistance_ingredients', 'beneath:ghost_pepper') - - event.add('tfg:resistance_ingredients', 'tfc:plant/hibiscus') - event.add('tfg:resistance_ingredients', 'gtceu:calcium_dust') - - event.add('tfg:instant_health_ingredients', 'tfc:plant/foxglove') - event.add('tfg:instant_health_ingredients', 'tfc:plant/artists_conk') - - event.add('tfg:absorption_ingredients', 'tfc:plant/poppy') - event.add('tfg:invisibility_ingredients', 'tfc:plant/snapdragon_pink') - - event.add('tfg:luck_ingredients', 'tfc:plant/goldenrod') - event.add('tfg:luck_ingredients', 'tfc:plant/heather') - // #endregion - // Airplane Upgrades global.AIRCRAFT_UPGRADES.forEach(value => { event.add('immersive_aircraft:upgrades', `tfg:${value}`); @@ -234,396 +68,16 @@ const registerTFGItemTags = (event) => { event.add('forge:screws/any_bronze', '#forge:screws/bronze') event.add('forge:screws/any_bronze', '#forge:screws/bismuth_bronze') event.add('forge:screws/any_bronze', '#forge:screws/black_bronze') - - //#region Food - const RAW_MEATS = [ - 'tfg:food/raw_birt', - 'tfg:food/raw_crawlermari', - 'tfg:food/raw_limpet' - ] - RAW_MEATS.forEach(meat => { - event.add('tfc:foods', meat) - event.add('tfc:foods/meats', meat) - event.add('tfc:foods/raw_meats', meat) - }) - - const COOKED_MEATS = [ - 'tfg:food/cooked_birt', - 'tfg:food/cooked_crawlermari', - 'tfg:food/cooked_limpet' - ] - COOKED_MEATS.forEach(meat => { - event.add('tfc:foods', meat) - event.add('tfc:foods/meats', meat) - event.add('tfc:foods/cooked_meats', meat) - }) - - //These tags are used to add the tooltips and for searchability - global.COOLING_FOODS.forEach(food => { event.add('tfg:cooling_foods', food) }) - - event.add('tfg:cooling_foods_strong', 'tfg:food/ice_soup') - - global.WARMING_FOODS.forEach(food => { event.add('tfg:warming_foods', food) }) - - //jam sandwhich stuff - const usable_in_jam_sandwich = Ingredient.of('#tfc:foods/usable_in_jam_sandwich').itemIds.toArray().map(String); - const preserves = Ingredient.of('#tfc:foods/preserves').itemIds.toArray().map(String); - - const usable_in_jam_sandwich_2 = usable_in_jam_sandwich.filter(item => !preserves.includes(item)); - - usable_in_jam_sandwich_2.forEach(item => { - event.add('tfc:foods/usable_in_jam_sandwich_2', item); - }); - - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_sniffer_beef') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_wraptor') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_springling_collar') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_walker_steak') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_glider_wings') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_whole_soarer') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_crusher_meat') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_goober_meat') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_cruncher_ribs') - event.add('tfg:raw_dinosaur_meat', 'tfg:food/raw_surfer_steak') - event.add('tfg:raw_dinosaur_meat', 'wan_ancient_beasts:raw_ancient_meat') - - /** - * List of items that can make light stock. - * @type {string[]} - */ - const makesLightStock = [ - 'tfc:food/chicken', - 'tfc:food/cooked_chicken', - 'tfc:food/quail', - 'tfc:food/cooked_quail', - 'tfc:food/pheasant', - 'tfc:food/cooked_pheasant', - 'tfc:food/grouse', - 'tfc:food/cooked_grouse', - 'tfc:food/turkey', - 'tfc:food/cooked_turkey', - 'tfc:food/peafowl', - 'tfc:food/cooked_peafowl', - 'tfc:food/rabbit', - 'tfc:food/cooked_rabbit', - 'tfc:food/duck', - 'tfc:food/cooked_duck', - 'tfg:food/raw_birt', - 'tfg:food/cooked_birt', - 'tfg:food/raw_moon_rabbit', - 'tfg:food/cooked_moon_rabbit', - 'tfg:food/raw_wraptor', - 'tfg:food/cooked_wraptor', - 'tfg:food/raw_glider_wings', - 'tfg:food/cooked_glider_wings', - 'tfg:food/raw_whole_soarer', - 'tfg:food/cooked_whole_soarer' - ]; - makesLightStock.forEach(item => { - event.add('tfg:foods/makes_light_stock', item); - }); - - /** - * List of items that can make rich stock. - * @type {string[]} - */ - const makesRichStock = [ - 'tfc:food/beef', - 'tfc:food/cooked_beef', - 'tfc:food/mutton', - 'tfc:food/cooked_mutton', - 'tfc:food/bear', - 'tfc:food/cooked_bear', - 'tfc:food/horse_meat', - 'tfc:food/cooked_horse_meat', - 'tfc:food/venison', - 'tfc:food/cooked_venison', - 'tfc:food/chevon', - 'tfc:food/cooked_chevon', - 'tfc:food/gran_feline', - 'tfc:food/cooked_gran_feline', - 'tfc:food/turtle', - 'tfc:food/cooked_turtle', - 'tfc:food/camelidae', - 'tfc:food/cooked_camelidae', - 'tfg:food/raw_glacian_mutton', - 'tfg:food/cooked_glacian_mutton', - 'tfg:food/raw_sniffer_beef', - 'tfg:food/cooked_sniffer_beef', - 'tfg:food/raw_walker_steak', - 'tfg:food/cooked_walker_steak', - 'tfg:food/raw_crusher_meat', - 'tfg:food/cooked_crusher_meat', - 'wan_ancient_beasts:raw_ancient_meat', - 'wan_ancient_beasts:cooked_ancient_meat' - ]; - makesRichStock.forEach(item => { - event.add('tfg:foods/makes_rich_stock', item); - }); - - /** - * @type {string[]} - List of cheese curd item IDs. - */ - const cheeseCurds = [ - 'firmalife:food/yak_curd', - 'firmalife:food/goat_curd', - 'firmalife:food/milk_curd', - 'tfc_gurman:ox_curd', - 'tfc_gurman:sheep_curd', - 'tfc_gurman:alpaca_curd' - ]; - cheeseCurds.forEach(item => { - event.add('tfg:foods/cheese_curds', item); - }); - - /** - * @type {string[]} - List of item tags and item IDs that can be used on burgers. - */ - const usable_in_burgers = [ - '#tfc:foods/vegetables', - 'firmalife:food/cooked_bacon', - 'tfc:food/cooked_egg', - 'firmalife:food/tofu' - ]; - usable_in_burgers.forEach(item => { - event.add('tfg:foods/usable_in_burgers', item); - }); - - /** - * @type {string[]} - List of cheese tags and item IDs that can be used on a cheeseburger. - */ - const cheeses = [ - '#firmalife:foods/cheeses', - 'tfg:food/slice_of_cheese', - 'firmalife:food/shredded_cheese' - ]; - cheeses.forEach(item => { - event.add('tfg:foods/cheeses', item); - }); - - /** - * @type {string[]} - List of item IDs that can be used as burger meats. - */ - const burgerMeats = [ - 'tfc:food/beef', - 'tfc:food/turkey', - 'tfc:food/venison', - 'tfg:food/raw_sniffer_beef', - 'tfg:food/raw_crusher_meat', - 'wan_ancient_beasts:raw_ancient_meat' - ]; - burgerMeats.forEach(item => { - event.add('tfg:foods/burger_meats', item); - }); - - // Spice tags - global.SPICES.forEach(spice => { - event.add('tfg:foods/spices', spice.product); - event.add('tfg:foods/spice_plants', spice.plant); - }); - - /** - * @type {string[]} - List of item tags and item IDs that are allowed to be used in oatmeal. - */ - const usable_in_oatmeal = [ - '#tfc:foods/fruits', - 'tfc:food/oat_grain', - '#firmalife:foods/chocolate' - ]; - usable_in_oatmeal.forEach(item => { - event.add('tfg:foods/usable_in_oatmeal', item); - }); - - /** - * @type {string[]} - List of citrus fruit item IDs. - */ - const citrus_fruits = [ - 'tfc:food/orange', - 'tfc:jar/orange_unsealed', - 'tfg:food/freeze_dried/orange', - 'tfc:food/lemon', - 'tfc:jar/lemon_unsealed', - 'tfg:food/freeze_dried/lemon', - 'minecraft:glow_berries', - 'tfg:food/freeze_dried/glow_berries' - ]; - citrus_fruits.forEach(item => { - event.add('tfg:foods/citrus_fruits', item); - }); - - /** - * List of item tags and item IDs that are allowed to be used in a meal bag. - * @type {string[]} - */ - const usable_in_meal_bag = [ - '#tfc:foods/meats', - '#tfc:foods/grains', - '#tfc:foods/vegetables', - '#tfc:foods/fruits', - '#tfc:foods/dairy', - '#tfc:foods/preserves', - '#firmalife:foods/chocolate', - '#tfcchannelcasting:foods/chocolate_sweet', - 'firmalife:food/sugar_cookie', - 'firmalife:food/chocolate_chip_cookie', - 'firmalife:food/vanilla_ice_cream', - 'firmalife:food/strawberry_ice_cream', - 'firmalife:food/chocolate_ice_cream', - 'tfc:food/cooked_egg', - 'tfc:food/boiled_egg', - 'firmalife:food/pickled_egg', - 'tfc:food/cooked_rice', - 'firmalife:food/cooked_pasta', - 'firmalife:food/pasta_with_tomato_sauce', - 'firmalife:food/cooked_rice_noodles', - 'firmalife:food/tortilla_chips', - 'firmalife:food/shredded_cheese', - 'firmalife:food/salsa', - 'firmalife:food/tomato_sauce', - 'tfg:roasted_sunflower_seeds', - 'tfg:food/cooked_dino_nugget', - 'firmalife:food/toast', - 'firmalife:food/toast_with_butter', - 'firmalife:food/toast_with_jam', - 'firmalife:food/butter', - 'tfc_gurman:adjika', - 'tfc_gurman:tzatziki', - 'tfc_gurman:falafel', - 'tfc_gurman:hummus', - 'tfc_gurman:sauerkraut', - 'tfc_gurman:bratwurst' - ]; - usable_in_meal_bag.forEach(item => { - event.add('tfg:foods/usable_in_meal_bag', item); - }); - event.add('tfg:foil_packs', 'tfg:foil_pack'); - event.add('tfg:foil_packs', 'tfg:clean_foil_pack') - - event.add('tfg:solid_fats', 'firmalife:food/butter') - event.add('tfg:solid_fats', 'tfc:blubber') - //#endregion - - //#region Blacklisted from the railgun - event.add('tfg:cannot_launch_in_railgun', '#tfc:vessels') - event.add('tfg:cannot_launch_in_railgun', '#tfc:large_vessels') - event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_1k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_4k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_16k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_64k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_256k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_1k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_4k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_16k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_64k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_256k') - event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_2') - event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_16') - event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_128') - event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_1m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_4m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_16m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_64m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_1m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_4m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_16m') - event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_64m') - event.add('tfg:cannot_launch_in_railgun', 'create:minecart_contraption') - event.add('tfg:cannot_launch_in_railgun', 'tfg:railgun_ammo_shell') - event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_12x10') - event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_10x8') - event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_10x12') - event.add('tfg:cannot_launch_in_railgun', 'create:cardboard_package_12x12') - event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:composite_package') - event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:copper_jar_package_8x8') - event.add('tfg:cannot_launch_in_railgun', 'sns:ore_sack') - event.add('tfg:cannot_launch_in_railgun', 'sns:leather_sack') - event.add('tfg:cannot_launch_in_railgun', 'sns:burlap_sack') - event.add('tfg:cannot_launch_in_railgun', 'sns:seed_pouch') - event.add('tfg:cannot_launch_in_railgun', 'sns:straw_basket') - event.add('tfg:cannot_launch_in_railgun', 'sns:frame_pack') - event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:lunchbox') - event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:cooling_lunchbox') - event.add('tfg:cannot_launch_in_railgun', 'tfclunchbox:electric_lunchbox') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:backpack') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:copper_backpack') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:iron_backpack') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:gold_backpack') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:diamond_backpack') - event.add('tfg:cannot_launch_in_railgun', 'sophisticatedbackpacks:netherite_backpack') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:wood_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:bronze_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:black_bronze_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:bismuth_bronze_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:steel_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:aluminium_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:stainless_steel_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:titanium_crate') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:tungsten_steel_crate') - event.add('tfg:cannot_launch_in_railgun', '#create:toolboxes') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:ulv_super_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:lv_super_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:mv_super_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:hv_super_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:ev_super_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:iv_quantum_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:luv_quantum_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:zpm_quantum_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:uv_quantum_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:uhv_quantum_chest') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:ulv_super_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:lv_super_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:mv_super_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:hv_super_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:ev_super_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:iv_quantum_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:luv_quantum_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:zpm_quantum_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:uv_quantum_tank') - event.add('tfg:cannot_launch_in_railgun', 'gtceu:uhv_quantum_tank') - //#endregion - - // #region Dirt - event.add('tfg:moon_plants', 'tfg:lunar_roots') - event.add('tfg:moon_plants', 'tfg:lunar_sprouts') - - event.add('minecraft:dirt', 'tfg:grass/mars_dirt') - event.add('minecraft:dirt', 'tfg:grass/mars_clay_dirt') - event.add('tfc:dirt', 'tfg:grass/mars_dirt') - event.add('tfc:dirt', 'tfg:grass/mars_clay_dirt') - event.add('tfc:grass', 'tfg:grass/amber_mycelium') - event.add('tfc:grass', 'tfg:grass/amber_clay_mycelium') - event.add('tfc:grass', 'tfg:grass/rusticus_mycelium') - event.add('tfc:grass', 'tfg:grass/rusticus_clay_mycelium') - event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') - event.add('tfc:grass', 'tfg:grass/sangnum_clay_mycelium') - event.add('tfc:farmland', 'tfg:grass/mars_farmland') - event.add('tfc:paths', 'tfg:grass/mars_path') - event.add('tfc:kaolin_clay', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfc:kaolin_clay', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfc:kaolin_clay', 'tfg:grass/sangnum_kaolin_mycelium') - // #endregion - - //Mars animal region - event.add('tfg:martian_eggs', 'tfg:sniffer_egg') - event.add('tfg:martian_eggs', 'tfg:wraptor_egg') - event.add('forge:eggs', '#tfg:martian_eggs') - event.add('firmalife:foods/raw_eggs', '#tfg:martian_eggs') - - event.add('tfg:martian_animal_foods', 'betterend:amber_root_product') - event.add('tfg:martian_animal_foods', 'betterend:blossom_berry_product') - event.add('tfg:martian_animal_foods', 'betterend:chorus_mushroom_product') - event.add('tfg:martian_animal_foods', 'betterend:shadow_berry_product') - event.add('tfg:martian_animal_foods', 'betterend:bolux_mushroom_product') - event.add('tfg:martian_animal_foods', 'betterend:cave_pumpkin_chunks') - - event.add('tfg:glacian_ram_food', '#tfg:martian_animal_foods') - event.add('tfg:sniffer_food', '#tfg:martian_animal_foods') - event.add('tfg:wraptor_food', '#tfg:martian_animal_foods') - - event.add('tfg:mineral_rich_wool', 'tfg:wraptor_wool') - event.add('tfg:mineral_rich_wool', 'tfg:sniffer_wool') - //#endregion + // Steam Bloomery + event.add("tfg:steam_bloomery_basic_fuels", "minecraft:coal"); + event.add("tfg:steam_bloomery_basic_fuels", "minecraft:charcoal"); + event.add("tfg:steam_bloomery_basic_fuels", "gtceu:rich_raw_coal"); + event.add("tfg:steam_bloomery_basic_fuels", "gtceu:raw_coal"); + event.add("tfg:steam_bloomery_basic_fuels", "gtceu:poor_raw_coal"); + event.add("tfg:steam_bloomery_basic_fuels", "gtceu:coal_dust"); + event.add("tfg:steam_bloomery_basic_fuels", "gtceu:charcoal_dust"); + //#region holder materials event.remove('forge:dusts', 'tfg:nitrocellulose') event.remove('forge:dusts/nitrocellulose', 'tfg:nitrocellulose') @@ -637,151 +91,19 @@ const registerTFGItemTags = (event) => { event.remove('forge:nuggets', 'tfg:polycaprolactam_string') event.remove('forge:nuggets/tfg_polycaprolactam', 'tfg:polycaprolactam_string') - + //#endregion } //#region Blocks const registerTFGBlockTags = (event) => { - event.add('minecraft:mineable/shovel', 'tfg:ash_pile') - //crop stuff - event.add('tfc:crops', 'tfg:rapeseed') - event.add('tfc:mineable_with_sharp_tool', 'tfg:rapeseed') - - event.add('tfc:crops', 'tfg:sunflower') - event.add('tfc:mineable_with_sharp_tool', 'tfg:sunflower') - - event.add('tfc:crops', 'tfg:flax') - event.add('tfc:mineable_with_sharp_tool', 'tfg:flax') - - // Spice unmovable - - event.add('buildinggadgets2:deny', 'tfg:spice') - event.add('ae2:blacklisted/spatial', 'tfg:spice') - - event.add('buildinggadgets2:deny', 'tfg:geyser_source') - event.add('ae2:blacklisted/spatial', 'tfg:geyser_source') - - event.add('buildinggadgets2:deny', 'tfg:geyser_source_small') - event.add('ae2:blacklisted/spatial', 'tfg:geyser_source_small') - - // Spice unmovable - - event.add('buildinggadgets2:deny', 'tfg:spice') - event.add('ae2:blacklisted/spatial', 'tfg:spice') - - event.add('buildinggadgets2:deny', 'tfg:geyser_source') - event.add('ae2:blacklisted/spatial', 'tfg:geyser_source') - - event.add('buildinggadgets2:deny', 'tfg:geyser_source_small') - event.add('ae2:blacklisted/spatial', 'tfg:geyser_source_small') - - //#endregion - - // #region Nether blocks - event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate') - event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_deepslate') - event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_deepslate') - event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_deepslate') - event.add('tfc:grass_plantable_on', 'tfg:rock/hardened_deepslate') - event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_deepslate') - event.add('tfc:rock/hardened', 'tfg:rock/hardened_deepslate') - - event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_blackstone') - event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_blackstone') - event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_blackstone') - event.add('beneath:nether_bush_plantable_on', 'tfg:rock/hardened_blackstone') - event.add('tfc:creeping_plantable_on', 'tfg:rock/hardened_blackstone') - event.add('tfc:rock/hardened', 'tfg:rock/hardened_blackstone') - - event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_dripstone') - event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_dripstone') - event.add('tfc:rock/hardened', 'tfg:rock/hardened_dripstone') - // #endregion - - // #region Mars blocks - event.add('minecraft:dirt', 'tfg:grass/mars_dirt') - event.add('minecraft:dirt', 'tfg:grass/mars_clay_dirt') - event.add('minecraft:dirt', 'tfg:grass/amber_mycelium') - event.add('minecraft:dirt', 'tfg:grass/rusticus_mycelium') - event.add('minecraft:dirt', 'tfg:grass/sangnum_mycelium') - event.add('minecraft:dirt', 'tfg:grass/amber_clay_mycelium') - event.add('minecraft:dirt', 'tfg:grass/rusticus_clay_mycelium') - event.add('minecraft:dirt', 'tfg:grass/sangnum_clay_mycelium') - event.add('minecraft:dirt', 'tfg:grass/amber_kaolin_mycelium') - event.add('minecraft:dirt', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('minecraft:dirt', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('tfc:dirt', 'tfg:grass/mars_dirt') - event.add('tfc:dirt', 'tfg:grass/mars_clay_dirt') - event.add('tfc:farmland', 'tfg:grass/mars_farmland') - event.add('tfc:paths', 'tfg:grass/mars_path') - event.add('tfc:grass', 'tfg:grass/amber_mycelium') - event.add('tfc:grass', 'tfg:grass/rusticus_mycelium') - event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') - event.add('tfc:grass', 'tfg:grass/amber_clay_mycelium') - event.add('tfc:grass', 'tfg:grass/rusticus_clay_mycelium') - event.add('tfc:grass', 'tfg:grass/sangnum_clay_mycelium') - event.add('tfc:grass', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfc:grass', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfc:grass', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('tfc:kaolin_clay', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfc:kaolin_clay', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfc:kaolin_clay', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_clay_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_clay_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_clay_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_farmland') - event.add('tfg:do_not_destroy_in_space', 'tfg:grass/mars_path') - event.add('tfc:can_landslide', 'tfg:grass/mars_dirt') - event.add('tfc:can_landslide', 'tfg:grass/mars_clay_dirt') - event.add('tfc:can_landslide', 'tfg:grass/mars_farmland') - event.add('tfc:can_landslide', 'tfg:grass/mars_path') - event.add('tfc:can_landslide', 'tfg:grass/amber_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/rusticus_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/sangnum_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/amber_clay_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/rusticus_clay_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/sangnum_clay_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/amber_kaolin_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('tfc:can_landslide', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/mars_dirt') - event.add('minecraft:mineable/shovel', 'tfg:grass/mars_clay_dirt') - event.add('minecraft:mineable/shovel', 'tfg:grass/mars_path') - event.add('minecraft:mineable/shovel', 'tfg:grass/mars_farmland') - event.add('minecraft:mineable/shovel', 'tfg:grass/amber_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/amber_clay_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/amber_kaolin_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_clay_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_kaolin_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_clay_mycelium') - event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_kaolin_mycelium') - event.add('tfc:bush_plantable_on', 'tfg:grass/mars_farmland') - event.add('tfc:grass_plantable_on', 'tfg:grass/mars_farmland') - event.add('tfc:creeping_plantable_on', 'tfg:grass/mars_farmland') - - event.add('minecraft:mushroom_grow_block', '#tfc:dirt') - event.add('minecraft:mushroom_grow_block', '#tfc:grass') - event.add('minecraft:mushroom_grow_block', '#forge:sand') - event.add('minecraft:mushroom_grow_block', '#forge:gravel') - // #endregion - - event.add('tfg:harvester_harvestable', '#tfc:fruit_tree_leaves') - event.add('tfg:harvester_harvestable', '#tfc:berry_bushes') - event.add('tfg:harvester_harvestable', '#tfc:any_spreading_bush') - event.add('tfg:harvester_harvestable', '#firmalife:grape_strings') - event.add('tfg:harvester_harvestable', '#firmalife:grape_trellis_posts_plant') - //added for QOL but doesnt harvest anything - event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_red') - event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_white') + registerTFGPrimitiveBlockTags(event) + registerTFGFoodBlockTags(event) + registerTFGGeneralWorldgenBlockTags(event) + registerTFGBeneathBlockTags(event) + registerTFGMoonBlockTags(event) + registerTFGMarsBlockTags(event) + registerTFGVenusBlockTags(event) event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_large') event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_small') @@ -794,47 +116,12 @@ const registerTFGBlockTags = (event) => { event.add('forge:mineable/wrench', 'tfg:reflector') event.add('forge:mineable/wrench', 'tfg:machine_casing_aluminium_plated_steel') - event.add('tfg:decorative_plant_attachable', '#minecraft:logs') - event.add('tfg:decorative_plant_attachable', 'minecraft:mushroom_stem') - event.add('tfg:decorative_plant_attachable', 'species:alphacene_mushroom_block') - event.add('tfg:decorative_plant_attachable', 'species:alphacene_moss_block') - event.add('tfg:decorative_plant_attachable', 'ad_astra:aeronos_cap') - event.add('tfg:decorative_plant_attachable', 'ad_astra:strophar_cap') - event.add('tfg:decorative_plant_attachable', 'tfg:glacian_leaves') - event.add('tfg:decorative_plant_attachable', 'minecraft:nether_wart_block') - event.add('tfg:decorative_plant_attachable', 'minecraft:warped_wart_block') - event.add('tfg:decorative_plant_attachable', 'betterend:cave_bush') - event.add('tfg:decorative_plant_attachable', 'betterend:lucernia_leaves') - event.add('minecraft:mineable/pickaxe', 'tfg:mars_ice') event.add('minecraft:mineable/pickaxe', 'tfg:dry_ice') event.add('tfcambiental:cold_stuff', 'tfg:mars_ice') event.add('tfcambiental:cold_stuff', 'tfg:dry_ice') event.add('minecraft:ice', 'tfg:mars_ice') event.add('minecraft:ice', 'tfg:dry_ice') - - event.add('minecraft:mineable/shovel', 'tfg:ash_pile') - event.add('minecraft:mineable/shovel', 'tfg:pile/black_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/white_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/brown_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/red_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/yellow_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/pink_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/green_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/moon_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand') - event.add('minecraft:mineable/shovel', 'tfg:pile/mars_sand_covering') - event.add('minecraft:mineable/shovel', 'tfg:pile/venus_sand_covering') - event.add('minecraft:mineable/shovel', 'tfg:pile/hematitic_sand_covering') - - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/blue') - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/green') - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/brown') - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/orange') - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/white') - event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/yellow') } //#endregion @@ -878,91 +165,37 @@ const registerTFGFluidTags = (event) => { const registerTFGBiomeTags = (event) => { - - // #region TFG Structure Biomes - - event.add('tfg:has_structure/plains_temperate_0', 'tfc:plains') - event.add('tfg:has_structure/plains_temperate_0', 'tfc:plateau') - event.add('tfg:has_structure/plains_temperate_0', 'tfc:highlands') - - event.add('tfg:has_structure/aqueduct', 'tfc:plains') - event.add('tfg:has_structure/aqueduct', 'tfc:highlands') - event.add('tfg:has_structure/aqueduct', 'tfc:lowlands') - event.add('tfg:has_structure/aqueduct', 'tfc:badlands') - - event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_oceanic_mountains') - event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_mountains') - - event.add('tfg:has_structure/illages', 'tfc:plains') - event.add('tfg:has_structure/illages', 'tfc:hills') - event.add('tfg:has_structure/illages', 'tfc:rolling_hills') - event.add('tfg:has_structure/illages', 'tfc:badlands') - event.add('tfg:has_structure/illages', 'tfc:plateau') - event.add('tfg:has_structure/illages', 'tfc:old_mountains') - - event.add('tfg:never_has_structure/illages', '#tfc:is_lake') - event.add('tfg:never_has_structure/illages', '#tfc:is_ocean') - event.add('tfg:never_has_structure/illages', '#tfc:is_river') - - // #endregion - - // #region Nether biomes - event.add('tfg:nether_biomes', 'tfg:nether/lush_hollow') - event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/lush_hollow') - event.add('minecraft:spawns_cold_variant_frogs', 'tfg:nether/lush_hollow') - - event.add('tfg:nether_biomes', 'tfg:nether/decaying_caverns') - event.add('minecraft:allows_surface_slime_spawns', 'tfg:nether/decaying_caverns') - event.add('minecraft:spawns_warm_variant_frogs', 'tfg:nether/decaying_caverns') - event.add('minecraft:has_closer_water_fog', 'tfg:nether/decaying_caverns') - - event.add('tfg:nether_biomes', 'tfg:nether/basalt_deltas') - event.add('tfg:nether_biomes', 'tfg:nether/ash_forest') - event.add('tfg:nether_biomes', 'tfg:nether/lava_floes') - event.add('tfg:nether_biomes', 'tfg:nether/webbed_lair') - event.add('tfg:nether_biomes', 'tfg:nether/gneiss_caves') - event.add('tfg:nether_biomes', 'tfg:nether/diorite_caves') - event.add('tfg:nether_biomes', 'tfg:nether/gabbro_caves') - event.add('tfg:nether_biomes', 'tfg:nether/granite_caves') - event.add('tfg:nether_biomes', 'tfg:nether/schist_caves') - - event.add('minecraft:has_structure/nether_fossil', '#tfg:nether_biomes') - event.add('minecraft:has_structure/bastion_remnant', '#tfg:nether_biomes') - // #endregion + registerTFGOverworldBiomeTags(event) + registerTFGBeneathBiomeTags(event) + registerTFGMoonBiomeTags(event) + registerTFGMarsBiomeTags(event) + registerTFGVenusBiomeTags(event) } function registerTFGConfiguredFeatures(event) { registerTFGForestConfiguredFeatures(event) } -// Other space decoration is in ad_astra/tags.js const registerTFGPlacedFeatures = (event) => { - - // #region Earth biomes - - event.add('tfc:in_biome/surface_decoration/ocean', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/ocean_reef', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/deep_ocean', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/deep_ocean_trench', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/shore', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/tidal_flats', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/lowlands', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/salt_marsh', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/plains', 'tfg:earth/rose_quartz/rose_quartz') - event.add('tfc:in_biome/surface_decoration/lake', 'tfg:earth/rose_quartz/rose_quartz') - - // #endregion - registerTFGOreVeinFeatures(event); - // #region Nether - - event.add('tfg:nether_veins', 'beneath:vein/crackrack_pipe') - - event.add('tfg:nether_underground_decoration', 'minecraft:spring_open') - event.add('tfg:nether_underground_decoration', 'minecraft:spring_closed') - event.add('tfg:nether_underground_decoration', 'tfg:nether/terrain/magma_blob') - - // #endregion - + registerTFGOverworldPlacedFeatures(event); + registerTFGBeneathPlacedFeatures(event); + registerTFGMoonPlacedFeatures(event); + registerTFGMarsPlacedFeatures(event); + registerTFGVenusPlacedFeatures(event); + registerTFGEuropaPlacedFeatures(event); } + +const registerTFGEntityTypeTags = (event) => { + + registerTFGMoonEntityTypeTags(event) + registerTFGMarsEntityTypeTags(event) + registerTFGVenusEntityTypeTags(event) + registerTFGEuropaEntityTypeTags(event) + + event.add('ad_astra:can_survive_in_space', 'railways:conductor') + event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:pet_enderman') + event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:axolotl_pet_enderman') + event.add('ad_astra:can_survive_in_space', 'endermanoverhaul:hammerhead_pet_enderman') +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/venus/data.venus.js b/kubejs/server_scripts/tfg/venus/data.venus.js new file mode 100644 index 000000000..7dc7d555d --- /dev/null +++ b/kubejs/server_scripts/tfg/venus/data.venus.js @@ -0,0 +1,26 @@ +"use strict"; + +function registerTFGVenusBedrockFluidVeins(event) { + + event.add('tfg:venus_sulfuric_acid', vein => { + vein.dimensions('ad_astra:venus') + vein.fluid(() => Fluid.of('gtceu:sulfuric_acid').fluid) + vein.weight(50) + vein.minimumYield(100) + vein.maximumYield(200) + vein.depletionAmount(1) + vein.depletionChance(50) + vein.depletedYield(20) + }) + + event.add('tfg:venus_lava', vein => { + vein.dimensions('ad_astra:venus') + vein.fluid(() => Fluid.of('minecraft:lava').fluid) + vein.weight(50) + vein.minimumYield(200) + vein.maximumYield(400) + vein.depletionAmount(1) + vein.depletionChance(1) + vein.depletedYield(50) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/venus/tags.venus.js b/kubejs/server_scripts/tfg/venus/tags.venus.js new file mode 100644 index 000000000..493030147 --- /dev/null +++ b/kubejs/server_scripts/tfg/venus/tags.venus.js @@ -0,0 +1,117 @@ +"use strict"; + +function registerTFGVenusItemTags(event) { + +} + + +function registerTFGVenusBlockTags(event) { + + event.add('buildinggadgets2:deny', 'tfg:geyser_source') + event.add('ae2:blacklisted/spatial', 'tfg:geyser_source') + + event.add('buildinggadgets2:deny', 'tfg:geyser_source_small') + event.add('ae2:blacklisted/spatial', 'tfg:geyser_source_small') + + event.add('ad_astra:venus_stone_replaceables', 'ad_astra:venus_stone') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_venus_stone') + event.add('ad_astra:venus_stone_replaceables', 'gtceu:red_granite') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_red_granite') + event.add('ad_astra:venus_stone_replaceables', 'ad_astra:moon_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_moon_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'minecraft:deepslate') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_deepslate') + event.add('ad_astra:venus_stone_replaceables', 'minecraft:dripstone_block') + event.add('ad_astra:venus_stone_replaceables', 'tfg:rock/hardened_dripstone') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/granite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/granite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/diorite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/diorite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gabbro') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gabbro') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/basalt') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/basalt') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/rhyolite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/andesite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/dacite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/dacite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/slate') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/slate') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/schist') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/schist') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/gneiss') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/gneiss') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/phyllite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/phyllite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/raw/quartzite') + event.add('ad_astra:venus_stone_replaceables', 'tfc:rock/hardened/quartzite') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/blue') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/blue') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/green') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/green') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/brown') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/brown') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/orange') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/orange') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/white') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/white') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sand/fluorapatite/yellow') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sandstone/raw/fluorapatite/yellow') + event.add('ad_astra:venus_stone_replaceables', 'tfg:geyser_slurry') + event.add('ad_astra:venus_stone_replaceables', 'tfg:sulfur_fumes') + event.add('ad_astra:venus_stone_replaceables', 'minecraft:lava') + event.add('ad_astra:venus_stone_replaceables', 'create:scoria') + event.add('ad_astra:venus_stone_replaceables', 'create:scorchia') + event.add('ad_astra:venus_stone_replaceables', 'minecraft:tuff') + + event.add('tfc:can_carve', '#ad_astra:venus_stone_replaceables') + + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/blue') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/green') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/brown') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/orange') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/white') + event.add('tfc:can_landslide', 'tfg:sand/fluorapatite/yellow') +} + +function registerTFGVenusBiomeTags(event) { + global.VENUS_BIOMES.forEach(biome => { + event.add('tfg:venus_biomes', biome); + event.add('ad_astra:has_acid_rain', biome); + }) +} + +function registerTFGVenusEntityTypeTags(event) { + const ENTITIES = [ + 'minecraft:enderman', + "endermanoverhaul:desert_enderman", + "endermanoverhaul:savanna_enderman", + "endermanoverhaul:nether_wastes_enderman", + "ad_astra:sulfur_creeper", + 'species:cliff_hanger', + ] + + ENTITIES.forEach(entity => { + event.add('ad_astra:can_survive_extreme_heat', entity) + event.add('ad_astra:lives_without_oxygen', entity) + }) + + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:desert_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:savanna_enderman') + event.add('tfc:deals_slashing_damage', 'endermanoverhaul:nether_wastes_enderman') + event.add('tfc:deals_slashing_damage', 'species:cliff_hanger') +} + +function registerTFGVenusPlacedFeatures(event) { + + // Underground decoration + event.add("tfg:venus_underground_decoration", "tfg:glow_lichen") + event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/loose_rocks') + event.add('tfg:venus_underground_decoration', 'tfc:cave_spike') + event.add('tfg:venus_underground_decoration', 'tfc:cave_column') + event.add('tfg:venus_underground_decoration', 'tfc:large_cave_spike') + event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/noise_cave_stalagmite') + event.add('tfg:venus_underground_decoration', 'tfg:venus/underground/noise_cave_stalagtite') + + event.add("tfg:venus_top_layer_modification", "tfc:surface_loose_rocks") +} diff --git a/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js b/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js new file mode 100644 index 000000000..55ba87c95 --- /dev/null +++ b/kubejs/server_scripts/tfg/worldgen/tags.general_worldgen.js @@ -0,0 +1,212 @@ +"use strict"; + +function registerTFGGeneralWorldgenItemTags(event) { + + // Actually "layers", can't rename them without screwing with peoples' worlds + event.add('c:hidden_from_recipe_viewers', 'tfg:ash_pile') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/black_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/brown_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/green_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/pink_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/red_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/white_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/yellow_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/moon_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/venus_sand') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand') + + // Actually "piles", the kind that can hide plants inside them + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_sand_covering') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/venus_sand_covering') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/hematitic_sand_covering') + event.add('c:hidden_from_recipe_viewers', 'tfg:pile/mars_snow_covering') + + event.add('forge:cobblestone', 'ad_astra:moon_cobblestone') + event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') + event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') + event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') + event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') + + event.add('forge:smooth_stone_slab', 'ad_astra:polished_moon_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_mars_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_venus_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_mercury_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_glacio_stone_slab') + event.add('forge:smooth_stone_slab', 'ad_astra:polished_permafrost_slab') + event.add('forge:smooth_stone_slab', 'minecraft:polished_deepslate_slab') + event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_slab') + event.add('forge:smooth_stone_slab', 'minecraft:polished_blackstone_brick_slab') + + event.add('tfc:rock/smooth', 'minecraft:smooth_stone') + + event.add('tfc:rock/raw', 'minecraft:deepslate') + event.add('tfc:rock/raw', 'minecraft:blackstone') + event.add('tfc:rock/raw', 'minecraft:dripstone_block') + + event.add('minecraft:wart_blocks', 'ad_astra:aeronos_cap') + event.add('minecraft:wart_blocks', 'ad_astra:strophar_cap') + event.add('minecraft:wart_blocks', 'minecraft:mushroom_stem') + event.add('tfc:compost_greens', 'minecraft:nether_wart_block') + event.add('tfc:compost_greens', 'minecraft:warped_wart_block') +} + +function registerTFGGeneralWorldgenBlockTags(event) { + + // All new stones + global.EXTRATERRESTRIAL_RAW_ROCKS.forEach(rock => { + event.add('forge:stone', rock) + event.add('tfc:breaks_when_isolated', rock) + event.add('tfc:rock/raw', rock) + event.add('minecraft:mineable/pickaxe', rock) + event.add('tfc:can_carve', rock) + // Collapse tags also require a collapse recipe to work. + // Don't add the recipe if you don't want them to actually collapse! + event.add('tfc:can_collapse', rock) + event.add('tfc:can_trigger_collapse', rock) + event.add('tfc:can_start_collapse', rock) + event.add('tfc:powderkeg_breaking_blocks', rock) + event.add('tfc:bloomery_insulation', rock) + event.add('firmalife:oven_insulation', rock) + event.add('tfc:forge_insulation', rock) + }) + + global.EXTRATERRESTRIAL_HARDENED_ROCKS.forEach(rock => { + event.add('minecraft:mineable/pickaxe', rock) + event.add('tfc:can_collapse', rock) + event.add('tfc:can_trigger_collapse', rock) + event.add('tfc:powderkeg_breaking_blocks', rock) + event.add('tfc:bloomery_insulation', rock) + event.add('firmalife:oven_insulation', rock) + event.add('tfc:forge_insulation', rock) + event.add('tfc:can_carve', rock) + }) + + event.add('tfc:can_landslide', 'minecraft:cobbled_deepslate') + event.add('forge:cobblestone/normal', 'minecraft:cobbled_deepslate') + + event.add('tfc:breaks_when_isolated', 'minecraft:deepslate') + event.add('tfc:breaks_when_isolated', 'minecraft:blackstone') + event.add('tfc:breaks_when_isolated', 'minecraft:gilded_blackstone') + event.add('tfc:breaks_when_isolated', 'minecraft:dripstone_block') + + event.add('forge:stone', 'minecraft:blackstone') + + event.add('tfg:rock_stairs', 'minecraft:cobbled_deepslate_stairs') + event.add('tfg:rock_slabs', 'minecraft:cobbled_deepslate_slab') + event.add('tfg:rock_walls', 'minecraft:cobbled_deepslate_wall') + event.add('tfg:brick_stairs', 'minecraft:deepslate_brick_stairs') + event.add('tfg:brick_slabs', 'minecraft:deepslate_brick_slab') + event.add('tfg:brick_walls', 'minecraft:deepslate_brick_wall') + event.add('tfg:brick_stairs', 'minecraft:deepslate_tile_stairs') + event.add('tfg:brick_slabs', 'minecraft:deepslate_tile_slab') + event.add('tfg:brick_walls', 'minecraft:deepslate_tile_wall') + event.add('tfg:rock_stairs', 'minecraft:blackstone_stairs') + event.add('tfg:rock_slabs', 'minecraft:blackstone_slab') + event.add('tfg:rock_walls', 'minecraft:blackstone_wall') + event.add('tfg:brick_stairs', 'minecraft:blackstone_stairs') + event.add('tfg:brick_slabs', 'minecraft:blackstone_slab') + event.add('tfg:brick_walls', 'minecraft:blackstone_wall') + + event.add('tfc:bloomery_insulation', 'minecraft:polished_deepslate'); + event.add('tfc:forge_insulation', 'minecraft:polished_deepslate'); + event.add('tfc:bloomery_insulation', 'minecraft:polished_blackstone'); + event.add('tfc:forge_insulation', 'minecraft:polished_blackstone'); + event.add('tfc:bloomery_insulation', 'minecraft:deepslate_tiles'); + event.add('tfc:forge_insulation', 'minecraft:deepslate_tiles'); + event.add('tfc:bloomery_insulation', 'minecraft:cracked_deepslate_tiles'); + event.add('tfc:forge_insulation', 'minecraft:cracked_deepslate_tiles'); + event.add('tfc:bloomery_insulation', 'minecraft:chiseled_deepslate'); + event.add('tfc:forge_insulation', 'minecraft:chiseled_deepslate'); + event.add('tfc:bloomery_insulation', 'minecraft:chiseled_polished_blackstone'); + event.add('tfc:forge_insulation', 'minecraft:chiseled_polished_blackstone'); + event.add('tfc:bloomery_insulation', 'minecraft:gilded_blackstone'); + event.add('tfc:forge_insulation', 'minecraft:gilded_blackstone'); + event.add('tfc:bloomery_insulation', 'minecraft:basalt'); + event.add('tfc:forge_insulation', 'minecraft:basalt'); + event.add('tfc:bloomery_insulation', 'minecraft:smooth_basalt'); + event.add('tfc:forge_insulation', 'minecraft:smooth_basalt'); + + // Ores + event.add("minecraft:mineable/pickaxe", "#forge:ores"); + event.add("minecraft:needs_iron_tool", "#forge:ores"); + + event.add("tfc:can_collapse", "#forge:ores"); + event.add("tfc:can_start_collapse", "#forge:ores"); + event.add("tfc:can_trigger_collapse", "#forge:ores"); + event.add("c:hidden_from_recipe_viewers", "#forge:ores"); + + event.add("tfc:can_collapse", "#forge:raw_ore_blocks"); + event.add("tfc:can_start_collapse", "#forge:raw_ore_blocks"); + event.add("tfc:can_trigger_collapse", "#forge:raw_ore_blocks"); + event.add("c:hidden_from_recipe_viewers", "#forge:raw_ore_blocks"); + + // Let GT indicators be covered by snow + forEachMaterial((material) => { + if (material.hasProperty(PropertyKey.ORE)) { + const indicator = `gtceu:${material.getName()}_indicator`; + + event.add("tfg:dust_ore_indicators", indicator); + event.add("tfc:can_be_snow_piled", indicator); + event.add("tfc:can_be_ice_piled", indicator); + + if (material.hasProperty(PropertyKey.GEM)) { + const bud = `gtceu:${material.getName()}_bud_indicator`; + + event.add("tfg:bud_ore_indicators", bud); + event.add("tfc:can_be_snow_piled", bud); + event.add("tfc:can_be_ice_piled", bud); + + event.add("minecraft:mineable/pickaxe", bud); + } + } + }); + + // More rock tags + event.add('tfc:can_landslide', 'ad_astra:moon_sand') + event.add('tfc:can_landslide', 'ad_astra:mars_sand') + event.add('tfc:can_landslide', 'ad_astra:venus_sand') + event.add('tfc:can_landslide', 'minecraft:red_sand') + + event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone') + event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone') + event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone') + event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone') + event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone') + event.add('tfc:can_landslide', 'gtceu:red_granite_cobblestone') + + event.add('forge:cobblestone', 'ad_astra:moon_cobblestone') + event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') + event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') + event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') + event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') + + event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone_slab') + event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone_slab') + event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone_slab') + event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone_slab') + event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone_slab') + + event.add('tfc:can_landslide', 'ad_astra:moon_cobblestone_stairs') + event.add('tfc:can_landslide', 'ad_astra:mars_cobblestone_stairs') + event.add('tfc:can_landslide', 'ad_astra:venus_cobblestone_stairs') + event.add('tfc:can_landslide', 'ad_astra:mercury_cobblestone_stairs') + event.add('tfc:can_landslide', 'ad_astra:glacio_cobblestone_stairs') + + event.add('tfg:rock_stairs', 'ad_astra:moon_stone_stairs') + event.add('tfg:rock_stairs', 'ad_astra:mars_stone_stairs') + event.add('tfg:rock_stairs', 'ad_astra:venus_stone_stairs') + event.add('tfg:rock_stairs', 'ad_astra:mercury_stone_stairs') + event.add('tfg:rock_stairs', 'ad_astra:glacio_stone_stairs') + + event.add('tfg:rock_slabs', 'ad_astra:moon_stone_slab') + event.add('tfg:rock_slabs', 'ad_astra:mars_stone_slab') + event.add('tfg:rock_slabs', 'ad_astra:venus_stone_slab') + event.add('tfg:rock_slabs', 'ad_astra:mercury_stone_slab') + event.add('tfg:rock_slabs', 'ad_astra:glacio_stone_slab') + + event.add('minecraft:mushroom_grow_block', '#tfc:dirt') + event.add('minecraft:mushroom_grow_block', '#tfc:grass') + event.add('minecraft:mushroom_grow_block', '#forge:sand') + event.add('minecraft:mushroom_grow_block', '#forge:gravel') +} diff --git a/kubejs/server_scripts/tfg/worldgen/tags.overworld.js b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js new file mode 100644 index 000000000..7bd81d8d9 --- /dev/null +++ b/kubejs/server_scripts/tfg/worldgen/tags.overworld.js @@ -0,0 +1,76 @@ +"use strict"; + +function registerTFGOverworldBiomeTags(event) { + + // Structures + event.add('tfg:has_structure/plains_temperate_0', 'tfc:plains') + event.add('tfg:has_structure/plains_temperate_0', 'tfc:plateau') + event.add('tfg:has_structure/plains_temperate_0', 'tfc:highlands') + + event.add('tfg:has_structure/aqueduct', 'tfc:plains') + event.add('tfg:has_structure/aqueduct', 'tfc:highlands') + event.add('tfg:has_structure/aqueduct', 'tfc:lowlands') + event.add('tfg:has_structure/aqueduct', 'tfc:badlands') + + event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_oceanic_mountains') + event.add('tfg:has_structure/ocean_moai_0', 'tfc:volcanic_mountains') + + event.add('tfg:has_structure/illages', 'tfc:plains') + event.add('tfg:has_structure/illages', 'tfc:hills') + event.add('tfg:has_structure/illages', 'tfc:rolling_hills') + event.add('tfg:has_structure/illages', 'tfc:badlands') + event.add('tfg:has_structure/illages', 'tfc:plateau') + event.add('tfg:has_structure/illages', 'tfc:old_mountains') + + event.add('tfg:never_has_structure/illages', '#tfc:is_lake') + event.add('tfg:never_has_structure/illages', '#tfc:is_ocean') + event.add('tfg:never_has_structure/illages', '#tfc:is_river') + + // Kaolin + event.add("tfc:kaolin_clay_spawns_in", "tfc:rolling_hills"); + + global.TFC_BIOMES.forEach(biome => { + event.add('tfg:overworld_biomes', biome); + }) +} + +function registerTFGOverworldPlacedFeatures(event) { + + // Rose quartz + event.add('tfc:in_biome/surface_decoration/ocean', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/ocean_reef', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/deep_ocean', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/deep_ocean_trench', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/shore', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/tidal_flats', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/lowlands', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/salt_marsh', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/plains', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/lake', 'tfg:earth/rose_quartz/rose_quartz') + + // Add back the non-ore ones + event.add("tfc:in_biome/veins", "tfc:vein/gravel"); + event.add("tfc:in_biome/veins", "tfc:vein/kaolin_disc"); + event.add("tfc:in_biome/veins", "tfc:vein/granite_dike"); + event.add("tfc:in_biome/veins", "tfc:vein/diorite_dike"); + event.add("tfc:in_biome/veins", "tfc:vein/gabbro_dike"); + + // Geodes + event.add("tfc:in_biome/veins", "tfg:earth/geode/amethyst"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/barite"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/calcite"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/gypsum"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/opal"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/pyrite"); + event.add("tfc:in_biome/veins", "tfg:earth/geode/quartzite"); + + // Crops + event.add("tfc:feature/crops", "tfg:earth/sunflower_patch"); + event.add("tfc:feature/crops", "tfg:earth/rapeseed_patch"); + event.add("tfc:feature/crops", "tfg:earth/flax_patch"); + + // Other decoration + event.add("tfc:in_biome/underground_decoration", "tfg:glow_lichen"); + event.add("tfc:in_biome/underground_decoration", "tfg:earth/sulfur_patch"); + event.add("tfc:in_biome/underground_decoration", "tfg:earth/oil_spout"); +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 3695376f9..01e7e1586 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -28,13 +28,17 @@ global.AIRCRAFT_UPGRADES = [ * @type {string[]} - Item IDs */ global.EXTRATERRESTRIAL_RAW_ROCKS = [ + 'minecraft:deepslate', + 'minecraft:blackstone', + 'minecraft:dripstone_block', 'ad_astra:moon_stone', 'ad_astra:moon_deepslate', 'ad_astra:mars_stone', 'ad_astra:venus_stone', 'ad_astra:mercury_stone', 'ad_astra:glacio_stone', - 'gtceu:red_granite' + 'gtceu:red_granite', + 'beneath:crackrack' ] /** @@ -47,7 +51,11 @@ global.EXTRATERRESTRIAL_HARDENED_ROCKS = [ 'tfg:rock/hardened_venus_stone', 'tfg:rock/hardened_mercury_stone', 'tfg:rock/hardened_glacio_stone', - 'tfg:rock/hardened_red_granite' + 'tfg:rock/hardened_red_granite', + 'tfg:rock/hardened_deepslate', + 'tfg:rock/hardened_blackstone', + 'tfg:rock/hardened_dripstone', + 'tfg:rock/hardened_crackrack' ] /**