From 614e540081dfe936a40aa8b01bde94aaccde62a5 Mon Sep 17 00:00:00 2001 From: Deximus-Maximus <dexman545@users.noreply.github.com> Date: Sun, 17 Apr 2022 19:23:48 +0100 Subject: [PATCH] Add fabric-convention-tags-v1 (#2063) * Add framework for common-tags-v1 * Add javadoc to fabric tool tags * Fix wrong package arrangement * Add some more tags * Add more biome tags Thanks to TelepathicGrunt for the suggestions * Update fabric-common-tags-api-v1/src/main/java/net/fabricmc/fabric/api/tags/v1/CommonEnchantmentTags.java Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> * Update fabric-common-tags-api-v1/src/main/java/net/fabricmc/fabric/api/tags/v1/CommonEnchantmentTags.java Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> * Clarify enchantment tags * Add no-shulker tag * Add minecart tag * Begin work on datagen and populating tags * Add bucket tags * First pass at populating biome tags * Add boat tag * Fix missing inclusion of f:shears into c:shears * Hide fabric tool tags in datagen * Add weapon damage enhancement tag * Change impl package name to be inline with rest of fapi * Rename enchantment tags * Some cleanup * Populate blocktag datagen Remove crops tag * Add javadoc links to vanilla counterparts * Move datagen to its own sourceset * Fix package names for checkstyle * Populate more entries * Remove exclusion tag * Add license headers Fix checkstyle * Add missing nether quarts to ores tag * Use `worldgen/biome` instead of `biomes` for biome tags Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> * Manually include all biomes for overworld * Remove ancient debris from NetheriteOres * Add and populate glass tags * Add and populate movement enhancement * Break up item tags * Add armour damage reduction tag * Add missing ore and related tags * Fix quartz tags * Add floral tag * Add golden carrot * Correct some biome tag issues * Separate SNOWY_PLAINS and PLAINS * Add SNOWY tag and remove snowy biomes from ICY * Correct enchantment tag Remove silk touch tag * Fix more biome issues * Add deep and shllow ocean tags * Add no-move tag * Remove netherite ores * Add shulker tags * Add raw ore * Add dye tags * Fif dye tags * Fix typo * Document some biome tags where the naming may not be clear * Remove tag mirroring for blocks and items * Rename module Remove unused methods * Rename impl package * Rename packages and module * Rename folder * Rename api classes * Add generateResources task to cover all resource generation tasks. * Add generated tags to repo * Fix ocean tag excluding shallow ocean * Iterate registry to generate foods tag * Remove cache, add to gitignore * Rename generated folder Co-authored-by: haykam821 <24855774+haykam821@users.noreply.github.com> Co-authored-by: modmuss50 <modmuss50@gmail.com> --- build.gradle | 5 + fabric-convention-tags-v1/.gitignore | 1 + fabric-convention-tags-v1/build.gradle | 44 +++ .../convention/datagen/DatagenEntrypoint.java | 38 +++ .../datagen/generators/BiomeTagGenerator.java | 241 +++++++++++++ .../datagen/generators/BlockTagGenerator.java | 115 +++++++ .../generators/EnchantmentTagGenerator.java | 55 +++ .../generators/EntityTypeTagGenerator.java | 47 +++ .../datagen/generators/FluidTagGenerator.java | 37 ++ .../datagen/generators/ItemTagGenerator.java | 318 ++++++++++++++++++ .../src/datagen/resources/fabric.mod.json | 31 ++ .../data/c/tags/blocks/bookshelves.json | 6 + .../resources/data/c/tags/blocks/chests.json | 8 + .../data/c/tags/blocks/glass_blocks.json | 23 ++ .../data/c/tags/blocks/glass_panes.json | 22 ++ .../resources/data/c/tags/blocks/ores.json | 41 +++ .../data/c/tags/blocks/quartz_ores.json | 6 + .../data/c/tags/blocks/shulker_boxes.json | 22 ++ .../entity_defense_enhancement.json | 11 + .../entity_movement_enhancement.json | 7 + .../data/c/tags/enchantment/fortune.json | 6 + .../data/c/tags/enchantment/looting.json | 6 + .../weapon_damage_enhancement.json | 10 + .../data/c/tags/entity_types/boats.json | 7 + .../data/c/tags/entity_types/bosses.json | 7 + .../data/c/tags/entity_types/minecarts.json | 12 + .../resources/data/c/tags/fluids/lava.json | 9 + .../resources/data/c/tags/fluids/water.json | 9 + .../resources/data/c/tags/items/axes.json | 15 + .../data/c/tags/items/black_dyes.json | 6 + .../data/c/tags/items/blue_dyes.json | 6 + .../resources/data/c/tags/items/bows.json | 7 + .../data/c/tags/items/brown_dyes.json | 6 + .../data/c/tags/items/bucket/empty.json | 6 + .../data/c/tags/items/bucket/lava.json | 6 + .../data/c/tags/items/bucket/milk.json | 6 + .../data/c/tags/items/bucket/water.json | 12 + .../resources/data/c/tags/items/coal.json | 9 + .../data/c/tags/items/copper_ingots.json | 6 + .../data/c/tags/items/cyan_dyes.json | 6 + .../resources/data/c/tags/items/diamonds.json | 6 + .../resources/data/c/tags/items/dyes.json | 69 ++++ .../resources/data/c/tags/items/emeralds.json | 6 + .../resources/data/c/tags/items/foods.json | 45 +++ .../data/c/tags/items/glass_blocks.json | 23 ++ .../data/c/tags/items/glass_panes.json | 22 ++ .../data/c/tags/items/gold_ingots.json | 6 + .../data/c/tags/items/gray_dyes.json | 6 + .../data/c/tags/items/green_dyes.json | 6 + .../resources/data/c/tags/items/hoes.json | 15 + .../data/c/tags/items/iron_ingots.json | 6 + .../resources/data/c/tags/items/lapis.json | 6 + .../data/c/tags/items/light_blue_dyes.json | 6 + .../data/c/tags/items/light_gray_dyes.json | 6 + .../data/c/tags/items/lime_dyes.json | 6 + .../data/c/tags/items/magenta_dyes.json | 6 + .../data/c/tags/items/netherite_ingots.json | 6 + .../data/c/tags/items/orange_dyes.json | 6 + .../resources/data/c/tags/items/ores.json | 41 +++ .../resources/data/c/tags/items/pickaxes.json | 15 + .../data/c/tags/items/pink_dyes.json | 6 + .../resources/data/c/tags/items/potions.json | 8 + .../data/c/tags/items/purple_dyes.json | 6 + .../resources/data/c/tags/items/quartz.json | 6 + .../data/c/tags/items/quartz_ores.json | 6 + .../data/c/tags/items/raw_copper_blocks.json | 6 + .../data/c/tags/items/raw_copper_ores.json | 6 + .../data/c/tags/items/raw_gold_blocks.json | 6 + .../data/c/tags/items/raw_gold_ores.json | 6 + .../data/c/tags/items/raw_iron_blocks.json | 6 + .../data/c/tags/items/raw_iron_ores.json | 6 + .../resources/data/c/tags/items/red_dyes.json | 6 + .../data/c/tags/items/redstone_dusts.json | 6 + .../resources/data/c/tags/items/shears.json | 10 + .../resources/data/c/tags/items/shovels.json | 15 + .../data/c/tags/items/shulker_boxes.json | 22 ++ .../resources/data/c/tags/items/spears.json | 6 + .../resources/data/c/tags/items/swords.json | 15 + .../data/c/tags/items/white_dyes.json | 6 + .../data/c/tags/items/yellow_dyes.json | 6 + .../data/c/tags/worldgen/biome/aquatic.json | 13 + .../data/c/tags/worldgen/biome/badlands.json | 13 + .../data/c/tags/worldgen/biome/beach.json | 10 + .../data/c/tags/worldgen/biome/caves.json | 7 + .../c/tags/worldgen/biome/climate_cold.json | 11 + .../c/tags/worldgen/biome/climate_dry.json | 21 ++ .../c/tags/worldgen/biome/climate_hot.json | 30 ++ .../worldgen/biome/climate_temperate.json | 15 + .../c/tags/worldgen/biome/climate_wet.json | 18 + .../data/c/tags/worldgen/biome/dead.json | 4 + .../c/tags/worldgen/biome/deep_ocean.json | 9 + .../data/c/tags/worldgen/biome/desert.json | 6 + .../c/tags/worldgen/biome/end_islands.json | 4 + .../c/tags/worldgen/biome/extreme_hills.json | 7 + .../data/c/tags/worldgen/biome/floral.json | 7 + .../c/tags/worldgen/biome/flower_forests.json | 6 + .../data/c/tags/worldgen/biome/forest.json | 9 + .../data/c/tags/worldgen/biome/icy.json | 10 + .../data/c/tags/worldgen/biome/in_nether.json | 14 + .../c/tags/worldgen/biome/in_overworld.json | 55 +++ .../c/tags/worldgen/biome/in_the_end.json | 10 + .../data/c/tags/worldgen/biome/jungle.json | 9 + .../data/c/tags/worldgen/biome/mesa.json | 8 + .../data/c/tags/worldgen/biome/mountain.json | 9 + .../c/tags/worldgen/biome/mountain_peak.json | 8 + .../c/tags/worldgen/biome/mountain_slope.json | 6 + .../data/c/tags/worldgen/biome/mushroom.json | 6 + .../c/tags/worldgen/biome/nether_forests.json | 7 + .../data/c/tags/worldgen/biome/ocean.json | 17 + .../data/c/tags/worldgen/biome/plains.json | 7 + .../data/c/tags/worldgen/biome/river.json | 9 + .../data/c/tags/worldgen/biome/savanna.json | 8 + .../c/tags/worldgen/biome/shallow_ocean.json | 10 + .../data/c/tags/worldgen/biome/snowy.json | 9 + .../c/tags/worldgen/biome/snowy_plains.json | 6 + .../c/tags/worldgen/biome/stony_shores.json | 6 + .../data/c/tags/worldgen/biome/swamp.json | 6 + .../data/c/tags/worldgen/biome/taiga.json | 9 + .../tags/worldgen/biome/tree_coniferous.json | 10 + .../c/tags/worldgen/biome/tree_deciduous.json | 11 + .../c/tags/worldgen/biome/tree_jungle.json | 9 + .../c/tags/worldgen/biome/tree_savanna.json | 9 + .../c/tags/worldgen/biome/underground.json | 9 + .../tags/worldgen/biome/vegetation_dense.json | 10 + .../worldgen/biome/vegetation_sparse.json | 22 ++ .../data/c/tags/worldgen/biome/void.json | 6 + .../data/c/tags/worldgen/biome/wasteland.json | 4 + .../convention/v1/ConventionalBiomeTags.java | 131 ++++++++ .../convention/v1/ConventionalBlockTags.java | 47 +++ .../v1/ConventionalEnchantmentTags.java | 51 +++ .../v1/ConventionalEntityTypeTags.java | 39 +++ .../convention/v1/ConventionalFluidTags.java | 37 ++ .../convention/v1/ConventionalItemTags.java | 96 ++++++ .../impl/tag/convention/TagRegistration.java | 50 +++ .../assets/fabric-convention-tags-v1/icon.png | Bin 0 -> 1579 bytes .../src/main/resources/fabric.mod.json | 26 ++ fabric-data-generation-api-v1/build.gradle | 2 + .../build.gradle | 2 + gradle.properties | 1 + settings.gradle | 1 + 140 files changed, 2695 insertions(+) create mode 100644 fabric-convention-tags-v1/.gitignore create mode 100644 fabric-convention-tags-v1/build.gradle create mode 100644 fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/DatagenEntrypoint.java create mode 100644 fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BiomeTagGenerator.java create mode 100644 fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BlockTagGenerator.java create mode 100644 fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EnchantmentTagGenerator.java create mode 100644 fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EntityTypeTagGenerator.java create mode 100644 fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/FluidTagGenerator.java create mode 100644 fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/ItemTagGenerator.java create mode 100644 fabric-convention-tags-v1/src/datagen/resources/fabric.mod.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/bookshelves.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/chests.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/glass_blocks.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/glass_panes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/ores.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/quartz_ores.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/shulker_boxes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/entity_defense_enhancement.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/entity_movement_enhancement.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/fortune.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/looting.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/weapon_damage_enhancement.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/boats.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/bosses.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/minecarts.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/fluids/lava.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/fluids/water.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/axes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/black_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/blue_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bows.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/brown_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/empty.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/lava.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/milk.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/water.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/coal.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/copper_ingots.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/cyan_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/diamonds.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/emeralds.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/foods.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/glass_blocks.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/glass_panes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/gold_ingots.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/gray_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/green_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/hoes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/iron_ingots.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/lapis.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/light_blue_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/light_gray_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/lime_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/magenta_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/netherite_ingots.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/orange_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/ores.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/pickaxes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/pink_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/potions.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/purple_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/quartz.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/quartz_ores.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_copper_blocks.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_copper_ores.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_gold_blocks.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_gold_ores.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_iron_blocks.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_iron_ores.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/red_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/redstone_dusts.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shears.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shovels.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shulker_boxes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/spears.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/swords.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/white_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/yellow_dyes.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/aquatic.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/badlands.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/beach.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/caves.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_cold.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_dry.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_hot.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_temperate.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_wet.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/dead.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/deep_ocean.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/desert.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/end_islands.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/extreme_hills.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/floral.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/flower_forests.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/forest.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/icy.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_nether.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_overworld.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_the_end.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/jungle.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mesa.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain_peak.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain_slope.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mushroom.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/nether_forests.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/ocean.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/plains.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/river.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/savanna.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/shallow_ocean.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/snowy.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/snowy_plains.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/stony_shores.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/swamp.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/taiga.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_coniferous.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_deciduous.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_jungle.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_savanna.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/underground.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/vegetation_dense.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/vegetation_sparse.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/void.json create mode 100644 fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/wasteland.json create mode 100644 fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalBiomeTags.java create mode 100644 fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalBlockTags.java create mode 100644 fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalEnchantmentTags.java create mode 100644 fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalEntityTypeTags.java create mode 100644 fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalFluidTags.java create mode 100644 fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalItemTags.java create mode 100644 fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/TagRegistration.java create mode 100644 fabric-convention-tags-v1/src/main/resources/assets/fabric-convention-tags-v1/icon.png create mode 100644 fabric-convention-tags-v1/src/main/resources/fabric.mod.json diff --git a/build.gradle b/build.gradle index 0a50461c1..f039525e8 100644 --- a/build.gradle +++ b/build.gradle @@ -187,6 +187,11 @@ allprojects { } } } + + // Run this task after updating minecraft to regenerate any required resources + task generateResources { + group = "fabric" + } } // Apply auxiliary buildscripts to submodules diff --git a/fabric-convention-tags-v1/.gitignore b/fabric-convention-tags-v1/.gitignore new file mode 100644 index 000000000..f85202010 --- /dev/null +++ b/fabric-convention-tags-v1/.gitignore @@ -0,0 +1 @@ +/src/generated/resources/.cache/ diff --git a/fabric-convention-tags-v1/build.gradle b/fabric-convention-tags-v1/build.gradle new file mode 100644 index 000000000..dd93c0a15 --- /dev/null +++ b/fabric-convention-tags-v1/build.gradle @@ -0,0 +1,44 @@ +archivesBaseName = "fabric-convention-tags-v1" +version = getSubprojectVersion(project) + +moduleDependencies(project, [ + 'fabric-api-base' +]) + +sourceSets { + main { + resources { + srcDirs += [ + 'src/generated/resources' + ] + } + } + datagen { + compileClasspath += main.compileClasspath + runtimeClasspath += main.runtimeClasspath + compileClasspath += main.output + runtimeClasspath += main.output + } +} + +dependencies { + datagenImplementation project(path: ":fabric-data-generation-api-v1", configuration: 'namedElements') +} + +loom { + runs { + datagen { + inherit server + name "Data Generation" + vmArg "-Dfabric-api.datagen" + vmArg "-Dfabric-api.datagen.output-dir=${file("src/generated/resources")}" + vmArg "-Dfabric-api.datagen.strict-validation" + + ideConfigGenerated = true + runDir "build/datagen" + source sourceSets.datagen + } + } +} + +generateResources.dependsOn runDatagen diff --git a/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/DatagenEntrypoint.java b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/DatagenEntrypoint.java new file mode 100644 index 000000000..09409662e --- /dev/null +++ b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/DatagenEntrypoint.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.impl.tag.convention.datagen; + +import net.fabricmc.fabric.impl.tag.convention.datagen.generators.BiomeTagGenerator; +import net.fabricmc.fabric.impl.tag.convention.datagen.generators.BlockTagGenerator; +import net.fabricmc.fabric.impl.tag.convention.datagen.generators.EnchantmentTagGenerator; +import net.fabricmc.fabric.impl.tag.convention.datagen.generators.EntityTypeTagGenerator; +import net.fabricmc.fabric.impl.tag.convention.datagen.generators.FluidTagGenerator; +import net.fabricmc.fabric.impl.tag.convention.datagen.generators.ItemTagGenerator; +import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; + +public class DatagenEntrypoint implements DataGeneratorEntrypoint { + @Override + public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { + fabricDataGenerator.addProvider(ItemTagGenerator::new); + fabricDataGenerator.addProvider(FluidTagGenerator::new); + fabricDataGenerator.addProvider(EnchantmentTagGenerator::new); + fabricDataGenerator.addProvider(BlockTagGenerator::new); + fabricDataGenerator.addProvider(BiomeTagGenerator::new); + fabricDataGenerator.addProvider(EntityTypeTagGenerator::new); + } +} diff --git a/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BiomeTagGenerator.java b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BiomeTagGenerator.java new file mode 100644 index 000000000..fd6e52f21 --- /dev/null +++ b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BiomeTagGenerator.java @@ -0,0 +1,241 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.impl.tag.convention.datagen.generators; + +import net.minecraft.tag.BiomeTags; +import net.minecraft.util.registry.Registry; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.biome.BiomeKeys; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.fabricmc.fabric.api.tag.convention.v1.ConventionalBiomeTags; + +public class BiomeTagGenerator extends FabricTagProvider.DynamicRegistryTagProvider<Biome> { + public BiomeTagGenerator(FabricDataGenerator dataGenerator) { + super(dataGenerator, Registry.BIOME_KEY, "worldgen/biome"); + } + + @Override + protected void generateTags() { + generateDimensionTags(); + generateCategoryTags(); + generateOtherBiomeTypes(); + generateClimateAndVegetationTags(); + generateTerrainDescriptorTags(); + } + + private void generateDimensionTags() { + getOrCreateTagBuilder(ConventionalBiomeTags.IN_NETHER) + .addOptionalTag(BiomeTags.IS_NETHER) + .add(BiomeKeys.CRIMSON_FOREST) + .add(BiomeKeys.WARPED_FOREST) + .add(BiomeKeys.NETHER_WASTES) + .add(BiomeKeys.SOUL_SAND_VALLEY) + .add(BiomeKeys.BASALT_DELTAS); + getOrCreateTagBuilder(ConventionalBiomeTags.IN_THE_END) + .add(BiomeKeys.END_BARRENS) + .add(BiomeKeys.END_MIDLANDS) + .add(BiomeKeys.END_HIGHLANDS) + .add(BiomeKeys.THE_END) + .add(BiomeKeys.SMALL_END_ISLANDS); + // We avoid the vanilla group tags here as mods may add to them without actually spawning them in the overworld + getOrCreateTagBuilder(ConventionalBiomeTags.IN_OVERWORLD) + .add(BiomeKeys.RIVER).add(BiomeKeys.FROZEN_RIVER) + .add(BiomeKeys.COLD_OCEAN).add(BiomeKeys.DEEP_COLD_OCEAN) + .add(BiomeKeys.DEEP_FROZEN_OCEAN).add(BiomeKeys.DEEP_OCEAN) + .add(BiomeKeys.DEEP_LUKEWARM_OCEAN).add(BiomeKeys.WARM_OCEAN).add(BiomeKeys.LUKEWARM_OCEAN) + .add(BiomeKeys.FROZEN_OCEAN).add(BiomeKeys.OCEAN) + .add(BiomeKeys.BEACH).add(BiomeKeys.PLAINS) + .add(BiomeKeys.SUNFLOWER_PLAINS).add(BiomeKeys.SNOWY_PLAINS) + .add(BiomeKeys.ICE_SPIKES).add(BiomeKeys.DESERT) + .add(BiomeKeys.FOREST).add(BiomeKeys.FLOWER_FOREST) + .add(BiomeKeys.BIRCH_FOREST).add(BiomeKeys.DARK_FOREST) + .add(BiomeKeys.OLD_GROWTH_BIRCH_FOREST).add(BiomeKeys.OLD_GROWTH_PINE_TAIGA) + .add(BiomeKeys.OLD_GROWTH_SPRUCE_TAIGA).add(BiomeKeys.TAIGA) + .add(BiomeKeys.SNOWY_TAIGA).add(BiomeKeys.SAVANNA) + .add(BiomeKeys.SAVANNA_PLATEAU).add(BiomeKeys.WINDSWEPT_HILLS) + .add(BiomeKeys.WINDSWEPT_GRAVELLY_HILLS).add(BiomeKeys.WINDSWEPT_FOREST) + .add(BiomeKeys.WINDSWEPT_SAVANNA).add(BiomeKeys.JUNGLE).add(BiomeKeys.SPARSE_JUNGLE) + .add(BiomeKeys.BAMBOO_JUNGLE).add(BiomeKeys.BADLANDS).add(BiomeKeys.ERODED_BADLANDS) + .add(BiomeKeys.WOODED_BADLANDS).add(BiomeKeys.MEADOW).add(BiomeKeys.GROVE) + .add(BiomeKeys.SNOWY_SLOPES).add(BiomeKeys.FROZEN_PEAKS).add(BiomeKeys.JAGGED_PEAKS) + .add(BiomeKeys.STONY_PEAKS).add(BiomeKeys.MUSHROOM_FIELDS).add(BiomeKeys.DRIPSTONE_CAVES) + .add(BiomeKeys.LUSH_CAVES).add(BiomeKeys.SNOWY_BEACH).add(BiomeKeys.SWAMP).add(BiomeKeys.STONY_SHORE); + } + + private void generateCategoryTags() { + getOrCreateTagBuilder(ConventionalBiomeTags.TAIGA) + .addOptionalTag(BiomeTags.IS_TAIGA); + getOrCreateTagBuilder(ConventionalBiomeTags.EXTREME_HILLS) + .add(BiomeKeys.WINDSWEPT_GRAVELLY_HILLS) + .add(BiomeKeys.WINDSWEPT_HILLS); + getOrCreateTagBuilder(ConventionalBiomeTags.JUNGLE) + .addOptionalTag(BiomeTags.IS_JUNGLE); + getOrCreateTagBuilder(ConventionalBiomeTags.MESA) + .add(BiomeKeys.WOODED_BADLANDS) + .add(BiomeKeys.ERODED_BADLANDS) + .add(BiomeKeys.BADLANDS); + getOrCreateTagBuilder(ConventionalBiomeTags.PLAINS) + .add(BiomeKeys.SUNFLOWER_PLAINS) + .add(BiomeKeys.PLAINS); + getOrCreateTagBuilder(ConventionalBiomeTags.SAVANNA) + .add(BiomeKeys.SAVANNA_PLATEAU) + .add(BiomeKeys.WINDSWEPT_SAVANNA) + .add(BiomeKeys.SAVANNA); + getOrCreateTagBuilder(ConventionalBiomeTags.ICY) + .add(BiomeKeys.FROZEN_RIVER) + .add(BiomeKeys.FROZEN_PEAKS) + .add(BiomeKeys.DEEP_FROZEN_OCEAN) + .add(BiomeKeys.ICE_SPIKES) + .add(BiomeKeys.FROZEN_OCEAN); + getOrCreateTagBuilder(ConventionalBiomeTags.SNOWY) + .add(BiomeKeys.SNOWY_BEACH) + .add(BiomeKeys.SNOWY_PLAINS) + .add(BiomeKeys.SNOWY_SLOPES) + .add(BiomeKeys.SNOWY_TAIGA); + getOrCreateTagBuilder(ConventionalBiomeTags.BEACH) + .addOptionalTag(BiomeTags.IS_BEACH) + .add(BiomeKeys.STONY_SHORE); + getOrCreateTagBuilder(ConventionalBiomeTags.FOREST) + .addOptionalTag(BiomeTags.IS_FOREST); + getOrCreateTagBuilder(ConventionalBiomeTags.OCEAN) + .addOptionalTag(ConventionalBiomeTags.DEEP_OCEAN) + .addOptionalTag(ConventionalBiomeTags.SHALLOW_OCEAN) + .addOptionalTag(BiomeTags.IS_OCEAN); + getOrCreateTagBuilder(ConventionalBiomeTags.DESERT) + .add(BiomeKeys.DESERT); + getOrCreateTagBuilder(ConventionalBiomeTags.RIVER) + .addOptionalTag(BiomeTags.IS_RIVER); + getOrCreateTagBuilder(ConventionalBiomeTags.SWAMP) + .add(BiomeKeys.SWAMP); + getOrCreateTagBuilder(ConventionalBiomeTags.MUSHROOM) + .add(BiomeKeys.MUSHROOM_FIELDS); + getOrCreateTagBuilder(ConventionalBiomeTags.UNDERGROUND) + .addOptionalTag(ConventionalBiomeTags.CAVES); + getOrCreateTagBuilder(ConventionalBiomeTags.MOUNTAIN) + .addOptionalTag(BiomeTags.IS_MOUNTAIN); + } + + private void generateOtherBiomeTypes() { + getOrCreateTagBuilder(ConventionalBiomeTags.BADLANDS) + .addOptionalTag(ConventionalBiomeTags.MESA) + .addOptionalTag(BiomeTags.IS_BADLANDS); + getOrCreateTagBuilder(ConventionalBiomeTags.CAVES) + .add(BiomeKeys.DRIPSTONE_CAVES) + .add(BiomeKeys.LUSH_CAVES); + getOrCreateTagBuilder(ConventionalBiomeTags.VOID) + .add(BiomeKeys.THE_VOID); + getOrCreateTagBuilder(ConventionalBiomeTags.DEEP_OCEAN) + .add(BiomeKeys.DEEP_FROZEN_OCEAN) + .add(BiomeKeys.DEEP_LUKEWARM_OCEAN) + .add(BiomeKeys.DEEP_COLD_OCEAN) + .add(BiomeKeys.DEEP_OCEAN); + getOrCreateTagBuilder(ConventionalBiomeTags.SHALLOW_OCEAN) + .add(BiomeKeys.OCEAN) + .add(BiomeKeys.LUKEWARM_OCEAN) + .add(BiomeKeys.FROZEN_OCEAN) + .add(BiomeKeys.COLD_OCEAN) + .add(BiomeKeys.WARM_OCEAN); + } + + private void generateClimateAndVegetationTags() { + getOrCreateTagBuilder(ConventionalBiomeTags.CLIMATE_COLD) + .add(BiomeKeys.GROVE) + .add(BiomeKeys.JAGGED_PEAKS) + .addOptionalTag(ConventionalBiomeTags.ICY); + getOrCreateTagBuilder(ConventionalBiomeTags.CLIMATE_TEMPERATE) + .add(BiomeKeys.FOREST) + .add(BiomeKeys.SUNFLOWER_PLAINS) + .add(BiomeKeys.SWAMP) + .add(BiomeKeys.STONY_SHORE) + .add(BiomeKeys.DARK_FOREST) + .add(BiomeKeys.WINDSWEPT_FOREST) + .add(BiomeKeys.BIRCH_FOREST) + .add(BiomeKeys.OLD_GROWTH_BIRCH_FOREST) + .add(BiomeKeys.MEADOW) + .add(BiomeKeys.PLAINS); + getOrCreateTagBuilder(ConventionalBiomeTags.CLIMATE_HOT) + .addOptionalTag(ConventionalBiomeTags.JUNGLE) + .addOptionalTag(ConventionalBiomeTags.SAVANNA) + .addOptionalTag(ConventionalBiomeTags.DESERT) + .addOptionalTag(ConventionalBiomeTags.BADLANDS) + .add(BiomeKeys.STONY_PEAKS) + .addOptionalTag(ConventionalBiomeTags.MUSHROOM) + .addOptionalTag(ConventionalBiomeTags.IN_NETHER); + getOrCreateTagBuilder(ConventionalBiomeTags.CLIMATE_WET) + .addOptionalTag(ConventionalBiomeTags.AQUATIC) + .addOptionalTag(ConventionalBiomeTags.SWAMP) + .add(BiomeKeys.LUSH_CAVES) + .addOptionalTag(ConventionalBiomeTags.JUNGLE); + getOrCreateTagBuilder(ConventionalBiomeTags.CLIMATE_DRY) + .addOptionalTag(ConventionalBiomeTags.IN_NETHER) + .addOptionalTag(ConventionalBiomeTags.BADLANDS) + .addOptionalTag(ConventionalBiomeTags.DESERT) + .addOptionalTag(ConventionalBiomeTags.SAVANNA); + getOrCreateTagBuilder(ConventionalBiomeTags.VEGETATION_DENSE) + .addOptionalTag(ConventionalBiomeTags.JUNGLE) + .add(BiomeKeys.SUNFLOWER_PLAINS); + getOrCreateTagBuilder(ConventionalBiomeTags.VEGETATION_SPARSE) + .addOptionalTag(ConventionalBiomeTags.SAVANNA) + .addOptionalTag(ConventionalBiomeTags.DESERT) + .addOptionalTag(ConventionalBiomeTags.DEAD) + .add(BiomeKeys.LUSH_CAVES) + .addOptionalTag(ConventionalBiomeTags.WASTELAND); + getOrCreateTagBuilder(ConventionalBiomeTags.TREE_CONIFEROUS) + .add(BiomeKeys.GROVE) + .addOptionalTag(ConventionalBiomeTags.TAIGA); + getOrCreateTagBuilder(ConventionalBiomeTags.TREE_DECIDUOUS) + .add(BiomeKeys.FOREST) + .add(BiomeKeys.WINDSWEPT_FOREST) + .add(BiomeKeys.FLOWER_FOREST) + .add(BiomeKeys.BIRCH_FOREST) + .add(BiomeKeys.DARK_FOREST) + .add(BiomeKeys.OLD_GROWTH_BIRCH_FOREST); + getOrCreateTagBuilder(ConventionalBiomeTags.TREE_JUNGLE) + .addOptionalTag(ConventionalBiomeTags.JUNGLE); + getOrCreateTagBuilder(ConventionalBiomeTags.TREE_SAVANNA) + .addOptionalTag(ConventionalBiomeTags.SAVANNA); + getOrCreateTagBuilder(ConventionalBiomeTags.FLORAL) + .add(BiomeKeys.SUNFLOWER_PLAINS) + .add(BiomeKeys.FLOWER_FOREST); + } + + private void generateTerrainDescriptorTags() { + getOrCreateTagBuilder(ConventionalBiomeTags.MOUNTAIN_PEAK) + .add(BiomeKeys.FROZEN_PEAKS) + .add(BiomeKeys.JAGGED_PEAKS) + .add(BiomeKeys.STONY_PEAKS); + getOrCreateTagBuilder(ConventionalBiomeTags.MOUNTAIN_SLOPE) + .add(BiomeKeys.SNOWY_SLOPES); + getOrCreateTagBuilder(ConventionalBiomeTags.AQUATIC) + .addOptionalTag(ConventionalBiomeTags.OCEAN) + .addOptionalTag(ConventionalBiomeTags.RIVER); + getOrCreateTagBuilder(ConventionalBiomeTags.DEAD); + getOrCreateTagBuilder(ConventionalBiomeTags.WASTELAND); + getOrCreateTagBuilder(ConventionalBiomeTags.END_ISLANDS); + getOrCreateTagBuilder(ConventionalBiomeTags.NETHER_FORESTS) + .add(BiomeKeys.WARPED_FOREST) + .add(BiomeKeys.CRIMSON_FOREST); + getOrCreateTagBuilder(ConventionalBiomeTags.SNOWY_PLAINS) + .add(BiomeKeys.SNOWY_PLAINS); + getOrCreateTagBuilder(ConventionalBiomeTags.STONY_SHORES) + .add(BiomeKeys.STONY_SHORE); + getOrCreateTagBuilder(ConventionalBiomeTags.FLOWER_FORESTS) + .add(BiomeKeys.FLOWER_FOREST); + } +} diff --git a/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BlockTagGenerator.java b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BlockTagGenerator.java new file mode 100644 index 000000000..167d9ac45 --- /dev/null +++ b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/BlockTagGenerator.java @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.impl.tag.convention.datagen.generators; + +import net.minecraft.block.Blocks; +import net.minecraft.tag.BlockTags; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.fabricmc.fabric.api.tag.convention.v1.ConventionalBlockTags; + +public class BlockTagGenerator extends FabricTagProvider.BlockTagProvider { + public BlockTagGenerator(FabricDataGenerator dataGenerator) { + super(dataGenerator); + } + + @Override + protected void generateTags() { + getOrCreateTagBuilder(ConventionalBlockTags.QUARTZ_ORES) + .add(Blocks.NETHER_QUARTZ_ORE); + getOrCreateTagBuilder(ConventionalBlockTags.ORES) + .addOptionalTag(BlockTags.REDSTONE_ORES) + .addOptionalTag(BlockTags.COPPER_ORES) + .addOptionalTag(BlockTags.GOLD_ORES) + .addOptionalTag(BlockTags.IRON_ORES) + .addOptionalTag(BlockTags.COAL_ORES) + .addOptionalTag(BlockTags.EMERALD_ORES) + .addOptionalTag(BlockTags.LAPIS_ORES) + .addOptionalTag(BlockTags.DIAMOND_ORES) + .addOptionalTag(ConventionalBlockTags.QUARTZ_ORES); + getOrCreateTagBuilder(ConventionalBlockTags.CHESTS) + .add(Blocks.CHEST) + .add(Blocks.ENDER_CHEST) + .add(Blocks.TRAPPED_CHEST); + getOrCreateTagBuilder(ConventionalBlockTags.BOOKSHELVES) + .add(Blocks.BOOKSHELF); + generateGlassTags(); + generateShulkerTag(); + } + + private void generateShulkerTag() { + getOrCreateTagBuilder(ConventionalBlockTags.SHULKER_BOXES) + .add(Blocks.SHULKER_BOX) + .add(Blocks.BLUE_SHULKER_BOX) + .add(Blocks.BROWN_SHULKER_BOX) + .add(Blocks.CYAN_SHULKER_BOX) + .add(Blocks.GRAY_SHULKER_BOX) + .add(Blocks.GREEN_SHULKER_BOX) + .add(Blocks.LIGHT_BLUE_SHULKER_BOX) + .add(Blocks.LIGHT_GRAY_SHULKER_BOX) + .add(Blocks.LIME_SHULKER_BOX) + .add(Blocks.MAGENTA_SHULKER_BOX) + .add(Blocks.ORANGE_SHULKER_BOX) + .add(Blocks.PINK_SHULKER_BOX) + .add(Blocks.PURPLE_SHULKER_BOX) + .add(Blocks.RED_SHULKER_BOX) + .add(Blocks.WHITE_SHULKER_BOX) + .add(Blocks.YELLOW_SHULKER_BOX) + .add(Blocks.BLACK_SHULKER_BOX); + } + + private void generateGlassTags() { + getOrCreateTagBuilder(ConventionalBlockTags.GLASS_BLOCKS) + .add(Blocks.GLASS) + .add(Blocks.GRAY_STAINED_GLASS) + .add(Blocks.BLACK_STAINED_GLASS) + .add(Blocks.ORANGE_STAINED_GLASS) + .add(Blocks.BLUE_STAINED_GLASS) + .add(Blocks.BROWN_STAINED_GLASS) + .add(Blocks.CYAN_STAINED_GLASS) + .add(Blocks.GREEN_STAINED_GLASS) + .add(Blocks.LIGHT_BLUE_STAINED_GLASS) + .add(Blocks.LIGHT_GRAY_STAINED_GLASS) + .add(Blocks.LIME_STAINED_GLASS) + .add(Blocks.MAGENTA_STAINED_GLASS) + .add(Blocks.PINK_STAINED_GLASS) + .add(Blocks.PURPLE_STAINED_GLASS) + .add(Blocks.RED_STAINED_GLASS) + .add(Blocks.TINTED_GLASS) + .add(Blocks.WHITE_STAINED_GLASS) + .add(Blocks.YELLOW_STAINED_GLASS); + getOrCreateTagBuilder(ConventionalBlockTags.GLASS_PANES) + .add(Blocks.GLASS_PANE) + .add(Blocks.GRAY_STAINED_GLASS_PANE) + .add(Blocks.BLACK_STAINED_GLASS_PANE) + .add(Blocks.ORANGE_STAINED_GLASS_PANE) + .add(Blocks.BLUE_STAINED_GLASS_PANE) + .add(Blocks.BROWN_STAINED_GLASS_PANE) + .add(Blocks.CYAN_STAINED_GLASS_PANE) + .add(Blocks.GREEN_STAINED_GLASS_PANE) + .add(Blocks.LIGHT_BLUE_STAINED_GLASS_PANE) + .add(Blocks.LIGHT_GRAY_STAINED_GLASS_PANE) + .add(Blocks.LIME_STAINED_GLASS_PANE) + .add(Blocks.MAGENTA_STAINED_GLASS_PANE) + .add(Blocks.PINK_STAINED_GLASS_PANE) + .add(Blocks.PURPLE_STAINED_GLASS_PANE) + .add(Blocks.RED_STAINED_GLASS_PANE) + .add(Blocks.WHITE_STAINED_GLASS_PANE) + .add(Blocks.YELLOW_STAINED_GLASS_PANE); + } +} diff --git a/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EnchantmentTagGenerator.java b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EnchantmentTagGenerator.java new file mode 100644 index 000000000..87859a02a --- /dev/null +++ b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EnchantmentTagGenerator.java @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.impl.tag.convention.datagen.generators; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.Enchantments; +import net.minecraft.util.registry.Registry; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.fabricmc.fabric.api.tag.convention.v1.ConventionalEnchantmentTags; + +public class EnchantmentTagGenerator extends FabricTagProvider<Enchantment> { + public EnchantmentTagGenerator(FabricDataGenerator dataGenerator) { + super(dataGenerator, Registry.ENCHANTMENT); + } + + @Override + protected void generateTags() { + getOrCreateTagBuilder(ConventionalEnchantmentTags.INCREASES_BLOCK_DROPS) + .add(Enchantments.FORTUNE); + getOrCreateTagBuilder(ConventionalEnchantmentTags.INCREASES_ENTITY_DROPS) + .add(Enchantments.LOOTING); + getOrCreateTagBuilder(ConventionalEnchantmentTags.WEAPON_DAMAGE_ENHANCEMENT) + .add(Enchantments.BANE_OF_ARTHROPODS) + .add(Enchantments.IMPALING) + .add(Enchantments.SMITE) + .add(Enchantments.POWER) + .add(Enchantments.SHARPNESS); + getOrCreateTagBuilder(ConventionalEnchantmentTags.ENTITY_MOVEMENT_ENHANCEMENT) + .add(Enchantments.DEPTH_STRIDER) + .add(Enchantments.SOUL_SPEED); + getOrCreateTagBuilder(ConventionalEnchantmentTags.ENTITY_DEFENSE_ENHANCEMENT) + .add(Enchantments.FEATHER_FALLING) + .add(Enchantments.PROTECTION) + .add(Enchantments.BLAST_PROTECTION) + .add(Enchantments.PROJECTILE_PROTECTION) + .add(Enchantments.FIRE_PROTECTION) + .add(Enchantments.RESPIRATION); + } +} diff --git a/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EntityTypeTagGenerator.java b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EntityTypeTagGenerator.java new file mode 100644 index 000000000..de2ccfd25 --- /dev/null +++ b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/EntityTypeTagGenerator.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.impl.tag.convention.datagen.generators; + +import net.minecraft.entity.EntityType; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.fabricmc.fabric.api.tag.convention.v1.ConventionalEntityTypeTags; + +public class EntityTypeTagGenerator extends FabricTagProvider.EntityTypeTagProvider { + public EntityTypeTagGenerator(FabricDataGenerator dataGenerator) { + super(dataGenerator); + } + + @Override + protected void generateTags() { + getOrCreateTagBuilder(ConventionalEntityTypeTags.BOSSES) + .add(EntityType.ENDER_DRAGON) + .add(EntityType.WITHER); + getOrCreateTagBuilder(ConventionalEntityTypeTags.MINECARTS) + .add(EntityType.MINECART) + .add(EntityType.TNT_MINECART) + .add(EntityType.CHEST_MINECART) + .add(EntityType.FURNACE_MINECART) + .add(EntityType.COMMAND_BLOCK_MINECART) + .add(EntityType.HOPPER_MINECART) + .add(EntityType.SPAWNER_MINECART); + getOrCreateTagBuilder(ConventionalEntityTypeTags.BOATS) + .add(EntityType.BOAT) + .add(EntityType.CHEST_BOAT); + } +} diff --git a/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/FluidTagGenerator.java b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/FluidTagGenerator.java new file mode 100644 index 000000000..01f4df229 --- /dev/null +++ b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/FluidTagGenerator.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.impl.tag.convention.datagen.generators; + +import net.minecraft.tag.FluidTags; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.fabricmc.fabric.api.tag.convention.v1.ConventionalFluidTags; + +public class FluidTagGenerator extends FabricTagProvider.FluidTagProvider { + public FluidTagGenerator(FabricDataGenerator dataGenerator) { + super(dataGenerator); + } + + @Override + protected void generateTags() { + getOrCreateTagBuilder(ConventionalFluidTags.WATER) + .addOptionalTag(FluidTags.WATER); + getOrCreateTagBuilder(ConventionalFluidTags.LAVA) + .addOptionalTag(FluidTags.LAVA); + } +} diff --git a/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/ItemTagGenerator.java b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/ItemTagGenerator.java new file mode 100644 index 000000000..e41a9af9e --- /dev/null +++ b/fabric-convention-tags-v1/src/datagen/java/net/fabricmc/fabric/impl/tag/convention/datagen/generators/ItemTagGenerator.java @@ -0,0 +1,318 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.impl.tag.convention.datagen.generators; + +import net.minecraft.item.Items; +import net.minecraft.tag.ItemTags; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.fabricmc.fabric.api.tag.convention.v1.ConventionalItemTags; + +public class ItemTagGenerator extends FabricTagProvider.ItemTagProvider { + /** + * @deprecated Use {@link ConventionalItemTags#PICKAXES} + */ + @Deprecated + private static final Identifier FABRIC_PICKAXES = createFabricId("pickaxes"); + /** + * @deprecated Use {@link ConventionalItemTags#SHOVELS} + */ + @Deprecated + private static final Identifier FABRIC_SHOVELS = createFabricId("shovels"); + /** + * @deprecated Use {@link ConventionalItemTags#HOES} + */ + @Deprecated + private static final Identifier FABRIC_HOES = createFabricId("hoes"); + /** + * @deprecated Use {@link ConventionalItemTags#AXES} + */ + @Deprecated + private static final Identifier FABRIC_AXES = createFabricId("axes"); + /** + * @deprecated Use {@link ConventionalItemTags#SHEARS} + */ + @Deprecated + private static final Identifier FABRIC_SHEARS = createFabricId("shears"); + /** + * @deprecated Use {@link ConventionalItemTags#SWORDS} + */ + @Deprecated + private static final Identifier FABRIC_SWORDS = createFabricId("swords"); + + public ItemTagGenerator(FabricDataGenerator dataGenerator) { + super(dataGenerator); + } + + @Override + protected void generateTags() { + generateToolTags(); + generateBucketTags(); + generateOreAndRelatedTags(); + generateConsumableTags(); + generateGlassTags(); + generateShulkerTag(); + generateDyeTags(); + } + + private void generateDyeTags() { + getOrCreateTagBuilder(ConventionalItemTags.DYES) + .addOptionalTag(ConventionalItemTags.BLACK_DYES) + .addOptionalTag(ConventionalItemTags.BLUE_DYES) + .addOptionalTag(ConventionalItemTags.BROWN_DYES) + .addOptionalTag(ConventionalItemTags.GREEN_DYES) + .addOptionalTag(ConventionalItemTags.RED_DYES) + .addOptionalTag(ConventionalItemTags.WHITE_DYES) + .addOptionalTag(ConventionalItemTags.YELLOW_DYES) + .addOptionalTag(ConventionalItemTags.LIGHT_GRAY_DYES) + .addOptionalTag(ConventionalItemTags.LIGHT_BLUE_DYES) + .addOptionalTag(ConventionalItemTags.LIME_DYES) + .addOptionalTag(ConventionalItemTags.MAGENTA_DYES) + .addOptionalTag(ConventionalItemTags.ORANGE_DYES) + .addOptionalTag(ConventionalItemTags.PINK_DYES) + .addOptionalTag(ConventionalItemTags.CYAN_DYES) + .addOptionalTag(ConventionalItemTags.GRAY_DYES) + .addOptionalTag(ConventionalItemTags.PURPLE_DYES); + getOrCreateTagBuilder(ConventionalItemTags.BLACK_DYES) + .add(Items.BLACK_DYE); + getOrCreateTagBuilder(ConventionalItemTags.BLUE_DYES) + .add(Items.BLUE_DYE); + getOrCreateTagBuilder(ConventionalItemTags.BROWN_DYES) + .add(Items.PURPLE_DYE); + getOrCreateTagBuilder(ConventionalItemTags.GREEN_DYES) + .add(Items.GREEN_DYE); + getOrCreateTagBuilder(ConventionalItemTags.RED_DYES) + .add(Items.RED_DYE); + getOrCreateTagBuilder(ConventionalItemTags.WHITE_DYES) + .add(Items.WHITE_DYE); + getOrCreateTagBuilder(ConventionalItemTags.YELLOW_DYES) + .add(Items.YELLOW_DYE); + getOrCreateTagBuilder(ConventionalItemTags.LIGHT_BLUE_DYES) + .add(Items.LIGHT_BLUE_DYE); + getOrCreateTagBuilder(ConventionalItemTags.LIGHT_GRAY_DYES) + .add(Items.LIGHT_GRAY_DYE); + getOrCreateTagBuilder(ConventionalItemTags.LIME_DYES) + .add(Items.LIME_DYE); + getOrCreateTagBuilder(ConventionalItemTags.MAGENTA_DYES) + .add(Items.MAGENTA_DYE); + getOrCreateTagBuilder(ConventionalItemTags.ORANGE_DYES) + .add(Items.ORANGE_DYE); + getOrCreateTagBuilder(ConventionalItemTags.PINK_DYES) + .add(Items.PINK_DYE); + getOrCreateTagBuilder(ConventionalItemTags.CYAN_DYES) + .add(Items.CYAN_DYE); + getOrCreateTagBuilder(ConventionalItemTags.GRAY_DYES) + .add(Items.GRAY_DYE); + getOrCreateTagBuilder(ConventionalItemTags.PURPLE_DYES) + .add(Items.PURPLE_DYE); + } + + private void generateShulkerTag() { + getOrCreateTagBuilder(ConventionalItemTags.SHULKER_BOXES) + .add(Items.SHULKER_BOX) + .add(Items.BLUE_SHULKER_BOX) + .add(Items.BROWN_SHULKER_BOX) + .add(Items.CYAN_SHULKER_BOX) + .add(Items.GRAY_SHULKER_BOX) + .add(Items.GREEN_SHULKER_BOX) + .add(Items.LIGHT_BLUE_SHULKER_BOX) + .add(Items.LIGHT_GRAY_SHULKER_BOX) + .add(Items.LIME_SHULKER_BOX) + .add(Items.MAGENTA_SHULKER_BOX) + .add(Items.ORANGE_SHULKER_BOX) + .add(Items.PINK_SHULKER_BOX) + .add(Items.PURPLE_SHULKER_BOX) + .add(Items.RED_SHULKER_BOX) + .add(Items.WHITE_SHULKER_BOX) + .add(Items.YELLOW_SHULKER_BOX) + .add(Items.BLACK_SHULKER_BOX); + } + + private void generateGlassTags() { + getOrCreateTagBuilder(ConventionalItemTags.GLASS_BLOCKS) + .add(Items.GLASS) + .add(Items.GRAY_STAINED_GLASS) + .add(Items.BLACK_STAINED_GLASS) + .add(Items.ORANGE_STAINED_GLASS) + .add(Items.BLUE_STAINED_GLASS) + .add(Items.BROWN_STAINED_GLASS) + .add(Items.CYAN_STAINED_GLASS) + .add(Items.GREEN_STAINED_GLASS) + .add(Items.LIGHT_BLUE_STAINED_GLASS) + .add(Items.LIGHT_GRAY_STAINED_GLASS) + .add(Items.LIME_STAINED_GLASS) + .add(Items.MAGENTA_STAINED_GLASS) + .add(Items.PINK_STAINED_GLASS) + .add(Items.PURPLE_STAINED_GLASS) + .add(Items.RED_STAINED_GLASS) + .add(Items.TINTED_GLASS) + .add(Items.WHITE_STAINED_GLASS) + .add(Items.YELLOW_STAINED_GLASS); + getOrCreateTagBuilder(ConventionalItemTags.GLASS_PANES) + .add(Items.GLASS_PANE) + .add(Items.GRAY_STAINED_GLASS_PANE) + .add(Items.BLACK_STAINED_GLASS_PANE) + .add(Items.ORANGE_STAINED_GLASS_PANE) + .add(Items.BLUE_STAINED_GLASS_PANE) + .add(Items.BROWN_STAINED_GLASS_PANE) + .add(Items.CYAN_STAINED_GLASS_PANE) + .add(Items.GREEN_STAINED_GLASS_PANE) + .add(Items.LIGHT_BLUE_STAINED_GLASS_PANE) + .add(Items.LIGHT_GRAY_STAINED_GLASS_PANE) + .add(Items.LIME_STAINED_GLASS_PANE) + .add(Items.MAGENTA_STAINED_GLASS_PANE) + .add(Items.PINK_STAINED_GLASS_PANE) + .add(Items.PURPLE_STAINED_GLASS_PANE) + .add(Items.RED_STAINED_GLASS_PANE) + .add(Items.WHITE_STAINED_GLASS_PANE) + .add(Items.YELLOW_STAINED_GLASS_PANE); + } + + private void generateConsumableTags() { + Registry.ITEM.forEach(item -> { + if (item.getFoodComponent() != null) { + getOrCreateTagBuilder(ConventionalItemTags.FOODS).add(item); + } + }); + getOrCreateTagBuilder(ConventionalItemTags.POTIONS) + .add(Items.LINGERING_POTION) + .add(Items.SPLASH_POTION) + .add(Items.POTION); + } + + private void generateBucketTags() { + getOrCreateTagBuilder(ConventionalItemTags.EMPTY_BUCKET) + .add(Items.BUCKET); + getOrCreateTagBuilder(ConventionalItemTags.LAVA_BUCKET) + .add(Items.LAVA_BUCKET); + getOrCreateTagBuilder(ConventionalItemTags.WATER_BUCKET) + .add(Items.AXOLOTL_BUCKET) + .add(Items.COD_BUCKET) + .add(Items.PUFFERFISH_BUCKET) + .add(Items.TROPICAL_FISH_BUCKET) + .add(Items.SALMON_BUCKET) + .add(Items.TADPOLE_BUCKET) + .add(Items.WATER_BUCKET); + getOrCreateTagBuilder(ConventionalItemTags.MILK_BUCKET) + .add(Items.MILK_BUCKET); + } + + private void generateOreAndRelatedTags() { + getOrCreateTagBuilder(ConventionalItemTags.ORES) + .addOptionalTag(ItemTags.IRON_ORES) + .addOptionalTag(ItemTags.COPPER_ORES) + .addOptionalTag(ItemTags.REDSTONE_ORES) + .addOptionalTag(ItemTags.GOLD_ORES) + .addOptionalTag(ItemTags.COAL_ORES) + .addOptionalTag(ItemTags.DIAMOND_ORES) + .addOptionalTag(ItemTags.LAPIS_ORES) + .addOptionalTag(ConventionalItemTags.QUARTZ_ORES) + .addOptionalTag(ItemTags.EMERALD_ORES); + getOrCreateTagBuilder(ConventionalItemTags.IRON_INGOTS) + .add(Items.IRON_INGOT); + getOrCreateTagBuilder(ConventionalItemTags.COPPER_INGOTS) + .add(Items.COPPER_INGOT); + getOrCreateTagBuilder(ConventionalItemTags.GOLD_INGOTS) + .add(Items.GOLD_INGOT); + getOrCreateTagBuilder(ConventionalItemTags.NETHERITE_INGOTS) + .add(Items.NETHERITE_INGOT); + getOrCreateTagBuilder(ConventionalItemTags.REDSTONE_DUSTS) + .add(Items.REDSTONE); + getOrCreateTagBuilder(ConventionalItemTags.QUARTZ_ORES) + .add(Items.NETHER_QUARTZ_ORE); + getOrCreateTagBuilder(ConventionalItemTags.QUARTZ) + .add(Items.QUARTZ); + getOrCreateTagBuilder(ConventionalItemTags.RAW_IRON_ORES) + .add(Items.RAW_IRON); + getOrCreateTagBuilder(ConventionalItemTags.RAW_COPPER_ORES) + .add(Items.RAW_COPPER); + getOrCreateTagBuilder(ConventionalItemTags.RAW_GOLD_ORES) + .add(Items.RAW_GOLD); + getOrCreateTagBuilder(ConventionalItemTags.RAW_IRON_BLOCKS) + .add(Items.RAW_IRON_BLOCK); + getOrCreateTagBuilder(ConventionalItemTags.RAW_COPPER_BLOCKS) + .add(Items.RAW_COPPER_BLOCK); + getOrCreateTagBuilder(ConventionalItemTags.RAW_GOLD_BLOCKS) + .add(Items.RAW_GOLD_BLOCK); + getOrCreateTagBuilder(ConventionalItemTags.COAL) + .addOptionalTag(ItemTags.COALS); + getOrCreateTagBuilder(ConventionalItemTags.EMERALDS) + .add(Items.EMERALD); + getOrCreateTagBuilder(ConventionalItemTags.LAPIS) + .add(Items.LAPIS_LAZULI); + getOrCreateTagBuilder(ConventionalItemTags.DIAMONDS) + .add(Items.DIAMOND); + } + + private void generateToolTags() { + getOrCreateTagBuilder(ConventionalItemTags.AXES) + .addOptionalTag(FABRIC_AXES) + .add(Items.DIAMOND_AXE) + .add(Items.GOLDEN_AXE) + .add(Items.WOODEN_AXE) + .add(Items.STONE_AXE) + .add(Items.IRON_AXE) + .add(Items.NETHERITE_AXE); + getOrCreateTagBuilder(ConventionalItemTags.PICKAXES) + .addOptionalTag(FABRIC_PICKAXES) + .add(Items.DIAMOND_PICKAXE) + .add(Items.GOLDEN_PICKAXE) + .add(Items.WOODEN_PICKAXE) + .add(Items.STONE_PICKAXE) + .add(Items.IRON_PICKAXE) + .add(Items.NETHERITE_PICKAXE); + getOrCreateTagBuilder(ConventionalItemTags.HOES) + .addOptionalTag(FABRIC_HOES) + .add(Items.DIAMOND_HOE) + .add(Items.GOLDEN_HOE) + .add(Items.WOODEN_HOE) + .add(Items.STONE_HOE) + .add(Items.IRON_HOE) + .add(Items.NETHERITE_HOE); + getOrCreateTagBuilder(ConventionalItemTags.SWORDS) + .addOptionalTag(FABRIC_SWORDS) + .add(Items.DIAMOND_SWORD) + .add(Items.GOLDEN_SWORD) + .add(Items.WOODEN_SWORD) + .add(Items.STONE_SWORD) + .add(Items.IRON_SWORD) + .add(Items.NETHERITE_SWORD); + getOrCreateTagBuilder(ConventionalItemTags.SHOVELS) + .addOptionalTag(FABRIC_SHOVELS) + .add(Items.DIAMOND_SHOVEL) + .add(Items.GOLDEN_SHOVEL) + .add(Items.WOODEN_SHOVEL) + .add(Items.STONE_SHOVEL) + .add(Items.IRON_SHOVEL) + .add(Items.NETHERITE_SHOVEL); + getOrCreateTagBuilder(ConventionalItemTags.SHEARS) + .addOptionalTag(FABRIC_SHEARS) + .add(Items.SHEARS); + getOrCreateTagBuilder(ConventionalItemTags.SPEARS) + .add(Items.TRIDENT); + getOrCreateTagBuilder(ConventionalItemTags.BOWS) + .add(Items.CROSSBOW) + .add(Items.BOW); + } + + private static Identifier createFabricId(String id) { + return new Identifier("fabric", id); + } +} diff --git a/fabric-convention-tags-v1/src/datagen/resources/fabric.mod.json b/fabric-convention-tags-v1/src/datagen/resources/fabric.mod.json new file mode 100644 index 000000000..613990364 --- /dev/null +++ b/fabric-convention-tags-v1/src/datagen/resources/fabric.mod.json @@ -0,0 +1,31 @@ +{ + "schemaVersion": 1, + "id": "fabric-convention-tags-v1-datagen", + "name": "Fabric Convention Tags Datagen", + "version": "1.0.0", + "environment": "*", + "license": "Apache-2.0", + "icon": "assets/fabric-convention-tags-v1/icon.png", + "contact": { + "homepage": "https://fabricmc.net", + "irc": "irc://irc.esper.net:6667/fabric", + "issues": "https://github.com/FabricMC/fabric/issues", + "sources": "https://github.com/FabricMC/fabric" + }, + "authors": [ + "FabricMC" + ], + "depends": { + "fabricloader": ">=0.4.0", + "minecraft": ">=1.18.2" + }, + "description": "Contains common tags used by mods for vanilla things.", + "custom": { + "fabric-api:module-lifecycle": "stable" + }, + "entrypoints": { + "fabric-datagen": [ + "net.fabricmc.fabric.impl.tag.convention.datagen.DatagenEntrypoint" + ] + } +} diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/bookshelves.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/bookshelves.json new file mode 100644 index 000000000..6cdb0ddac --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/bookshelves.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:bookshelf" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/chests.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/chests.json new file mode 100644 index 000000000..7acec0ecc --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/chests.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "minecraft:chest", + "minecraft:ender_chest", + "minecraft:trapped_chest" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/glass_blocks.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/glass_blocks.json new file mode 100644 index 000000000..7d701ab39 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/glass_blocks.json @@ -0,0 +1,23 @@ +{ + "replace": false, + "values": [ + "minecraft:glass", + "minecraft:gray_stained_glass", + "minecraft:black_stained_glass", + "minecraft:orange_stained_glass", + "minecraft:blue_stained_glass", + "minecraft:brown_stained_glass", + "minecraft:cyan_stained_glass", + "minecraft:green_stained_glass", + "minecraft:light_blue_stained_glass", + "minecraft:light_gray_stained_glass", + "minecraft:lime_stained_glass", + "minecraft:magenta_stained_glass", + "minecraft:pink_stained_glass", + "minecraft:purple_stained_glass", + "minecraft:red_stained_glass", + "minecraft:tinted_glass", + "minecraft:white_stained_glass", + "minecraft:yellow_stained_glass" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/glass_panes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/glass_panes.json new file mode 100644 index 000000000..ced01be24 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/glass_panes.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "minecraft:glass_pane", + "minecraft:gray_stained_glass_pane", + "minecraft:black_stained_glass_pane", + "minecraft:orange_stained_glass_pane", + "minecraft:blue_stained_glass_pane", + "minecraft:brown_stained_glass_pane", + "minecraft:cyan_stained_glass_pane", + "minecraft:green_stained_glass_pane", + "minecraft:light_blue_stained_glass_pane", + "minecraft:light_gray_stained_glass_pane", + "minecraft:lime_stained_glass_pane", + "minecraft:magenta_stained_glass_pane", + "minecraft:pink_stained_glass_pane", + "minecraft:purple_stained_glass_pane", + "minecraft:red_stained_glass_pane", + "minecraft:white_stained_glass_pane", + "minecraft:yellow_stained_glass_pane" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/ores.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/ores.json new file mode 100644 index 000000000..ce1eb6df6 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/ores.json @@ -0,0 +1,41 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:redstone_ores", + "required": false + }, + { + "id": "#minecraft:copper_ores", + "required": false + }, + { + "id": "#minecraft:gold_ores", + "required": false + }, + { + "id": "#minecraft:iron_ores", + "required": false + }, + { + "id": "#minecraft:coal_ores", + "required": false + }, + { + "id": "#minecraft:emerald_ores", + "required": false + }, + { + "id": "#minecraft:lapis_ores", + "required": false + }, + { + "id": "#minecraft:diamond_ores", + "required": false + }, + { + "id": "#c:quartz_ores", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/quartz_ores.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/quartz_ores.json new file mode 100644 index 000000000..6c65cff93 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/quartz_ores.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:nether_quartz_ore" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/shulker_boxes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/shulker_boxes.json new file mode 100644 index 000000000..8a9b7c8ed --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/blocks/shulker_boxes.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "minecraft:shulker_box", + "minecraft:blue_shulker_box", + "minecraft:brown_shulker_box", + "minecraft:cyan_shulker_box", + "minecraft:gray_shulker_box", + "minecraft:green_shulker_box", + "minecraft:light_blue_shulker_box", + "minecraft:light_gray_shulker_box", + "minecraft:lime_shulker_box", + "minecraft:magenta_shulker_box", + "minecraft:orange_shulker_box", + "minecraft:pink_shulker_box", + "minecraft:purple_shulker_box", + "minecraft:red_shulker_box", + "minecraft:white_shulker_box", + "minecraft:yellow_shulker_box", + "minecraft:black_shulker_box" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/entity_defense_enhancement.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/entity_defense_enhancement.json new file mode 100644 index 000000000..b01fdddc4 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/entity_defense_enhancement.json @@ -0,0 +1,11 @@ +{ + "replace": false, + "values": [ + "minecraft:feather_falling", + "minecraft:protection", + "minecraft:blast_protection", + "minecraft:projectile_protection", + "minecraft:fire_protection", + "minecraft:respiration" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/entity_movement_enhancement.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/entity_movement_enhancement.json new file mode 100644 index 000000000..9436a58ae --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/entity_movement_enhancement.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:depth_strider", + "minecraft:soul_speed" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/fortune.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/fortune.json new file mode 100644 index 000000000..ce1c23ebc --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/fortune.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:fortune" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/looting.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/looting.json new file mode 100644 index 000000000..8ee65b0c3 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/looting.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:looting" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/weapon_damage_enhancement.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/weapon_damage_enhancement.json new file mode 100644 index 000000000..bdef43ba2 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/enchantment/weapon_damage_enhancement.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "minecraft:bane_of_arthropods", + "minecraft:impaling", + "minecraft:smite", + "minecraft:power", + "minecraft:sharpness" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/boats.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/boats.json new file mode 100644 index 000000000..3b361e175 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/boats.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:boat", + "minecraft:chest_boat" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/bosses.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/bosses.json new file mode 100644 index 000000000..4b3521261 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/bosses.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:ender_dragon", + "minecraft:wither" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/minecarts.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/minecarts.json new file mode 100644 index 000000000..99af75339 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/entity_types/minecarts.json @@ -0,0 +1,12 @@ +{ + "replace": false, + "values": [ + "minecraft:minecart", + "minecraft:tnt_minecart", + "minecraft:chest_minecart", + "minecraft:furnace_minecart", + "minecraft:command_block_minecart", + "minecraft:hopper_minecart", + "minecraft:spawner_minecart" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/fluids/lava.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/fluids/lava.json new file mode 100644 index 000000000..8d87ec53f --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/fluids/lava.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:lava", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/fluids/water.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/fluids/water.json new file mode 100644 index 000000000..16f57ce2d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/fluids/water.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:water", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/axes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/axes.json new file mode 100644 index 000000000..91802a057 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/axes.json @@ -0,0 +1,15 @@ +{ + "replace": false, + "values": [ + { + "id": "#fabric:axes", + "required": false + }, + "minecraft:diamond_axe", + "minecraft:golden_axe", + "minecraft:wooden_axe", + "minecraft:stone_axe", + "minecraft:iron_axe", + "minecraft:netherite_axe" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/black_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/black_dyes.json new file mode 100644 index 000000000..c25071e21 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/black_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:black_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/blue_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/blue_dyes.json new file mode 100644 index 000000000..e794506ca --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/blue_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:blue_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bows.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bows.json new file mode 100644 index 000000000..cd7142c56 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bows.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:crossbow", + "minecraft:bow" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/brown_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/brown_dyes.json new file mode 100644 index 000000000..cd6a8fef0 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/brown_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:purple_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/empty.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/empty.json new file mode 100644 index 000000000..bbbc81a92 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/empty.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:bucket" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/lava.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/lava.json new file mode 100644 index 000000000..cd86ce99c --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/lava.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:lava_bucket" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/milk.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/milk.json new file mode 100644 index 000000000..a3133b34b --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/milk.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:milk_bucket" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/water.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/water.json new file mode 100644 index 000000000..3e6a4b210 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/bucket/water.json @@ -0,0 +1,12 @@ +{ + "replace": false, + "values": [ + "minecraft:axolotl_bucket", + "minecraft:cod_bucket", + "minecraft:pufferfish_bucket", + "minecraft:tropical_fish_bucket", + "minecraft:salmon_bucket", + "minecraft:tadpole_bucket", + "minecraft:water_bucket" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/coal.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/coal.json new file mode 100644 index 000000000..28404d441 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/coal.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:coals", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/copper_ingots.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/copper_ingots.json new file mode 100644 index 000000000..4b0daa0db --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/copper_ingots.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:copper_ingot" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/cyan_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/cyan_dyes.json new file mode 100644 index 000000000..384cb9c64 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/cyan_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:cyan_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/diamonds.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/diamonds.json new file mode 100644 index 000000000..a0b7317d8 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/diamonds.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:diamond" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/dyes.json new file mode 100644 index 000000000..d844993b1 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/dyes.json @@ -0,0 +1,69 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:black_dyes", + "required": false + }, + { + "id": "#c:blue_dyes", + "required": false + }, + { + "id": "#c:brown_dyes", + "required": false + }, + { + "id": "#c:green_dyes", + "required": false + }, + { + "id": "#c:red_dyes", + "required": false + }, + { + "id": "#c:white_dyes", + "required": false + }, + { + "id": "#c:yellow_dyes", + "required": false + }, + { + "id": "#c:light_gray_dyes", + "required": false + }, + { + "id": "#c:light_blue_dyes", + "required": false + }, + { + "id": "#c:lime_dyes", + "required": false + }, + { + "id": "#c:magenta_dyes", + "required": false + }, + { + "id": "#c:orange_dyes", + "required": false + }, + { + "id": "#c:pink_dyes", + "required": false + }, + { + "id": "#c:cyan_dyes", + "required": false + }, + { + "id": "#c:gray_dyes", + "required": false + }, + { + "id": "#c:purple_dyes", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/emeralds.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/emeralds.json new file mode 100644 index 000000000..838caf0bd --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/emeralds.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:emerald" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/foods.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/foods.json new file mode 100644 index 000000000..a9bb5716d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/foods.json @@ -0,0 +1,45 @@ +{ + "replace": false, + "values": [ + "minecraft:apple", + "minecraft:mushroom_stew", + "minecraft:bread", + "minecraft:porkchop", + "minecraft:cooked_porkchop", + "minecraft:golden_apple", + "minecraft:enchanted_golden_apple", + "minecraft:cod", + "minecraft:salmon", + "minecraft:tropical_fish", + "minecraft:pufferfish", + "minecraft:cooked_cod", + "minecraft:cooked_salmon", + "minecraft:cookie", + "minecraft:melon_slice", + "minecraft:dried_kelp", + "minecraft:beef", + "minecraft:cooked_beef", + "minecraft:chicken", + "minecraft:cooked_chicken", + "minecraft:rotten_flesh", + "minecraft:spider_eye", + "minecraft:carrot", + "minecraft:potato", + "minecraft:baked_potato", + "minecraft:poisonous_potato", + "minecraft:golden_carrot", + "minecraft:pumpkin_pie", + "minecraft:rabbit", + "minecraft:cooked_rabbit", + "minecraft:rabbit_stew", + "minecraft:mutton", + "minecraft:cooked_mutton", + "minecraft:chorus_fruit", + "minecraft:beetroot", + "minecraft:beetroot_soup", + "minecraft:suspicious_stew", + "minecraft:sweet_berries", + "minecraft:glow_berries", + "minecraft:honey_bottle" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/glass_blocks.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/glass_blocks.json new file mode 100644 index 000000000..7d701ab39 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/glass_blocks.json @@ -0,0 +1,23 @@ +{ + "replace": false, + "values": [ + "minecraft:glass", + "minecraft:gray_stained_glass", + "minecraft:black_stained_glass", + "minecraft:orange_stained_glass", + "minecraft:blue_stained_glass", + "minecraft:brown_stained_glass", + "minecraft:cyan_stained_glass", + "minecraft:green_stained_glass", + "minecraft:light_blue_stained_glass", + "minecraft:light_gray_stained_glass", + "minecraft:lime_stained_glass", + "minecraft:magenta_stained_glass", + "minecraft:pink_stained_glass", + "minecraft:purple_stained_glass", + "minecraft:red_stained_glass", + "minecraft:tinted_glass", + "minecraft:white_stained_glass", + "minecraft:yellow_stained_glass" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/glass_panes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/glass_panes.json new file mode 100644 index 000000000..ced01be24 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/glass_panes.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "minecraft:glass_pane", + "minecraft:gray_stained_glass_pane", + "minecraft:black_stained_glass_pane", + "minecraft:orange_stained_glass_pane", + "minecraft:blue_stained_glass_pane", + "minecraft:brown_stained_glass_pane", + "minecraft:cyan_stained_glass_pane", + "minecraft:green_stained_glass_pane", + "minecraft:light_blue_stained_glass_pane", + "minecraft:light_gray_stained_glass_pane", + "minecraft:lime_stained_glass_pane", + "minecraft:magenta_stained_glass_pane", + "minecraft:pink_stained_glass_pane", + "minecraft:purple_stained_glass_pane", + "minecraft:red_stained_glass_pane", + "minecraft:white_stained_glass_pane", + "minecraft:yellow_stained_glass_pane" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/gold_ingots.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/gold_ingots.json new file mode 100644 index 000000000..d88f9571a --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/gold_ingots.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:gold_ingot" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/gray_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/gray_dyes.json new file mode 100644 index 000000000..3b7b4389d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/gray_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:gray_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/green_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/green_dyes.json new file mode 100644 index 000000000..096286bf2 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/green_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:green_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/hoes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/hoes.json new file mode 100644 index 000000000..253e2b019 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/hoes.json @@ -0,0 +1,15 @@ +{ + "replace": false, + "values": [ + { + "id": "#fabric:hoes", + "required": false + }, + "minecraft:diamond_hoe", + "minecraft:golden_hoe", + "minecraft:wooden_hoe", + "minecraft:stone_hoe", + "minecraft:iron_hoe", + "minecraft:netherite_hoe" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/iron_ingots.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/iron_ingots.json new file mode 100644 index 000000000..549adc471 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/iron_ingots.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:iron_ingot" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/lapis.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/lapis.json new file mode 100644 index 000000000..e46a64722 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/lapis.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:lapis_lazuli" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/light_blue_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/light_blue_dyes.json new file mode 100644 index 000000000..f280f4fe7 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/light_blue_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:light_blue_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/light_gray_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/light_gray_dyes.json new file mode 100644 index 000000000..82c02bce0 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/light_gray_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:light_gray_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/lime_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/lime_dyes.json new file mode 100644 index 000000000..415993059 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/lime_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:lime_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/magenta_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/magenta_dyes.json new file mode 100644 index 000000000..810b6e547 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/magenta_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:magenta_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/netherite_ingots.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/netherite_ingots.json new file mode 100644 index 000000000..ff3f383d6 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/netherite_ingots.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:netherite_ingot" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/orange_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/orange_dyes.json new file mode 100644 index 000000000..9939b6169 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/orange_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:orange_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/ores.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/ores.json new file mode 100644 index 000000000..53c89d8d2 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/ores.json @@ -0,0 +1,41 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:iron_ores", + "required": false + }, + { + "id": "#minecraft:copper_ores", + "required": false + }, + { + "id": "#minecraft:redstone_ores", + "required": false + }, + { + "id": "#minecraft:gold_ores", + "required": false + }, + { + "id": "#minecraft:coal_ores", + "required": false + }, + { + "id": "#minecraft:diamond_ores", + "required": false + }, + { + "id": "#minecraft:lapis_ores", + "required": false + }, + { + "id": "#c:quartz_ores", + "required": false + }, + { + "id": "#minecraft:emerald_ores", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/pickaxes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/pickaxes.json new file mode 100644 index 000000000..6ce8db5fd --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/pickaxes.json @@ -0,0 +1,15 @@ +{ + "replace": false, + "values": [ + { + "id": "#fabric:pickaxes", + "required": false + }, + "minecraft:diamond_pickaxe", + "minecraft:golden_pickaxe", + "minecraft:wooden_pickaxe", + "minecraft:stone_pickaxe", + "minecraft:iron_pickaxe", + "minecraft:netherite_pickaxe" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/pink_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/pink_dyes.json new file mode 100644 index 000000000..c5172b16b --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/pink_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:pink_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/potions.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/potions.json new file mode 100644 index 000000000..3faa4304d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/potions.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "minecraft:lingering_potion", + "minecraft:splash_potion", + "minecraft:potion" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/purple_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/purple_dyes.json new file mode 100644 index 000000000..cd6a8fef0 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/purple_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:purple_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/quartz.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/quartz.json new file mode 100644 index 000000000..49ac1fd15 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/quartz.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:quartz" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/quartz_ores.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/quartz_ores.json new file mode 100644 index 000000000..6c65cff93 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/quartz_ores.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:nether_quartz_ore" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_copper_blocks.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_copper_blocks.json new file mode 100644 index 000000000..3a578a027 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_copper_blocks.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:raw_copper_block" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_copper_ores.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_copper_ores.json new file mode 100644 index 000000000..cb1b852f3 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_copper_ores.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:raw_copper" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_gold_blocks.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_gold_blocks.json new file mode 100644 index 000000000..4ce9cc47d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_gold_blocks.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:raw_gold_block" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_gold_ores.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_gold_ores.json new file mode 100644 index 000000000..3ac772464 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_gold_ores.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:raw_gold" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_iron_blocks.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_iron_blocks.json new file mode 100644 index 000000000..14f551c59 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_iron_blocks.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:raw_iron_block" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_iron_ores.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_iron_ores.json new file mode 100644 index 000000000..9c072749c --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/raw_iron_ores.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:raw_iron" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/red_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/red_dyes.json new file mode 100644 index 000000000..68b06807f --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/red_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:red_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/redstone_dusts.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/redstone_dusts.json new file mode 100644 index 000000000..2703f553a --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/redstone_dusts.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:redstone" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shears.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shears.json new file mode 100644 index 000000000..3f0b173f9 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shears.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + { + "id": "#fabric:shears", + "required": false + }, + "minecraft:shears" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shovels.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shovels.json new file mode 100644 index 000000000..d4f341457 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shovels.json @@ -0,0 +1,15 @@ +{ + "replace": false, + "values": [ + { + "id": "#fabric:shovels", + "required": false + }, + "minecraft:diamond_shovel", + "minecraft:golden_shovel", + "minecraft:wooden_shovel", + "minecraft:stone_shovel", + "minecraft:iron_shovel", + "minecraft:netherite_shovel" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shulker_boxes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shulker_boxes.json new file mode 100644 index 000000000..8a9b7c8ed --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/shulker_boxes.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "minecraft:shulker_box", + "minecraft:blue_shulker_box", + "minecraft:brown_shulker_box", + "minecraft:cyan_shulker_box", + "minecraft:gray_shulker_box", + "minecraft:green_shulker_box", + "minecraft:light_blue_shulker_box", + "minecraft:light_gray_shulker_box", + "minecraft:lime_shulker_box", + "minecraft:magenta_shulker_box", + "minecraft:orange_shulker_box", + "minecraft:pink_shulker_box", + "minecraft:purple_shulker_box", + "minecraft:red_shulker_box", + "minecraft:white_shulker_box", + "minecraft:yellow_shulker_box", + "minecraft:black_shulker_box" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/spears.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/spears.json new file mode 100644 index 000000000..939ae4541 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/spears.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:trident" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/swords.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/swords.json new file mode 100644 index 000000000..a4e474652 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/swords.json @@ -0,0 +1,15 @@ +{ + "replace": false, + "values": [ + { + "id": "#fabric:swords", + "required": false + }, + "minecraft:diamond_sword", + "minecraft:golden_sword", + "minecraft:wooden_sword", + "minecraft:stone_sword", + "minecraft:iron_sword", + "minecraft:netherite_sword" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/white_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/white_dyes.json new file mode 100644 index 000000000..1b92baa6a --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/white_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:white_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/yellow_dyes.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/yellow_dyes.json new file mode 100644 index 000000000..343377909 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/items/yellow_dyes.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:yellow_dye" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/aquatic.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/aquatic.json new file mode 100644 index 000000000..6429b2420 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/aquatic.json @@ -0,0 +1,13 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:ocean", + "required": false + }, + { + "id": "#c:river", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/badlands.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/badlands.json new file mode 100644 index 000000000..3baae9ae6 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/badlands.json @@ -0,0 +1,13 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:mesa", + "required": false + }, + { + "id": "#minecraft:is_badlands", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/beach.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/beach.json new file mode 100644 index 000000000..93913ce22 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/beach.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:is_beach", + "required": false + }, + "minecraft:stony_shore" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/caves.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/caves.json new file mode 100644 index 000000000..b6b3eb1cb --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/caves.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:dripstone_caves", + "minecraft:lush_caves" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_cold.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_cold.json new file mode 100644 index 000000000..e13c0447d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_cold.json @@ -0,0 +1,11 @@ +{ + "replace": false, + "values": [ + "minecraft:grove", + "minecraft:jagged_peaks", + { + "id": "#c:icy", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_dry.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_dry.json new file mode 100644 index 000000000..3e3b2d093 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_dry.json @@ -0,0 +1,21 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:in_nether", + "required": false + }, + { + "id": "#c:badlands", + "required": false + }, + { + "id": "#c:desert", + "required": false + }, + { + "id": "#c:savanna", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_hot.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_hot.json new file mode 100644 index 000000000..330e29947 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_hot.json @@ -0,0 +1,30 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:jungle", + "required": false + }, + { + "id": "#c:savanna", + "required": false + }, + { + "id": "#c:desert", + "required": false + }, + { + "id": "#c:badlands", + "required": false + }, + "minecraft:stony_peaks", + { + "id": "#c:mushroom", + "required": false + }, + { + "id": "#c:in_nether", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_temperate.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_temperate.json new file mode 100644 index 000000000..683c6799c --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_temperate.json @@ -0,0 +1,15 @@ +{ + "replace": false, + "values": [ + "minecraft:forest", + "minecraft:sunflower_plains", + "minecraft:swamp", + "minecraft:stony_shore", + "minecraft:dark_forest", + "minecraft:windswept_forest", + "minecraft:birch_forest", + "minecraft:old_growth_birch_forest", + "minecraft:meadow", + "minecraft:plains" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_wet.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_wet.json new file mode 100644 index 000000000..78d379c86 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/climate_wet.json @@ -0,0 +1,18 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:aquatic", + "required": false + }, + { + "id": "#c:swamp", + "required": false + }, + "minecraft:lush_caves", + { + "id": "#c:jungle", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/dead.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/dead.json new file mode 100644 index 000000000..5e8aecc98 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/dead.json @@ -0,0 +1,4 @@ +{ + "replace": false, + "values": [] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/deep_ocean.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/deep_ocean.json new file mode 100644 index 000000000..7fb9f956d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/deep_ocean.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "minecraft:deep_frozen_ocean", + "minecraft:deep_lukewarm_ocean", + "minecraft:deep_cold_ocean", + "minecraft:deep_ocean" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/desert.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/desert.json new file mode 100644 index 000000000..ff757c036 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/desert.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:desert" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/end_islands.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/end_islands.json new file mode 100644 index 000000000..5e8aecc98 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/end_islands.json @@ -0,0 +1,4 @@ +{ + "replace": false, + "values": [] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/extreme_hills.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/extreme_hills.json new file mode 100644 index 000000000..834dcb1cc --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/extreme_hills.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:windswept_gravelly_hills", + "minecraft:windswept_hills" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/floral.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/floral.json new file mode 100644 index 000000000..50a7116e3 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/floral.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:sunflower_plains", + "minecraft:flower_forest" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/flower_forests.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/flower_forests.json new file mode 100644 index 000000000..4a69c610d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/flower_forests.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:flower_forest" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/forest.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/forest.json new file mode 100644 index 000000000..21192434b --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/forest.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:is_forest", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/icy.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/icy.json new file mode 100644 index 000000000..ac7973edf --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/icy.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "minecraft:frozen_river", + "minecraft:frozen_peaks", + "minecraft:deep_frozen_ocean", + "minecraft:ice_spikes", + "minecraft:frozen_ocean" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_nether.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_nether.json new file mode 100644 index 000000000..5fedecf58 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_nether.json @@ -0,0 +1,14 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:is_nether", + "required": false + }, + "minecraft:crimson_forest", + "minecraft:warped_forest", + "minecraft:nether_wastes", + "minecraft:soul_sand_valley", + "minecraft:basalt_deltas" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_overworld.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_overworld.json new file mode 100644 index 000000000..cadc92434 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_overworld.json @@ -0,0 +1,55 @@ +{ + "replace": false, + "values": [ + "minecraft:river", + "minecraft:frozen_river", + "minecraft:cold_ocean", + "minecraft:deep_cold_ocean", + "minecraft:deep_frozen_ocean", + "minecraft:deep_ocean", + "minecraft:deep_lukewarm_ocean", + "minecraft:warm_ocean", + "minecraft:lukewarm_ocean", + "minecraft:frozen_ocean", + "minecraft:ocean", + "minecraft:beach", + "minecraft:plains", + "minecraft:sunflower_plains", + "minecraft:snowy_plains", + "minecraft:ice_spikes", + "minecraft:desert", + "minecraft:forest", + "minecraft:flower_forest", + "minecraft:birch_forest", + "minecraft:dark_forest", + "minecraft:old_growth_birch_forest", + "minecraft:old_growth_pine_taiga", + "minecraft:old_growth_spruce_taiga", + "minecraft:taiga", + "minecraft:snowy_taiga", + "minecraft:savanna", + "minecraft:savanna_plateau", + "minecraft:windswept_hills", + "minecraft:windswept_gravelly_hills", + "minecraft:windswept_forest", + "minecraft:windswept_savanna", + "minecraft:jungle", + "minecraft:sparse_jungle", + "minecraft:bamboo_jungle", + "minecraft:badlands", + "minecraft:eroded_badlands", + "minecraft:wooded_badlands", + "minecraft:meadow", + "minecraft:grove", + "minecraft:snowy_slopes", + "minecraft:frozen_peaks", + "minecraft:jagged_peaks", + "minecraft:stony_peaks", + "minecraft:mushroom_fields", + "minecraft:dripstone_caves", + "minecraft:lush_caves", + "minecraft:snowy_beach", + "minecraft:swamp", + "minecraft:stony_shore" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_the_end.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_the_end.json new file mode 100644 index 000000000..c7a5795ac --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/in_the_end.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "minecraft:end_barrens", + "minecraft:end_midlands", + "minecraft:end_highlands", + "minecraft:the_end", + "minecraft:small_end_islands" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/jungle.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/jungle.json new file mode 100644 index 000000000..a01171ae7 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/jungle.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:is_jungle", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mesa.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mesa.json new file mode 100644 index 000000000..5ba66b228 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mesa.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "minecraft:wooded_badlands", + "minecraft:eroded_badlands", + "minecraft:badlands" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain.json new file mode 100644 index 000000000..0645b033c --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:is_mountain", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain_peak.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain_peak.json new file mode 100644 index 000000000..2efc274e5 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain_peak.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "minecraft:frozen_peaks", + "minecraft:jagged_peaks", + "minecraft:stony_peaks" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain_slope.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain_slope.json new file mode 100644 index 000000000..82d188485 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mountain_slope.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:snowy_slopes" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mushroom.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mushroom.json new file mode 100644 index 000000000..f97ef2644 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/mushroom.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:mushroom_fields" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/nether_forests.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/nether_forests.json new file mode 100644 index 000000000..f78109de5 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/nether_forests.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:warped_forest", + "minecraft:crimson_forest" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/ocean.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/ocean.json new file mode 100644 index 000000000..6858a9a7d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/ocean.json @@ -0,0 +1,17 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:deep_ocean", + "required": false + }, + { + "id": "#c:shallow_ocean", + "required": false + }, + { + "id": "#minecraft:is_ocean", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/plains.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/plains.json new file mode 100644 index 000000000..ce7fb70b5 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/plains.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "minecraft:sunflower_plains", + "minecraft:plains" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/river.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/river.json new file mode 100644 index 000000000..c84bf06c4 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/river.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:is_river", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/savanna.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/savanna.json new file mode 100644 index 000000000..992fb37dd --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/savanna.json @@ -0,0 +1,8 @@ +{ + "replace": false, + "values": [ + "minecraft:savanna_plateau", + "minecraft:windswept_savanna", + "minecraft:savanna" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/shallow_ocean.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/shallow_ocean.json new file mode 100644 index 000000000..03e9c44ee --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/shallow_ocean.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "minecraft:ocean", + "minecraft:lukewarm_ocean", + "minecraft:frozen_ocean", + "minecraft:cold_ocean", + "minecraft:warm_ocean" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/snowy.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/snowy.json new file mode 100644 index 000000000..1df88f66c --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/snowy.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "minecraft:snowy_beach", + "minecraft:snowy_plains", + "minecraft:snowy_slopes", + "minecraft:snowy_taiga" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/snowy_plains.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/snowy_plains.json new file mode 100644 index 000000000..54db173ca --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/snowy_plains.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:snowy_plains" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/stony_shores.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/stony_shores.json new file mode 100644 index 000000000..f8b581ef7 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/stony_shores.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:stony_shore" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/swamp.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/swamp.json new file mode 100644 index 000000000..cbcd00774 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/swamp.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:swamp" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/taiga.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/taiga.json new file mode 100644 index 000000000..69cce78a6 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/taiga.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#minecraft:is_taiga", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_coniferous.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_coniferous.json new file mode 100644 index 000000000..5beaf6f7d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_coniferous.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + "minecraft:grove", + { + "id": "#c:taiga", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_deciduous.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_deciduous.json new file mode 100644 index 000000000..10acad281 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_deciduous.json @@ -0,0 +1,11 @@ +{ + "replace": false, + "values": [ + "minecraft:forest", + "minecraft:windswept_forest", + "minecraft:flower_forest", + "minecraft:birch_forest", + "minecraft:dark_forest", + "minecraft:old_growth_birch_forest" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_jungle.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_jungle.json new file mode 100644 index 000000000..f47b75d1a --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_jungle.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:jungle", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_savanna.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_savanna.json new file mode 100644 index 000000000..3639d53cb --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/tree_savanna.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:savanna", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/underground.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/underground.json new file mode 100644 index 000000000..48a0275e9 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/underground.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:caves", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/vegetation_dense.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/vegetation_dense.json new file mode 100644 index 000000000..8349d82c2 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/vegetation_dense.json @@ -0,0 +1,10 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:jungle", + "required": false + }, + "minecraft:sunflower_plains" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/vegetation_sparse.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/vegetation_sparse.json new file mode 100644 index 000000000..19aa4173d --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/vegetation_sparse.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + { + "id": "#c:savanna", + "required": false + }, + { + "id": "#c:desert", + "required": false + }, + { + "id": "#c:dead", + "required": false + }, + "minecraft:lush_caves", + { + "id": "#c:wasteland", + "required": false + } + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/void.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/void.json new file mode 100644 index 000000000..76ee21125 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/void.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "minecraft:the_void" + ] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/wasteland.json b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/wasteland.json new file mode 100644 index 000000000..5e8aecc98 --- /dev/null +++ b/fabric-convention-tags-v1/src/generated/resources/data/c/tags/worldgen/biome/wasteland.json @@ -0,0 +1,4 @@ +{ + "replace": false, + "values": [] +} \ No newline at end of file diff --git a/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalBiomeTags.java b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalBiomeTags.java new file mode 100644 index 000000000..4b3e37d78 --- /dev/null +++ b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalBiomeTags.java @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.api.tag.convention.v1; + +import net.minecraft.tag.TagKey; +import net.minecraft.world.biome.Biome; + +import net.fabricmc.fabric.impl.tag.convention.TagRegistration; + +/** + * See {@link net.minecraft.tag.BiomeTags} for vanilla tags. + * Note that addition to some vanilla tags implies having certain functionality, + * and as such certain biome tags exist to mirror vanilla tags, and should be preferred + * over vanilla unless its behavior is desired. + */ +public class ConventionalBiomeTags { + /** + * Biomes that spawn in the Overworld. + */ + public static final TagKey<Biome> IN_OVERWORLD = register("in_overworld"); + // The following are based on Biome categories, see Biome$Category for details + /** + * Biomes that spawn in the End. + */ + public static final TagKey<Biome> IN_THE_END = register("in_the_end"); + /** + * Biomes that spawn in the Nether. + */ + public static final TagKey<Biome> IN_NETHER = register("in_nether"); + public static final TagKey<Biome> TAIGA = register("taiga"); + public static final TagKey<Biome> EXTREME_HILLS = register("extreme_hills"); + public static final TagKey<Biome> JUNGLE = register("jungle"); + public static final TagKey<Biome> MESA = register("mesa"); + /** + * For temperate or warmer plains-like biomes. + * For snowy plains-like biomes, see {@link ConventionalBiomeTags#SNOWY_PLAINS}. + */ + public static final TagKey<Biome> PLAINS = register("plains"); + public static final TagKey<Biome> SAVANNA = register("savanna"); + /** + * For biomes where ice naturally spawns. + * For biomes where snow alone spawns, see {@link ConventionalBiomeTags#SNOWY}. + */ + public static final TagKey<Biome> ICY = register("icy"); + /** + * Biomes that exist on the shoreline of a body of water. + */ + public static final TagKey<Biome> BEACH = register("beach"); + /** + * Biomes densely populated with deciduous trees. + */ + public static final TagKey<Biome> FOREST = register("forest"); + public static final TagKey<Biome> OCEAN = register("ocean"); + public static final TagKey<Biome> DESERT = register("desert"); + public static final TagKey<Biome> RIVER = register("river"); + public static final TagKey<Biome> SWAMP = register("swamp"); + public static final TagKey<Biome> MUSHROOM = register("mushroom"); + public static final TagKey<Biome> UNDERGROUND = register("underground"); + public static final TagKey<Biome> MOUNTAIN = register("mountain"); + + public static final TagKey<Biome> CLIMATE_HOT = register("climate_hot"); + public static final TagKey<Biome> CLIMATE_TEMPERATE = register("climate_temperate"); + public static final TagKey<Biome> CLIMATE_COLD = register("climate_cold"); + public static final TagKey<Biome> CLIMATE_WET = register("climate_wet"); + public static final TagKey<Biome> CLIMATE_DRY = register("climate_dry"); + public static final TagKey<Biome> VEGETATION_SPARSE = register("vegetation_sparse"); + public static final TagKey<Biome> VEGETATION_DENSE = register("vegetation_dense"); + public static final TagKey<Biome> TREE_CONIFEROUS = register("tree_coniferous"); + public static final TagKey<Biome> TREE_SAVANNA = register("tree_savanna"); + public static final TagKey<Biome> TREE_JUNGLE = register("tree_jungle"); + public static final TagKey<Biome> TREE_DECIDUOUS = register("tree_deciduous"); + public static final TagKey<Biome> VOID = register("void"); + public static final TagKey<Biome> MOUNTAIN_PEAK = register("mountain_peak"); + public static final TagKey<Biome> MOUNTAIN_SLOPE = register("mountain_slope"); + /** + * Biomes consisting primarily of water. + */ + public static final TagKey<Biome> AQUATIC = register("aquatic"); + /** + * Barren biomes that lack vegetation. + */ + public static final TagKey<Biome> WASTELAND = register("wasteland"); + /** + * Biomes whose flora primarily consists of dead or decaying vegetation. + */ + public static final TagKey<Biome> DEAD = register("dead"); + /** + * Biomes with a large amount of flowers. + */ + public static final TagKey<Biome> FLORAL = register("floral"); + /** + * For biomes where snow, and not ice, naturally spawns as an predominant feature. + * For biomes where ice is a predominant feature, see {@link ConventionalBiomeTags#ICY}. + */ + public static final TagKey<Biome> SNOWY = register("snowy"); + + public static final TagKey<Biome> BADLANDS = register("badlands"); + public static final TagKey<Biome> CAVES = register("caves"); + /** + * Biomes that spawn as or on islands in the End. + */ + public static final TagKey<Biome> END_ISLANDS = register("end_islands"); + public static final TagKey<Biome> NETHER_FORESTS = register("nether_forests"); + /** + * For snowy plains-like biomes. + * For warmer plains-like biomes, see {@link ConventionalBiomeTags#PLAINS}. + */ + public static final TagKey<Biome> SNOWY_PLAINS = register("snowy_plains"); + public static final TagKey<Biome> STONY_SHORES = register("stony_shores"); + public static final TagKey<Biome> FLOWER_FORESTS = register("flower_forests"); + public static final TagKey<Biome> DEEP_OCEAN = register("deep_ocean"); + public static final TagKey<Biome> SHALLOW_OCEAN = register("shallow_ocean"); + + private static TagKey<Biome> register(String tagID) { + return TagRegistration.BIOME_TAG_REGISTRATION.registerCommon(tagID); + } +} diff --git a/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalBlockTags.java b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalBlockTags.java new file mode 100644 index 000000000..747698585 --- /dev/null +++ b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalBlockTags.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.api.tag.convention.v1; + +import net.minecraft.block.AbstractBlock; +import net.minecraft.block.Block; +import net.minecraft.tag.TagKey; + +import net.fabricmc.fabric.impl.tag.convention.TagRegistration; + +/** + * See {@link net.minecraft.tag.BlockTags} for vanilla tags. + * Note that addition to some vanilla tags implies having certain functionality. + */ +public class ConventionalBlockTags { + public static final TagKey<Block> QUARTZ_ORES = register("quartz_ores"); + public static final TagKey<Block> ORES = register("ores"); + public static final TagKey<Block> CHESTS = register("chests"); + public static final TagKey<Block> BOOKSHELVES = register("bookshelves"); + public static final TagKey<Block> GLASS_BLOCKS = register("glass_blocks"); + public static final TagKey<Block> GLASS_PANES = register("glass_panes"); + public static final TagKey<Block> SHULKER_BOXES = register("shulker_boxes"); + /** + * Blocks should be included in this tag if their movement can cause serious issues such as world corruption + * upon being moved, such as chunk loaders or pipes, + * for mods that move blocks but do not respect {@link AbstractBlock.AbstractBlockState#getPistonBehavior}. + */ + public static final TagKey<Block> MOVEMENT_RESTRICTED = register("movement_restricted"); + + private static TagKey<Block> register(String tagID) { + return TagRegistration.BLOCK_TAG_REGISTRATION.registerCommon(tagID); + } +} diff --git a/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalEnchantmentTags.java b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalEnchantmentTags.java new file mode 100644 index 000000000..3361e461c --- /dev/null +++ b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalEnchantmentTags.java @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.api.tag.convention.v1; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.tag.TagKey; + +import net.fabricmc.fabric.impl.tag.convention.TagRegistration; + +public class ConventionalEnchantmentTags { + /** + * A tag containing enchantments that increase the amount or + * quality of drops from blocks, such as {@link net.minecraft.enchantment.Enchantments#FORTUNE}. + */ + public static final TagKey<Enchantment> INCREASES_BLOCK_DROPS = register("fortune"); + /** + * A tag containing enchantments that increase the amount or + * quality of drops from entities, such as {@link net.minecraft.enchantment.Enchantments#LOOTING}. + */ + public static final TagKey<Enchantment> INCREASES_ENTITY_DROPS = register("looting"); + /** + * For enchantments that increase the damage dealt by an item. + */ + public static final TagKey<Enchantment> WEAPON_DAMAGE_ENHANCEMENT = register("weapon_damage_enhancement"); + /** + * For enchantments that increase movement speed or otherwise benefit the entity wearing armor enchanted with it. + */ + public static final TagKey<Enchantment> ENTITY_MOVEMENT_ENHANCEMENT = register("entity_movement_enhancement"); + /** + * For enchantments that decrease damage taken or otherwise benefit, in regards to damage, the entity wearing armor enchanted with it. + */ + public static final TagKey<Enchantment> ENTITY_DEFENSE_ENHANCEMENT = register("entity_defense_enhancement"); + + private static TagKey<Enchantment> register(String tagID) { + return TagRegistration.ENCHANTMENT_TAG_REGISTRATION.registerCommon(tagID); + } +} diff --git a/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalEntityTypeTags.java b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalEntityTypeTags.java new file mode 100644 index 000000000..918c6ade7 --- /dev/null +++ b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalEntityTypeTags.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.api.tag.convention.v1; + +import net.minecraft.entity.EntityType; +import net.minecraft.tag.TagKey; + +import net.fabricmc.fabric.impl.tag.convention.TagRegistration; + +/** + * See {@link net.minecraft.tag.EntityTypeTags} for vanilla tags. + * Note that addition to some vanilla tags implies having certain functionality. + */ +public class ConventionalEntityTypeTags { + /** + * Tag containing entity types that display a boss health bar. + */ + public static final TagKey<EntityType<?>> BOSSES = register("bosses"); + public static final TagKey<EntityType<?>> MINECARTS = register("minecarts"); + public static final TagKey<EntityType<?>> BOATS = register("boats"); + + private static TagKey<EntityType<?>> register(String tagID) { + return TagRegistration.ENTITY_TYPE_TAG_REGISTRATION.registerCommon(tagID); + } +} diff --git a/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalFluidTags.java b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalFluidTags.java new file mode 100644 index 000000000..54b61ddfe --- /dev/null +++ b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalFluidTags.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.api.tag.convention.v1; + +import net.minecraft.fluid.Fluid; +import net.minecraft.tag.TagKey; + +import net.fabricmc.fabric.impl.tag.convention.TagRegistration; + +/** + * See {@link net.minecraft.tag.FluidTags} for vanilla tags. + * Note that addition to some vanilla tags implies having certain functionality. + */ +public class ConventionalFluidTags { + public static final TagKey<Fluid> LAVA = register("lava"); + public static final TagKey<Fluid> WATER = register("water"); + public static final TagKey<Fluid> MILK = register("milk"); + public static final TagKey<Fluid> HONEY = register("honey"); + + private static TagKey<Fluid> register(String tagID) { + return TagRegistration.FLUID_TAG_REGISTRATION.registerCommon(tagID); + } +} diff --git a/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalItemTags.java b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalItemTags.java new file mode 100644 index 000000000..06b6484e4 --- /dev/null +++ b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/api/tag/convention/v1/ConventionalItemTags.java @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.api.tag.convention.v1; + +import net.minecraft.item.Item; +import net.minecraft.tag.TagKey; + +import net.fabricmc.fabric.impl.tag.convention.TagRegistration; + +/** + * See {@link net.minecraft.tag.ItemTags} for vanilla tags. + * Note that addition to some vanilla tags implies having certain functionality. + */ +public class ConventionalItemTags { + // Tool tags + public static final TagKey<Item> PICKAXES = register("pickaxes"); + public static final TagKey<Item> SHOVELS = register("shovels"); + public static final TagKey<Item> HOES = register("hoes"); + public static final TagKey<Item> AXES = register("axes"); + public static final TagKey<Item> SHEARS = register("shears"); + /** + * For throwable weapons, like Minecraft tridents. + */ + public static final TagKey<Item> SPEARS = register("spears"); + public static final TagKey<Item> SWORDS = register("swords"); + public static final TagKey<Item> BOWS = register("bows"); + // Ores and ingots + public static final TagKey<Item> IRON_INGOTS = register("iron_ingots"); + public static final TagKey<Item> RAW_IRON_ORES = register("raw_iron_ores"); + public static final TagKey<Item> RAW_IRON_BLOCKS = register("raw_iron_blocks"); + public static final TagKey<Item> RAW_GOLD_ORES = register("raw_gold_ores"); + public static final TagKey<Item> RAW_GOLD_BLOCKS = register("raw_gold_blocks"); + public static final TagKey<Item> GOLD_INGOTS = register("gold_ingots"); + public static final TagKey<Item> REDSTONE_DUSTS = register("redstone_dusts"); + public static final TagKey<Item> COPPER_INGOTS = register("copper_ingots"); + public static final TagKey<Item> RAW_COPPER_ORES = register("raw_copper_ores"); + public static final TagKey<Item> RAW_COPPER_BLOCKS = register("raw_copper_blocks"); + public static final TagKey<Item> ORES = register("ores"); + public static final TagKey<Item> NETHERITE_INGOTS = register("netherite_ingots"); + public static final TagKey<Item> QUARTZ_ORES = register("quartz_ores"); + public static final TagKey<Item> QUARTZ = register("quartz"); + public static final TagKey<Item> LAPIS = register("lapis"); + public static final TagKey<Item> DIAMONDS = register("diamonds"); + public static final TagKey<Item> EMERALDS = register("emeralds"); + public static final TagKey<Item> COAL = register("coal"); + // Consumables + public static final TagKey<Item> FOODS = register("foods"); + public static final TagKey<Item> POTIONS = register("potions"); + // Buckets + public static final TagKey<Item> WATER_BUCKET = register("bucket/water"); + public static final TagKey<Item> LAVA_BUCKET = register("bucket/lava"); + public static final TagKey<Item> MILK_BUCKET = register("bucket/milk"); + public static final TagKey<Item> EMPTY_BUCKET = register("bucket/empty"); + + public static final TagKey<Item> GLASS_BLOCKS = register("glass_blocks"); + public static final TagKey<Item> GLASS_PANES = register("glass_panes"); + + public static final TagKey<Item> SHULKER_BOXES = register("shulker_boxes"); + + // Dyes + public static final TagKey<Item> DYES = register("dyes"); + public static final TagKey<Item> BLACK_DYES = register("black_dyes"); + public static final TagKey<Item> BLUE_DYES = register("blue_dyes"); + public static final TagKey<Item> BROWN_DYES = register("brown_dyes"); + public static final TagKey<Item> CYAN_DYES = register("cyan_dyes"); + public static final TagKey<Item> GRAY_DYES = register("gray_dyes"); + public static final TagKey<Item> GREEN_DYES = register("green_dyes"); + public static final TagKey<Item> LIGHT_BLUE_DYES = register("light_blue_dyes"); + public static final TagKey<Item> LIGHT_GRAY_DYES = register("light_gray_dyes"); + public static final TagKey<Item> LIME_DYES = register("lime_dyes"); + public static final TagKey<Item> MAGENTA_DYES = register("magenta_dyes"); + public static final TagKey<Item> ORANGE_DYES = register("orange_dyes"); + public static final TagKey<Item> PINK_DYES = register("pink_dyes"); + public static final TagKey<Item> PURPLE_DYES = register("purple_dyes"); + public static final TagKey<Item> RED_DYES = register("red_dyes"); + public static final TagKey<Item> WHITE_DYES = register("white_dyes"); + public static final TagKey<Item> YELLOW_DYES = register("yellow_dyes"); + + private static TagKey<Item> register(String tagID) { + return TagRegistration.ITEM_TAG_REGISTRATION.registerCommon(tagID); + } +} diff --git a/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/TagRegistration.java b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/TagRegistration.java new file mode 100644 index 000000000..cbe719f83 --- /dev/null +++ b/fabric-convention-tags-v1/src/main/java/net/fabricmc/fabric/impl/tag/convention/TagRegistration.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2016, 2017, 2018, 2019 FabricMC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.fabricmc.fabric.impl.tag.convention; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.EntityType; +import net.minecraft.fluid.Fluid; +import net.minecraft.item.Item; +import net.minecraft.tag.TagKey; +import net.minecraft.util.Identifier; +import net.minecraft.util.registry.Registry; +import net.minecraft.util.registry.RegistryKey; +import net.minecraft.world.biome.Biome; + +public class TagRegistration<T> { + public static final TagRegistration<Item> ITEM_TAG_REGISTRATION = new TagRegistration<>(Registry.ITEM_KEY); + public static final TagRegistration<Block> BLOCK_TAG_REGISTRATION = new TagRegistration<>(Registry.BLOCK_KEY); + public static final TagRegistration<Biome> BIOME_TAG_REGISTRATION = new TagRegistration<>(Registry.BIOME_KEY); + public static final TagRegistration<Fluid> FLUID_TAG_REGISTRATION = new TagRegistration<>(Registry.FLUID_KEY); + public static final TagRegistration<EntityType<?>> ENTITY_TYPE_TAG_REGISTRATION = new TagRegistration<>(Registry.ENTITY_TYPE_KEY); + public static final TagRegistration<Enchantment> ENCHANTMENT_TAG_REGISTRATION = new TagRegistration<>(Registry.ENCHANTMENT_KEY); + private final RegistryKey<Registry<T>> registryKey; + + private TagRegistration(RegistryKey<Registry<T>> registry) { + registryKey = registry; + } + + public TagKey<T> registerFabric(String tagId) { + return TagKey.of(registryKey, new Identifier("fabric", tagId)); + } + + public TagKey<T> registerCommon(String tagId) { + return TagKey.of(registryKey, new Identifier("c", tagId)); + } +} diff --git a/fabric-convention-tags-v1/src/main/resources/assets/fabric-convention-tags-v1/icon.png b/fabric-convention-tags-v1/src/main/resources/assets/fabric-convention-tags-v1/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2931efbf610873c0084debb8690902b0103d27fe GIT binary patch literal 1579 zcmbVMTWB0r7@iGm)TAXsYw<=rnU=;v=W=GRbL=!tc4Brl6GO7t2vVJ$IlDV#XU;e? z+r2ymsZdMQqAyaFLLUo;RumtE8Z@?uf_*4nP^4;o6fOFoSkN<j8Kcx&2hN<!|DEr@ zod5ryo}Zi9I&|j{!!TP5d3Ax#ARIRj(!bws|3s%--25Xx!whc=M~pe~^6d;0zuPJ< z1xwm2GKkIVCMjXQX}c87F#9H&u5K*j0F-dWauoLax87!fWh(5!lqPC!4p*&w+rx|P zxuVftHe{2X*bnwK5hbv3po6Aeb9~fP*bXnE>+o1$K?f2nE9_*b5G-l)AV)k5Qhb^- zU{V4ZnTKgnmXdpcB*Kg!W(1hvM2N&RO30x1u~eI9meGQGe@_?PDQq<eTqFpMMuTr8 zc;ZzAD9f@SN`fSD6v6o|C(xUm<L~S<sMt3=%MC2zfRIryk$Rx8)Y7gCwj0qpelJWk zU_w)O1;~q`OC6wTL^!wZ)jG;eL%=m`V<+$_7DiaNN&@0n$=^^%;y)>%q1CiV$8~M7 z?MQ_mOdqCh^a65Sv|ntwSXjV5se1;VK1|Kr8G7TQoQL&*ctt{L{fC<Gn+$Tf@L{sx z-h-B7l7_!$(;ckp0an;h&OwQT=^{*{R1(1qCuWf-cA*+Et#T`Z%AA<tq-;@w6o-;o zy8Q!6v&Pf|{a?YRfy%_Qb?UQa>lG}xPK5<gBvFpkh({Gu>k^yK3%T69N6J=>3jBqc zDNvZsrJ<Zoa}p0b=4u)$IDViz1}>-yOXI^^mWf1cmY^XST)CVzIGjvEPENowmy}ax zvJ8_(Cf#+H-dBlH53`_u-~6BVAMz|(g?jCVdBWNZ(+A}(pFV7>S3QgPiQcMaflkIC z-3Ti|VT~{au*vq0ts9O&m$p&Gl=L6+q6_m$IcVq}o~+Pl{g>1esQp4%wp~|*zk1n` zZ7T6Toc4`y88s}riCP|ZXrJ?FLz@^KTcyqLje<H^TzdE0PhK5b5x2)LE6;s)`N3ZX z2Cv?+vFqVy1|k2_cl$rw7=Ck$@N2wL$?9VEp7Gi35A3;$)g3FR_g;G8x7eAVQRC>y zu95Yz%F&S{<0~f)Iomek?+hQ%MhCu%T^zsg>C_L`1`Br`xNY&))k9yTQb$JC>)w_f zpU<A$%?N8BFlS$R^rq&-d+#&n&pq`bxOC;qliz$4TRVRI>(^tu^Q)y%W~lVz`jz;_ jF?g&s@Y=Qe&c#kW|JbvqK0Y=Rw)4XDoVqsk_>;c_`@;F@ literal 0 HcmV?d00001 diff --git a/fabric-convention-tags-v1/src/main/resources/fabric.mod.json b/fabric-convention-tags-v1/src/main/resources/fabric.mod.json new file mode 100644 index 000000000..9fd425d38 --- /dev/null +++ b/fabric-convention-tags-v1/src/main/resources/fabric.mod.json @@ -0,0 +1,26 @@ +{ + "schemaVersion": 1, + "id": "fabric-convention-tags-v1", + "name": "Fabric Convention Tags", + "version": "${version}", + "environment": "*", + "license": "Apache-2.0", + "icon": "assets/fabric-convention-tags-v1/icon.png", + "contact": { + "homepage": "https://fabricmc.net", + "irc": "irc://irc.esper.net:6667/fabric", + "issues": "https://github.com/FabricMC/fabric/issues", + "sources": "https://github.com/FabricMC/fabric" + }, + "authors": [ + "FabricMC" + ], + "depends": { + "fabricloader": ">=0.4.0", + "minecraft": ">=1.18.2" + }, + "description": "Contains common tags used by mods for vanilla things.", + "custom": { + "fabric-api:module-lifecycle": "stable" + } +} diff --git a/fabric-data-generation-api-v1/build.gradle b/fabric-data-generation-api-v1/build.gradle index 2b7365277..bd8c54409 100644 --- a/fabric-data-generation-api-v1/build.gradle +++ b/fabric-data-generation-api-v1/build.gradle @@ -110,3 +110,5 @@ ClassNode getClassNode(File input, String className) { } } } + +generateResources.dependsOn generateAccessWidener diff --git a/fabric-transitive-access-wideners-v1/build.gradle b/fabric-transitive-access-wideners-v1/build.gradle index 585443e00..36483de31 100644 --- a/fabric-transitive-access-wideners-v1/build.gradle +++ b/fabric-transitive-access-wideners-v1/build.gradle @@ -64,3 +64,5 @@ ClassNode loadClass(Path path) { return node } + +generateResources.dependsOn generateAccessWidener diff --git a/gradle.properties b/gradle.properties index d81fe3ab1..0bfb486ec 100644 --- a/gradle.properties +++ b/gradle.properties @@ -51,3 +51,4 @@ fabric-screen-handler-api-v1-version=1.2.0 fabric-textures-v0-version=1.0.12 fabric-transfer-api-v1-version=1.6.0 fabric-transitive-access-wideners-v1-version=1.0.2 +fabric-convention-tags-v1-version=1.0.0 diff --git a/settings.gradle b/settings.gradle index 813b02b61..6028689eb 100644 --- a/settings.gradle +++ b/settings.gradle @@ -54,4 +54,5 @@ include 'fabric-screen-api-v1' include 'fabric-screen-handler-api-v1' include 'fabric-textures-v0' include 'fabric-transfer-api-v1' +include 'fabric-convention-tags-v1' include 'fabric-transitive-access-wideners-v1'