big tag/data refactor

This commit is contained in:
Pyritie 2025-12-03 00:32:14 +00:00
parent 5b612d88fd
commit cc47fe55ce
49 changed files with 2601 additions and 2471 deletions

View file

@ -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
}

View file

@ -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

View file

@ -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')
}

View file

@ -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')
}

View file

@ -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")

View file

@ -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/[^*]+/[^*]+/")
}

View file

@ -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)
}

View file

@ -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 */

View file

@ -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);

View file

@ -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')
}

View file

@ -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
)
}
}

View file

@ -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");
}
}

View file

@ -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')
}

View file

@ -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')
}

View file

@ -10,6 +10,7 @@ function registerTFCDataForTFG(event) {
registerTFGCropRanges(event);
registerTFGFLPlanters(event);
registerTFGFauna(event);
registerTFGEquipmentData(event);
}
//#region Heat Data

View file

@ -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
}

View file

@ -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
}

View file

@ -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')
}

View file

@ -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")
}

View file

@ -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')
}

View file

@ -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)

View file

@ -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)

View file

@ -1,7 +1,7 @@
// priority: 0
"use strict";
function registerFacadeWhitelistTags(event) {
function registerTFGFacadeWhitelistItemTags(event) {
const facade_materials = [
//tags

View file

@ -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)
})
}

View file

@ -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))

View file

@ -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')
}

View file

@ -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")
}

View file

@ -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)
})
}

View file

@ -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')
});
}

View file

@ -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')
}

View file

@ -1,6 +1,6 @@
// priority: 0
function registerTFGItemStoneTags(event) {
function registerTFGStoneItemTags(event) {
event.add('tfc:fluxstone', 'tfg:loose/dripstone')

View file

@ -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')
}

View file

@ -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])
}

View file

@ -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))

View file

@ -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')
}

View file

@ -43,6 +43,7 @@ const registerTFGRecipes = (event) => {
registerTFGKnappingRecipes(event)
registerTFGLeatherRecipes(event)
registerTFGClayRecipes(event)
registerTFGEquipmentRecipes(event)
registerTFGCasingRecipes(event)
registerTFGEnderPearlRecipes(event)

View file

@ -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')
}

View file

@ -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')
}

View file

@ -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)
}
}

View file

@ -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')
}

View file

@ -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)
})
}

View file

@ -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")
}

View file

@ -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')
}

View file

@ -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");
}

View file

@ -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'
]
/**