diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBiomeTagProvider.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBiomeTagProvider.java index 9031bd49..6f34b3b3 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBiomeTagProvider.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBiomeTagProvider.java @@ -27,7 +27,7 @@ protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { builder(HAS_PALMS) .add(DESERT) .addOptionalTag(ConventionalBiomeTags.IS_DESERT); - builder(HAS_DARK_FOREST_WITCH_HUT) + builder(HAS_DARK_FOREST_WITCH_HUTS) .add(DARK_FOREST, PALE_GARDEN) .addOptionalTag(ConventionalBiomeTags.IS_DARK_FOREST); @@ -63,5 +63,15 @@ protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { builder(BiomeTags.SPAWNS_SNOW_FOXES).add(GLACARIAN_TAIGA); builder(BiomeTags.SPAWNS_WHITE_RABBITS).add(GLACARIAN_TAIGA); builder(BiomeTags.SNOW_GOLEM_MELTS).add(DARK_AMARANTH_FOREST); + + // Conventional + builder(PRIMARY_WOOD_TYPE_SAKURA).addTag(SAKURA_GROVES); + builder(PRIMARY_WOOD_TYPE_PALM).addTag(HAS_PALMS); + builder(PRIMARY_WOOD_TYPE_MAPLE).add(CARNELIAN_TREEWAY); + builder(PRIMARY_WOOD_TYPE_DARK_AMARANTH).add(DARK_AMARANTH_FOREST); + builder(ConventionalBiomeTags.IS_CONIFEROUS_TREE).add(CARNELIAN_TREEWAY); + builder(ConventionalBiomeTags.IS_SNOWY).add(GLACARIAN_TAIGA); + builder(ConventionalBiomeTags.IS_ICY).add(GLACARIAN_TAIGA); + builder(ConventionalBiomeTags.IS_NETHER_FOREST).add(DARK_AMARANTH_FOREST); } } \ No newline at end of file diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockTagProvider.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockTagProvider.java index e1596e1a..e2128614 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockTagProvider.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockTagProvider.java @@ -3,6 +3,7 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.fabricmc.fabric.api.tag.convention.v2.ConventionalBlockTags; +import net.fabricmc.fabric.api.tag.convention.v2.ConventionalItemTags; import net.minecraft.block.Blocks; import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.tag.BlockTags; @@ -10,6 +11,7 @@ import java.util.concurrent.CompletableFuture; import static fr.hugman.promenade.block.PromenadeBlocks.*; +import static fr.hugman.promenade.item.PromenadeItems.MAPLE_SYRUP_BOTTLE; import static fr.hugman.promenade.tag.PromenadeBlockTags.*; public class PromenadeBlockTagProvider extends FabricTagProvider.BlockTagProvider { @@ -218,5 +220,8 @@ protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { valueLookupBuilder(ConventionalBlockTags.STRIPPED_LOGS).add(STRIPPED_SAKURA_LOG, STRIPPED_MAPLE_LOG, STRIPPED_PALM_LOG, STRIPPED_DARK_AMARANTH_STEM); valueLookupBuilder(ConventionalBlockTags.STRIPPED_WOODS).add(STRIPPED_SAKURA_WOOD, STRIPPED_MAPLE_WOOD, STRIPPED_PALM_WOOD, STRIPPED_DARK_AMARANTH_HYPHAE); + valueLookupBuilder(IGNEOUS_ROCKS) + .add(Blocks.ANDESITE, Blocks.DIORITE, Blocks.GRANITE, Blocks.TUFF, BLUNITE); + } } \ No newline at end of file diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeEnglishLangProvider.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeEnglishLangProvider.java index 70523f18..3db4b965 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeEnglishLangProvider.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeEnglishLangProvider.java @@ -2,6 +2,10 @@ import fr.hugman.promenade.Promenade; import fr.hugman.promenade.item.PromenadeItems; +import fr.hugman.promenade.tag.PromenadeBiomeTags; +import fr.hugman.promenade.tag.PromenadeBlockTags; +import fr.hugman.promenade.tag.PromenadeEntityTypeTags; +import fr.hugman.promenade.tag.PromenadeItemTags; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; import net.minecraft.registry.Registry; @@ -9,6 +13,7 @@ import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.registry.tag.TagKey; import net.minecraft.util.DyeColor; import net.minecraft.util.Util; @@ -31,11 +36,15 @@ public void generateTranslations(RegistryWrapper.WrapperLookup wrapperLookup, Tr this.generateAutomaticTranslations(wrapperLookup, builder); + // Advancements + builder.add("advancements.promenade.adventure.kill_sunken_outside_water.description", "Kill a sunken that's outside of water using a crossbow while being submerged yourself"); builder.add("advancements.promenade.adventure.kill_sunken_outside_water.title", "Supernautica: Above Sixty-Two"); builder.add("advancements.promenade.husbandry.harvest_maple_syrup.description", "Strip a natural Maple tree using an Axe to collect Maple Syrup with a Bottle"); builder.add("advancements.promenade.husbandry.harvest_maple_syrup.title", "Don't Worry, Be Sappy!"); + // Subtitles + builder.add("subtitles.promenade.entity.capybara.ambient", "Capybara squeaks"); builder.add("subtitles.promenade.entity.capybara.death", "Capybara dies"); builder.add("subtitles.promenade.entity.capybara.fart", "Capybara farts"); @@ -48,11 +57,62 @@ public void generateTranslations(RegistryWrapper.WrapperLookup wrapperLookup, Tr builder.add("subtitles.promenade.entity.sunken.hurt", "Sunken hurts"); builder.add("subtitles.promenade.entity.sunken.shoot", "Sunken shoots"); + // Tags + + builder.add(PromenadeItemTags.APRICOTS_FOODS, "Apricots"); + builder.add(PromenadeItemTags.BANANA_FOODS, "Bananas"); + builder.add(PromenadeItemTags.MANGOES_FOODS, "Mangoes"); + builder.add(PromenadeItemTags.BLUEBERRIES_FOODS, "Blueberries"); + builder.add(PromenadeItemTags.MAPLE_SYRUP_DRINKS, "Maple Syrups"); + builder.add(PromenadeItemTags.CAPYBARA_FOOD, "Food for Capybaras"); + builder.add(PromenadeItemTags.DUCK_FOOD, "Food for Ducks"); + builder.add(PromenadeBiomeTags.PRIMARY_WOOD_TYPE_SAKURA, "Sakura Primary Wood Type"); + builder.add(PromenadeBiomeTags.PRIMARY_WOOD_TYPE_PALM, "Palm Primary Wood Type"); + builder.add(PromenadeBiomeTags.PRIMARY_WOOD_TYPE_MAPLE, "Maple Primary Wood Type"); + builder.add(PromenadeBiomeTags.PRIMARY_WOOD_TYPE_DARK_AMARANTH, "Dark Amaranth Primary Wood Type"); + this.generateAutomaticTagTranslations(builder, + PromenadeBlockTags.SAKURA_LOGS, + PromenadeBlockTags.MAPLE_LOGS, + PromenadeBlockTags.PALM_LOGS, + PromenadeBlockTags.DARK_AMARANTH_STEMS, + PromenadeBlockTags.SNOWY_LEAVES, + PromenadeBlockTags.FALLEN_LEAVES, + PromenadeBlockTags.LEAF_PILES, + PromenadeBlockTags.FLOWER_PILES, + PromenadeBlockTags.DARK_AMARANTH_FUNGUS_PLACEABLE_ON, + PromenadeBlockTags.DARK_AMARANTH_FUNGUS_GROWABLE_ON, + PromenadeBlockTags.DARK_AMARANTH_ROOTS_PLACEABLE_ON, + PromenadeBlockTags.IGNEOUS_ROCKS, + PromenadeItemTags.SAKURA_LOGS, + PromenadeItemTags.MAPLE_LOGS, + PromenadeItemTags.PALM_LOGS, + PromenadeItemTags.DARK_AMARANTH_STEMS, + PromenadeItemTags.SNOWY_LEAVES, + PromenadeItemTags.IGNEOUS_ROCKS, + PromenadeEntityTypeTags.ANIMALS, + PromenadeEntityTypeTags.MONSTERS, + PromenadeEntityTypeTags.BIRDS, + PromenadeEntityTypeTags.RODENTS, + PromenadeEntityTypeTags.CREEPERS, + PromenadeBiomeTags.SAKURA_GROVES, + PromenadeBiomeTags.HAS_PALMS, + PromenadeBiomeTags.HAS_DARK_FOREST_WITCH_HUTS, + PromenadeBiomeTags.CAN_FREEZE_DURING_SNOWFALL, + PromenadeBiomeTags.SPAWNS_CAPYBARAS, + PromenadeBiomeTags.SPAWNS_SUNKEN, + PromenadeBiomeTags.SPAWNS_MALLARD_DUCKS, + PromenadeBiomeTags.SPAWNS_PEKIN_DUCKS + ); + + // Other + builder.add("name.hugman", "Hugman"); builder.add("death.fell.accident.coiled_vines", "%1$s fell off some coiled vines"); builder.add("gamerule.doBlocksGetSnowy", "Blocks can get snowy"); builder.add("gamerule.doBlocksGetSnowy.description", "Some blocks may turn into snowy variants when they are covered by a snow layer"); + // Mod compatibility + builder.add("modmenu.descriptionTranslation.promenade", "Fancy and simplistic animals, biomes, structures and more!"); } @@ -112,6 +172,14 @@ private void generateAutomaticTranslations(RegistryWrapper.WrapperLookup wrapper } } + + private void generateAutomaticTagTranslations(TranslationBuilder builder, TagKey... tagKeys) { + for (var tagKey : tagKeys) { + var id = tagKey.id(); + builder.add(tagKey, snakeToTitleCase(id.getPath())); + } + } + private static List> getRegistryEntries(RegistryWrapper.WrapperLookup wrapperLookup, RegistryKey> registryKey) { return wrapperLookup.getOrThrow(registryKey).streamEntries() .filter(entry -> entry.registryKey().getValue().getNamespace().equals(Promenade.MOD_ID)) diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeEntityTypeTagProvider.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeEntityTypeTagProvider.java index 75913f25..05e9be3f 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeEntityTypeTagProvider.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeEntityTypeTagProvider.java @@ -1,6 +1,5 @@ package fr.hugman.promenade.data.provider; -import fr.hugman.promenade.entity.PromenadeEntityTypes; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; import net.minecraft.registry.RegistryWrapper; @@ -8,19 +7,35 @@ import java.util.concurrent.CompletableFuture; +import static fr.hugman.promenade.entity.PromenadeEntityTypes.*; +import static fr.hugman.promenade.tag.PromenadeEntityTypeTags.*; + public class PromenadeEntityTypeTagProvider extends FabricTagProvider.EntityTypeTagProvider { - public PromenadeEntityTypeTagProvider(FabricDataOutput output, CompletableFuture completableFuture) { - super(output, completableFuture); - } - - @Override - protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { - // Vanilla - valueLookupBuilder(EntityTypeTags.SKELETONS).add(PromenadeEntityTypes.SUNKEN); - valueLookupBuilder(EntityTypeTags.AXOLOTL_ALWAYS_HOSTILES).add(PromenadeEntityTypes.SUNKEN); - valueLookupBuilder(EntityTypeTags.FREEZE_IMMUNE_ENTITY_TYPES).add(PromenadeEntityTypes.DUCK); - valueLookupBuilder(EntityTypeTags.FALL_DAMAGE_IMMUNE).add(PromenadeEntityTypes.DUCK); - - valueLookupBuilder(EntityTypeTags.BOAT).add(PromenadeEntityTypes.SAKURA_BOAT, PromenadeEntityTypes.MAPLE_BOAT, PromenadeEntityTypes.PALM_BOAT); - } + public PromenadeEntityTypeTagProvider(FabricDataOutput output, CompletableFuture completableFuture) { + super(output, completableFuture); + } + + @Override + protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { + // Vanilla + valueLookupBuilder(EntityTypeTags.SKELETONS).add(SUNKEN); + valueLookupBuilder(EntityTypeTags.BOAT).add(SAKURA_BOAT, MAPLE_BOAT, PALM_BOAT); + valueLookupBuilder(EntityTypeTags.AQUATIC).add(SUNKEN, CAPYBARA); + + valueLookupBuilder(EntityTypeTags.AXOLOTL_ALWAYS_HOSTILES).add(SUNKEN); + valueLookupBuilder(EntityTypeTags.FREEZE_IMMUNE_ENTITY_TYPES).add(DUCK); + valueLookupBuilder(EntityTypeTags.FALL_DAMAGE_IMMUNE).add(DUCK); + valueLookupBuilder(EntityTypeTags.POWDER_SNOW_WALKABLE_MOBS).add(DUCK); + valueLookupBuilder(EntityTypeTags.NOT_SCARY_FOR_PUFFERFISH).add(CAPYBARA); + valueLookupBuilder(EntityTypeTags.CANDIDATE_FOR_IRON_GOLEM_GIFT).add(CAPYBARA); + valueLookupBuilder(EntityTypeTags.FOLLOWABLE_FRIENDLY_MOBS).add(DUCK, CAPYBARA); + + // Conventional + valueLookupBuilder(ANIMALS).add(DUCK, CAPYBARA); + valueLookupBuilder(MONSTERS).add(LUSH_CREEPER); + + valueLookupBuilder(BIRDS).add(DUCK); + valueLookupBuilder(RODENTS).add(CAPYBARA); + valueLookupBuilder(CREEPERS).add(LUSH_CREEPER); + } } \ No newline at end of file diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeItemTagProvider.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeItemTagProvider.java index 48e2f2c1..e63aa61c 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeItemTagProvider.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeItemTagProvider.java @@ -90,12 +90,36 @@ protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { // Conventional valueLookupBuilder(ConventionalItemTags.RAW_MEAT_FOODS).add(DUCK); valueLookupBuilder(ConventionalItemTags.COOKED_MEAT_FOODS).add(COOKED_DUCK); - copy(ConventionalBlockTags.STONES, ConventionalItemTags.STONES); - copy(ConventionalBlockTags.FENCES, ConventionalItemTags.FENCES); - copy(ConventionalBlockTags.WOODEN_FENCES, ConventionalItemTags.WOODEN_FENCES); - copy(ConventionalBlockTags.FENCE_GATES, ConventionalItemTags.FENCE_GATES); - copy(ConventionalBlockTags.WOODEN_FENCE_GATES, ConventionalItemTags.WOODEN_FENCE_GATES); - copy(ConventionalBlockTags.STRIPPED_WOODS, ConventionalItemTags.STRIPPED_WOODS); - copy(ConventionalBlockTags.STRIPPED_LOGS, ConventionalItemTags.STRIPPED_LOGS); - } + valueLookupBuilder(APRICOTS_FOODS).add(APRICOT); + valueLookupBuilder(BANANA_FOODS).add(BANANA); + valueLookupBuilder(MANGOES_FOODS).add(MANGO); + valueLookupBuilder(BLUEBERRIES_FOODS).add(BLUEBERRIES); + + valueLookupBuilder(ConventionalItemTags.FOODS) + .add(DUCK) + .add(COOKED_DUCK); + + valueLookupBuilder(ConventionalItemTags.FRUIT_FOODS) + .addTag(APRICOTS_FOODS) + .addTag(BANANA_FOODS) + .addTag(MANGOES_FOODS); + + valueLookupBuilder(ConventionalItemTags.BERRY_FOODS) + .addTag(BLUEBERRIES_FOODS); + + valueLookupBuilder(MAPLE_SYRUP_DRINKS) + .add(MAPLE_SYRUP_BOTTLE); + + valueLookupBuilder(ConventionalItemTags.DRINK_CONTAINING_BOTTLE) + .add(MAPLE_SYRUP_BOTTLE); + + copy(ConventionalBlockTags.STONES, ConventionalItemTags.STONES); + copy(ConventionalBlockTags.FENCES, ConventionalItemTags.FENCES); + copy(ConventionalBlockTags.WOODEN_FENCES, ConventionalItemTags.WOODEN_FENCES); + copy(ConventionalBlockTags.FENCE_GATES, ConventionalItemTags.FENCE_GATES); + copy(ConventionalBlockTags.WOODEN_FENCE_GATES, ConventionalItemTags.WOODEN_FENCE_GATES); + copy(ConventionalBlockTags.STRIPPED_WOODS, ConventionalItemTags.STRIPPED_WOODS); + copy(ConventionalBlockTags.STRIPPED_LOGS, ConventionalItemTags.STRIPPED_LOGS); + copy(PromenadeBlockTags.IGNEOUS_ROCKS, IGNEOUS_ROCKS); + } } \ No newline at end of file diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeStructureProvider.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeStructureProvider.java index b2c203d8..4a73c0cb 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeStructureProvider.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeStructureProvider.java @@ -40,7 +40,7 @@ public static void register(Registerable registerable) { registerable.register( PromenadeStructureKeys.DARK_FOREST_WITCH_HUT, new JigsawStructure( - new Structure.Config.Builder(biomes.getOrThrow(PromenadeBiomeTags.HAS_DARK_FOREST_WITCH_HUT)) + new Structure.Config.Builder(biomes.getOrThrow(PromenadeBiomeTags.HAS_DARK_FOREST_WITCH_HUTS)) .step(GenerationStep.Feature.SURFACE_STRUCTURES) .terrainAdaptation(StructureTerrainAdaptation.BEARD_THIN) .build(), diff --git a/src/main/java/fr/hugman/promenade/tag/PromenadeBiomeTags.java b/src/main/java/fr/hugman/promenade/tag/PromenadeBiomeTags.java index e897c777..8414e8a7 100644 --- a/src/main/java/fr/hugman/promenade/tag/PromenadeBiomeTags.java +++ b/src/main/java/fr/hugman/promenade/tag/PromenadeBiomeTags.java @@ -1,15 +1,18 @@ package fr.hugman.promenade.tag; import fr.hugman.promenade.Promenade; +import net.fabricmc.fabric.api.tag.convention.v2.TagUtil; +import net.minecraft.item.Item; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.Identifier; import net.minecraft.world.biome.Biome; public class PromenadeBiomeTags { public static final TagKey SAKURA_GROVES = of("sakura_groves"); public static final TagKey HAS_PALMS = of("has_palms"); - public static final TagKey HAS_DARK_FOREST_WITCH_HUT = of("has_structure/dark_forest_witch_hut"); + public static final TagKey HAS_DARK_FOREST_WITCH_HUTS = of("has_structure/dark_forest_witch_huts"); public static final TagKey CAN_FREEZE_DURING_SNOWFALL = of("can_freeze_during_snowfall"); @@ -18,7 +21,16 @@ public class PromenadeBiomeTags { public static final TagKey SPAWNS_MALLARD_DUCKS = of("spawns_mallard_ducks"); public static final TagKey SPAWNS_PEKIN_DUCKS = of("spawns_pekin_ducks"); + public static final TagKey PRIMARY_WOOD_TYPE_SAKURA = ofConventional("primary_wood_type/sakura"); + public static final TagKey PRIMARY_WOOD_TYPE_PALM = ofConventional("primary_wood_type/palm"); + public static final TagKey PRIMARY_WOOD_TYPE_MAPLE = ofConventional("primary_wood_type/maple"); + public static final TagKey PRIMARY_WOOD_TYPE_DARK_AMARANTH = ofConventional("primary_wood_type/dark_amaranth"); + private static TagKey of(String path) { return TagKey.of(RegistryKeys.BIOME, Promenade.id(path)); } + + private static TagKey ofConventional(String path) { + return TagKey.of(RegistryKeys.BIOME, Identifier.of(TagUtil.C_TAG_NAMESPACE, path)); + } } diff --git a/src/main/java/fr/hugman/promenade/tag/PromenadeBlockTags.java b/src/main/java/fr/hugman/promenade/tag/PromenadeBlockTags.java index 24dc3d3b..47146ddd 100644 --- a/src/main/java/fr/hugman/promenade/tag/PromenadeBlockTags.java +++ b/src/main/java/fr/hugman/promenade/tag/PromenadeBlockTags.java @@ -1,9 +1,12 @@ package fr.hugman.promenade.tag; import fr.hugman.promenade.Promenade; +import net.fabricmc.fabric.api.tag.convention.v2.TagUtil; import net.minecraft.block.Block; +import net.minecraft.item.Item; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.Identifier; public class PromenadeBlockTags { public static final TagKey SAKURA_LOGS = of("sakura_logs"); @@ -21,7 +24,13 @@ public class PromenadeBlockTags { public static final TagKey DARK_AMARANTH_FUNGUS_GROWABLE_ON = of("dark_amaranth_fungus_growable_on"); public static final TagKey DARK_AMARANTH_ROOTS_PLACEABLE_ON = of("dark_amaranth_roots_placeable_on"); + public static final TagKey IGNEOUS_ROCKS = ofConventional("igneous_rocks"); + public static TagKey of(String path) { return TagKey.of(RegistryKeys.BLOCK, Promenade.id(path)); } + + private static TagKey ofConventional(String path) { + return TagKey.of(RegistryKeys.BLOCK, Identifier.of(TagUtil.C_TAG_NAMESPACE, path)); + } } diff --git a/src/main/java/fr/hugman/promenade/tag/PromenadeEntityTypeTags.java b/src/main/java/fr/hugman/promenade/tag/PromenadeEntityTypeTags.java new file mode 100644 index 00000000..f86f650c --- /dev/null +++ b/src/main/java/fr/hugman/promenade/tag/PromenadeEntityTypeTags.java @@ -0,0 +1,25 @@ +package fr.hugman.promenade.tag; + +import fr.hugman.promenade.Promenade; +import net.fabricmc.fabric.api.tag.convention.v2.TagUtil; +import net.minecraft.entity.EntityType; +import net.minecraft.item.Item; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.Identifier; + +public class PromenadeEntityTypeTags { + public static final TagKey> ANIMALS = ofConventional("animals"); + public static final TagKey> MONSTERS = ofConventional("monsters"); + public static final TagKey> BIRDS = ofConventional("birds"); + public static final TagKey> RODENTS = ofConventional("rodents"); + public static final TagKey> CREEPERS = ofConventional("creepers"); + + private static TagKey> of(String path) { + return TagKey.of(RegistryKeys.ENTITY_TYPE, Promenade.id(path)); + } + + private static TagKey> ofConventional(String path) { + return TagKey.of(RegistryKeys.ENTITY_TYPE, Identifier.of(TagUtil.C_TAG_NAMESPACE, path)); + } +} diff --git a/src/main/java/fr/hugman/promenade/tag/PromenadeItemTags.java b/src/main/java/fr/hugman/promenade/tag/PromenadeItemTags.java index 6885a636..0c638e75 100644 --- a/src/main/java/fr/hugman/promenade/tag/PromenadeItemTags.java +++ b/src/main/java/fr/hugman/promenade/tag/PromenadeItemTags.java @@ -1,9 +1,11 @@ package fr.hugman.promenade.tag; import fr.hugman.promenade.Promenade; +import net.fabricmc.fabric.api.tag.convention.v2.TagUtil; import net.minecraft.item.Item; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.Identifier; public class PromenadeItemTags { public static final TagKey SAKURA_LOGS = of("sakura_logs"); @@ -13,10 +15,23 @@ public class PromenadeItemTags { public static final TagKey SNOWY_LEAVES = of("snowy_leaves"); - public static final TagKey CAPYBARA_FOOD = of("capybara_food"); - public static final TagKey DUCK_FOOD = of("duck_food"); + public static final TagKey CAPYBARA_FOOD = of("animal_food/capybara"); + public static final TagKey DUCK_FOOD = of("animal_food/duck"); + + public static final TagKey APRICOTS_FOODS = ofConventional("food/apricot"); + public static final TagKey BANANA_FOODS = ofConventional("food/banana"); + public static final TagKey MANGOES_FOODS = ofConventional("food/mango"); + public static final TagKey BLUEBERRIES_FOODS = ofConventional("food/blueberry"); + + public static final TagKey MAPLE_SYRUP_DRINKS = ofConventional("drinks/maple_syrup"); + + public static final TagKey IGNEOUS_ROCKS = ofConventional("igneous_rocks"); private static TagKey of(String path) { return TagKey.of(RegistryKeys.ITEM, Promenade.id(path)); } + + private static TagKey ofConventional(String path) { + return TagKey.of(RegistryKeys.ITEM, Identifier.of(TagUtil.C_TAG_NAMESPACE, path)); + } } diff --git a/src/main/resources/data/c/tags/entity_type/animals.json b/src/main/resources/data/c/tags/entity_type/animals.json deleted file mode 100644 index cdfcc9cb..00000000 --- a/src/main/resources/data/c/tags/entity_type/animals.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "replace": false, - "values": [ - "#c:animals/birds", - "#c:animals/rodents" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/entity_type/animals/birds.json b/src/main/resources/data/c/tags/entity_type/animals/birds.json deleted file mode 100644 index 6d5905c7..00000000 --- a/src/main/resources/data/c/tags/entity_type/animals/birds.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "promenade:duck" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/entity_type/animals/rodents.json b/src/main/resources/data/c/tags/entity_type/animals/rodents.json deleted file mode 100644 index 15b85b62..00000000 --- a/src/main/resources/data/c/tags/entity_type/animals/rodents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "promenade:capybara" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/entity_type/monsters.json b/src/main/resources/data/c/tags/entity_type/monsters.json deleted file mode 100644 index 0ab003bf..00000000 --- a/src/main/resources/data/c/tags/entity_type/monsters.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "#c:monsters/skeletons" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/entity_type/monsters/creepers.json b/src/main/resources/data/c/tags/entity_type/monsters/creepers.json deleted file mode 100644 index 72377a49..00000000 --- a/src/main/resources/data/c/tags/entity_type/monsters/creepers.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "replace": false, - "values": [ - "minecraft:creeper", - "promenade:lush_creeper" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/entity_type/monsters/skeletons.json b/src/main/resources/data/c/tags/entity_type/monsters/skeletons.json deleted file mode 100644 index 581279ec..00000000 --- a/src/main/resources/data/c/tags/entity_type/monsters/skeletons.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "replace": false, - "values": [ - "minecraft:skeleton", - "minecraft:stray", - "minecraft:wither_skeleton", - "promenade:sunken" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/item/foods.json b/src/main/resources/data/c/tags/item/foods.json deleted file mode 100644 index db782615..00000000 --- a/src/main/resources/data/c/tags/item/foods.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "replace": false, - "values": [ - "promenade:duck", - "promenade:cooked_duck", - "#c:fruits" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/item/fruits.json b/src/main/resources/data/c/tags/item/fruits.json deleted file mode 100644 index 1396896e..00000000 --- a/src/main/resources/data/c/tags/item/fruits.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "replace": false, - "values": [ - "#c:fruits/apricots", - "#c:fruits/bananas", - "#c:fruits/blueberries", - "#c:fruits/mangos" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/item/fruits/apricots.json b/src/main/resources/data/c/tags/item/fruits/apricots.json deleted file mode 100644 index e90cbee8..00000000 --- a/src/main/resources/data/c/tags/item/fruits/apricots.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "promenade:apricot" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/item/fruits/bananas.json b/src/main/resources/data/c/tags/item/fruits/bananas.json deleted file mode 100644 index 06f378c7..00000000 --- a/src/main/resources/data/c/tags/item/fruits/bananas.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "promenade:banana" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/item/fruits/blueberries.json b/src/main/resources/data/c/tags/item/fruits/blueberries.json deleted file mode 100644 index 47ce20f5..00000000 --- a/src/main/resources/data/c/tags/item/fruits/blueberries.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "promenade:blueberries" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/item/fruits/mangos.json b/src/main/resources/data/c/tags/item/fruits/mangos.json deleted file mode 100644 index b67217ff..00000000 --- a/src/main/resources/data/c/tags/item/fruits/mangos.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "promenade:mango" - ] -} \ No newline at end of file diff --git a/src/main/resources/data/c/tags/item/igneous_rocks.json b/src/main/resources/data/c/tags/item/igneous_rocks.json deleted file mode 100644 index e93de12a..00000000 --- a/src/main/resources/data/c/tags/item/igneous_rocks.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "replace": false, - "values": [ - "promenade:blunite", - "promenade:asphalt" - ] -} \ No newline at end of file