diff --git a/common/src/main/java/net/cmr/jurassicrevived/datagen/ModBlockTagProvider.java b/common/src/main/java/net/cmr/jurassicrevived/datagen/ModBlockTagProvider.java new file mode 100644 index 0000000..dd50aeb --- /dev/null +++ b/common/src/main/java/net/cmr/jurassicrevived/datagen/ModBlockTagProvider.java @@ -0,0 +1,176 @@ +package net.cmr.jurassicrevived.datagen; + +import net.cmr.jurassicrevived.block.ModBlocks; +import net.cmr.jurassicrevived.util.ModTags; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; + +public class ModBlockTagProvider { + + public interface BlockTagHelper { + void tag(net.minecraft.tags.TagKey tag, Block... blocks); + } + + public static void registerBlockTags(BlockTagHelper helper) { + helper.tag(BlockTags.MINEABLE_WITH_PICKAXE, + ModBlocks.CAT_PLUSHIE.get(), + ModBlocks.TRASH_CAN.get(), + ModBlocks.BENCH.get(), + ModBlocks.CHARRED_TERRACOTTA.get(), + ModBlocks.FENCE_LIGHT.get(), + ModBlocks.LIGHT_POST.get(), + ModBlocks.GYPSUM_STONE.get(), + ModBlocks.GYPSUM_COBBLESTONE.get(), + ModBlocks.GYPSUM_STONE_BRICKS.get(), + ModBlocks.SMOOTH_GYPSUM_STONE.get(), + ModBlocks.CHISELED_GYPSUM_STONE.get(), + ModBlocks.GYPSUM_BRICK_STAIRS.get(), + ModBlocks.GYPSUM_BRICK_SLAB.get(), + ModBlocks.GYPSUM_BRICK_WALL.get(), + ModBlocks.REINFORCED_STONE.get(), + ModBlocks.REINFORCED_STONE_BRICKS.get(), + ModBlocks.CHISELED_REINFORCED_STONE.get(), + ModBlocks.REINFORCED_BRICK_STAIRS.get(), + ModBlocks.REINFORCED_BRICK_SLAB.get(), + ModBlocks.REINFORCED_BRICK_WALL.get(), + ModBlocks.STONE_FOSSIL.get(), + ModBlocks.DEEPSLATE_FOSSIL.get(), + ModBlocks.AMBER_ORE.get(), + ModBlocks.DEEPSLATE_ICE_SHARD_ORE.get(), + ModBlocks.LOW_SECURITY_FENCE_POLE.get(), + ModBlocks.LOW_SECURITY_FENCE_WIRE.get(), + ModBlocks.MEDIUM_SECURITY_FENCE_POLE.get(), + ModBlocks.MEDIUM_SECURITY_FENCE_WIRE.get(), + ModBlocks.GENERATOR.get(), + ModBlocks.DNA_EXTRACTOR.get(), + ModBlocks.DNA_ANALYZER.get(), + ModBlocks.FOSSIL_CLEANER.get(), + ModBlocks.FOSSIL_GRINDER.get(), + ModBlocks.DNA_HYBRIDIZER.get(), + ModBlocks.EMBRYONIC_MACHINE.get(), + ModBlocks.EMBRYO_CALCIFICATION_MACHINE.get(), + ModBlocks.INCUBATOR.get(), + ModBlocks.WHITE_GENERATOR.get(), + ModBlocks.WHITE_DNA_EXTRACTOR.get(), + ModBlocks.WHITE_DNA_ANALYZER.get(), + ModBlocks.WHITE_FOSSIL_CLEANER.get(), + ModBlocks.WHITE_FOSSIL_GRINDER.get(), + ModBlocks.WHITE_DNA_HYBRIDIZER.get(), + ModBlocks.WHITE_EMBRYONIC_MACHINE.get(), + ModBlocks.WHITE_EMBRYO_CALCIFICATION_MACHINE.get(), + ModBlocks.WHITE_INCUBATOR.get(), + ModBlocks.TANK.get(), + ModBlocks.POWER_CELL.get(), + ModBlocks.IRON_CRATE.get() + ); + + helper.tag(BlockTags.MINEABLE_WITH_AXE, + ModBlocks.WOOD_CRATE.get() + ); + + helper.tag(ModTags.Blocks.INCUBATED_EGGS, + ModBlocks.INCUBATED_VELOCIRAPTOR_EGG.get(), + ModBlocks.INCUBATED_TYRANNOSAURUS_REX_EGG.get(), + ModBlocks.INCUBATED_TRICERATOPS_EGG.get(), + ModBlocks.INCUBATED_SPINOSAURUS_EGG.get(), + ModBlocks.INCUBATED_OURANOSAURUS_EGG.get(), + ModBlocks.INCUBATED_PARASAUROLOPHUS_EGG.get(), + ModBlocks.INCUBATED_INDOMINUS_REX_EGG.get(), + ModBlocks.INCUBATED_GALLIMIMUS_EGG.get(), + ModBlocks.INCUBATED_DIPLODOCUS_EGG.get(), + ModBlocks.INCUBATED_DILOPHOSAURUS_EGG.get(), + ModBlocks.INCUBATED_COMPSOGNATHUS_EGG.get(), + ModBlocks.INCUBATED_CERATOSAURUS_EGG.get(), + ModBlocks.INCUBATED_BRACHIOSAURUS_EGG.get(), + ModBlocks.INCUBATED_ALBERTOSAURUS_EGG.get(), + ModBlocks.INCUBATED_APATOSAURUS_EGG.get(), + ModBlocks.INCUBATED_BARYONYX_EGG.get(), + ModBlocks.INCUBATED_CARNOTAURUS_EGG.get(), + ModBlocks.INCUBATED_CONCAVENATOR_EGG.get(), + ModBlocks.INCUBATED_DEINONYCHUS_EGG.get(), + ModBlocks.INCUBATED_EDMONTOSAURUS_EGG.get(), + ModBlocks.INCUBATED_GIGANOTOSAURUS_EGG.get(), + ModBlocks.INCUBATED_GUANLONG_EGG.get(), + ModBlocks.INCUBATED_HERRERASAURUS_EGG.get(), + ModBlocks.INCUBATED_MAJUNGASAURUS_EGG.get(), + ModBlocks.INCUBATED_PROCOMPSOGNATHUS_EGG.get(), + ModBlocks.INCUBATED_PROTOCERATOPS_EGG.get(), + ModBlocks.INCUBATED_RUGOPS_EGG.get(), + ModBlocks.INCUBATED_SHANTUNGOSAURUS_EGG.get(), + ModBlocks.INCUBATED_STEGOSAURUS_EGG.get(), + ModBlocks.INCUBATED_STYRACOSAURUS_EGG.get(), + ModBlocks.INCUBATED_THERIZINOSAURUS_EGG.get(), + ModBlocks.INCUBATED_DISTORTUS_REX_EGG.get(), + ModBlocks.INCUBATED_ALLOSAURUS_EGG.get(), + ModBlocks.INCUBATED_ALVAREZSAURUS_EGG.get(), + ModBlocks.INCUBATED_ANKYLOSAURUS_EGG.get(), + ModBlocks.INCUBATED_ARAMBOURGIANIA_EGG.get(), + ModBlocks.INCUBATED_CARCHARODONTOSAURUS_EGG.get(), + ModBlocks.INCUBATED_CEARADACTYLUS_EGG.get(), + ModBlocks.INCUBATED_CHASMOSAURUS_EGG.get(), + ModBlocks.INCUBATED_COELOPHYSIS_EGG.get(), + ModBlocks.INCUBATED_COELURUS_EGG.get(), + ModBlocks.INCUBATED_CORYTHOSAURUS_EGG.get(), + ModBlocks.INCUBATED_DIMORPHODON_EGG.get(), + ModBlocks.INCUBATED_DRYOSAURUS_EGG.get(), + ModBlocks.INCUBATED_GEOSTERNBERGIA_EGG.get(), + ModBlocks.INCUBATED_GUIDRACO_EGG.get(), + ModBlocks.INCUBATED_HADROSAURUS_EGG.get(), + ModBlocks.INCUBATED_HYPSILOPHODON_EGG.get(), + ModBlocks.INCUBATED_INDORAPTOR_EGG.get(), + ModBlocks.INCUBATED_INOSTRANCEVIA_EGG.get(), + ModBlocks.INCUBATED_LAMBEOSAURUS_EGG.get(), + ModBlocks.INCUBATED_LUDODACTYLUS_EGG.get(), + ModBlocks.INCUBATED_MAMENCHISAURUS_EGG.get(), + ModBlocks.INCUBATED_METRIACANTHOSAURUS_EGG.get(), + ModBlocks.INCUBATED_MOGANOPTERUS_EGG.get(), + ModBlocks.INCUBATED_NYCTOSAURUS_EGG.get(), + ModBlocks.INCUBATED_ORNITHOLESTES_EGG.get(), + ModBlocks.INCUBATED_ORNITHOMIMUS_EGG.get(), + ModBlocks.INCUBATED_OVIRAPTOR_EGG.get(), + ModBlocks.INCUBATED_PACHYCEPHALOSAURUS_EGG.get(), + ModBlocks.INCUBATED_PROCERATOSAURUS_EGG.get(), + ModBlocks.INCUBATED_PTERANODON_EGG.get(), + ModBlocks.INCUBATED_PTERODAUSTRO_EGG.get(), + ModBlocks.INCUBATED_QUETZALCOATLUS_EGG.get(), + ModBlocks.INCUBATED_RAJASAURUS_EGG.get(), + ModBlocks.INCUBATED_SEGISAURUS_EGG.get(), + ModBlocks.INCUBATED_TAPEJARA_EGG.get(), + ModBlocks.INCUBATED_TITANOSAURUS_EGG.get(), + ModBlocks.INCUBATED_TROODON_EGG.get(), + ModBlocks.INCUBATED_TROPEOGNATHUS_EGG.get(), + ModBlocks.INCUBATED_TUPUXUARA_EGG.get(), + ModBlocks.INCUBATED_UTAHRAPTOR_EGG.get(), + ModBlocks.INCUBATED_ZHENYUANOPTERUS_EGG.get() + ); + + helper.tag(BlockTags.MINEABLE_WITH_SHOVEL); + + helper.tag(BlockTags.NEEDS_STONE_TOOL, + ModBlocks.STONE_FOSSIL.get(), + ModBlocks.AMBER_ORE.get() + ); + + helper.tag(BlockTags.NEEDS_IRON_TOOL, + ModBlocks.DEEPSLATE_FOSSIL.get(), + ModBlocks.DEEPSLATE_ICE_SHARD_ORE.get() + ); + + helper.tag(ModTags.Blocks.AQUATIC_PLACEMENT_REPLACEABLES, + Blocks.STONE, + Blocks.GRANITE, + Blocks.DIORITE, + Blocks.ANDESITE, + Blocks.GRAVEL, + Blocks.DIRT, + Blocks.SAND, + Blocks.CLAY + ); + + helper.tag(BlockTags.WALLS, + ModBlocks.GYPSUM_BRICK_WALL.get(), + ModBlocks.REINFORCED_BRICK_WALL.get() + ); + } +} diff --git a/common/src/main/java/net/cmr/jurassicrevived/datagen/ModItemTagProvider.java b/common/src/main/java/net/cmr/jurassicrevived/datagen/ModItemTagProvider.java new file mode 100644 index 0000000..c196a02 --- /dev/null +++ b/common/src/main/java/net/cmr/jurassicrevived/datagen/ModItemTagProvider.java @@ -0,0 +1,474 @@ +package net.cmr.jurassicrevived.datagen; + +import net.cmr.jurassicrevived.block.ModBlocks; +import net.cmr.jurassicrevived.item.ModItems; +import net.cmr.jurassicrevived.util.ModTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; + +public class ModItemTagProvider { + + public interface ItemTagHelper { + void tag(TagKey tag, Item... items); + } + + public static void registerItemTags(ItemTagHelper helper) { + helper.tag(ModTags.Items.TISSUES, + ModItems.APATOSAURUS_TISSUE.get(), + ModItems.ALBERTOSAURUS_TISSUE.get(), + ModItems.BRACHIOSAURUS_TISSUE.get(), + ModItems.CERATOSAURUS_TISSUE.get(), + ModItems.COMPSOGNATHUS_TISSUE.get(), + ModItems.DILOPHOSAURUS_TISSUE.get(), + ModItems.DIPLODOCUS_TISSUE.get(), + ModItems.GALLIMIMUS_TISSUE.get(), + ModItems.INDOMINUS_REX_TISSUE.get(), + ModItems.OURANOSAURUS_TISSUE.get(), + ModItems.PARASAUROLOPHUS_TISSUE.get(), + ModItems.SPINOSAURUS_TISSUE.get(), + ModItems.TRICERATOPS_TISSUE.get(), + ModItems.TYRANNOSAURUS_REX_TISSUE.get(), + ModItems.VELOCIRAPTOR_TISSUE.get(), + ModItems.BARYONYX_TISSUE.get(), + ModItems.CARNOTAURUS_TISSUE.get(), + ModItems.CONCAVENATOR_TISSUE.get(), + ModItems.DEINONYCHUS_TISSUE.get(), + ModItems.EDMONTOSAURUS_TISSUE.get(), + ModItems.GIGANOTOSAURUS_TISSUE.get(), + ModItems.GUANLONG_TISSUE.get(), + ModItems.HERRERASAURUS_TISSUE.get(), + ModItems.MAJUNGASAURUS_TISSUE.get(), + ModItems.PROCOMPSOGNATHUS_TISSUE.get(), + ModItems.PROTOCERATOPS_TISSUE.get(), + ModItems.RUGOPS_TISSUE.get(), + ModItems.SHANTUNGOSAURUS_TISSUE.get(), + ModItems.STEGOSAURUS_TISSUE.get(), + ModItems.STYRACOSAURUS_TISSUE.get(), + ModItems.THERIZINOSAURUS_TISSUE.get(), + ModItems.DISTORTUS_REX_TISSUE.get(), + ModItems.DISTORTUS_REX_TISSUE.get(), + ModItems.ALLOSAURUS_TISSUE.get(), + ModItems.ALVAREZSAURUS_TISSUE.get(), + ModItems.ANKYLOSAURUS_TISSUE.get(), + ModItems.ARAMBOURGIANIA_TISSUE.get(), + ModItems.CARCHARODONTOSAURUS_TISSUE.get(), + ModItems.CEARADACTYLUS_TISSUE.get(), + ModItems.CHASMOSAURUS_TISSUE.get(), + ModItems.COELOPHYSIS_TISSUE.get(), + ModItems.COELURUS_TISSUE.get(), + ModItems.CORYTHOSAURUS_TISSUE.get(), + ModItems.DIMORPHODON_TISSUE.get(), + ModItems.DRYOSAURUS_TISSUE.get(), + ModItems.GEOSTERNBERGIA_TISSUE.get(), + ModItems.GUIDRACO_TISSUE.get(), + ModItems.HADROSAURUS_TISSUE.get(), + ModItems.HYPSILOPHODON_TISSUE.get(), + ModItems.INDORAPTOR_TISSUE.get(), + ModItems.INOSTRANCEVIA_TISSUE.get(), + ModItems.LAMBEOSAURUS_TISSUE.get(), + ModItems.LUDODACTYLUS_TISSUE.get(), + ModItems.MAMENCHISAURUS_TISSUE.get(), + ModItems.METRIACANTHOSAURUS_TISSUE.get(), + ModItems.MOGANOPTERUS_TISSUE.get(), + ModItems.NYCTOSAURUS_TISSUE.get(), + ModItems.ORNITHOLESTES_TISSUE.get(), + ModItems.ORNITHOMIMUS_TISSUE.get(), + ModItems.OVIRAPTOR_TISSUE.get(), + ModItems.PACHYCEPHALOSAURUS_TISSUE.get(), + ModItems.PROCERATOSAURUS_TISSUE.get(), + ModItems.PTERANODON_TISSUE.get(), + ModItems.PTERODAUSTRO_TISSUE.get(), + ModItems.QUETZALCOATLUS_TISSUE.get(), + ModItems.RAJASAURUS_TISSUE.get(), + ModItems.SEGISAURUS_TISSUE.get(), + ModItems.TAPEJARA_TISSUE.get(), + ModItems.TITANOSAURUS_TISSUE.get(), + ModItems.TROODON_TISSUE.get(), + ModItems.TROPEOGNATHUS_TISSUE.get(), + ModItems.TUPUXUARA_TISSUE.get(), + ModItems.UTAHRAPTOR_TISSUE.get(), + ModItems.ZHENYUANOPTERUS_TISSUE.get() + ); + + helper.tag(ModTags.Items.DNA, + ModItems.APATOSAURUS_DNA.get(), + ModItems.ALBERTOSAURUS_DNA.get(), + ModItems.BRACHIOSAURUS_DNA.get(), + ModItems.CERATOSAURUS_DNA.get(), + ModItems.COMPSOGNATHUS_DNA.get(), + ModItems.DILOPHOSAURUS_DNA.get(), + ModItems.DIPLODOCUS_DNA.get(), + ModItems.GALLIMIMUS_DNA.get(), + ModItems.INDOMINUS_REX_DNA.get(), + ModItems.OURANOSAURUS_DNA.get(), + ModItems.PARASAUROLOPHUS_DNA.get(), + ModItems.SPINOSAURUS_DNA.get(), + ModItems.TRICERATOPS_DNA.get(), + ModItems.TYRANNOSAURUS_REX_DNA.get(), + ModItems.VELOCIRAPTOR_DNA.get(), + ModItems.BARYONYX_DNA.get(), + ModItems.CARNOTAURUS_DNA.get(), + ModItems.CONCAVENATOR_DNA.get(), + ModItems.DEINONYCHUS_DNA.get(), + ModItems.EDMONTOSAURUS_DNA.get(), + ModItems.GIGANOTOSAURUS_DNA.get(), + ModItems.GUANLONG_DNA.get(), + ModItems.HERRERASAURUS_DNA.get(), + ModItems.MAJUNGASAURUS_DNA.get(), + ModItems.PROCOMPSOGNATHUS_DNA.get(), + ModItems.PROTOCERATOPS_DNA.get(), + ModItems.RUGOPS_DNA.get(), + ModItems.SHANTUNGOSAURUS_DNA.get(), + ModItems.STEGOSAURUS_DNA.get(), + ModItems.STYRACOSAURUS_DNA.get(), + ModItems.THERIZINOSAURUS_DNA.get(), + ModItems.DISTORTUS_REX_DNA.get(), + ModItems.DISTORTUS_REX_DNA.get(), + ModItems.ALLOSAURUS_DNA.get(), + ModItems.ALVAREZSAURUS_DNA.get(), + ModItems.ANKYLOSAURUS_DNA.get(), + ModItems.ARAMBOURGIANIA_DNA.get(), + ModItems.CARCHARODONTOSAURUS_DNA.get(), + ModItems.CEARADACTYLUS_DNA.get(), + ModItems.CHASMOSAURUS_DNA.get(), + ModItems.COELOPHYSIS_DNA.get(), + ModItems.COELURUS_DNA.get(), + ModItems.CORYTHOSAURUS_DNA.get(), + ModItems.DIMORPHODON_DNA.get(), + ModItems.DRYOSAURUS_DNA.get(), + ModItems.GEOSTERNBERGIA_DNA.get(), + ModItems.GUIDRACO_DNA.get(), + ModItems.HADROSAURUS_DNA.get(), + ModItems.HYPSILOPHODON_DNA.get(), + ModItems.INDORAPTOR_DNA.get(), + ModItems.INOSTRANCEVIA_DNA.get(), + ModItems.LAMBEOSAURUS_DNA.get(), + ModItems.LUDODACTYLUS_DNA.get(), + ModItems.MAMENCHISAURUS_DNA.get(), + ModItems.METRIACANTHOSAURUS_DNA.get(), + ModItems.MOGANOPTERUS_DNA.get(), + ModItems.NYCTOSAURUS_DNA.get(), + ModItems.ORNITHOLESTES_DNA.get(), + ModItems.ORNITHOMIMUS_DNA.get(), + ModItems.OVIRAPTOR_DNA.get(), + ModItems.PACHYCEPHALOSAURUS_DNA.get(), + ModItems.PROCERATOSAURUS_DNA.get(), + ModItems.PTERANODON_DNA.get(), + ModItems.PTERODAUSTRO_DNA.get(), + ModItems.QUETZALCOATLUS_DNA.get(), + ModItems.RAJASAURUS_DNA.get(), + ModItems.SEGISAURUS_DNA.get(), + ModItems.TAPEJARA_DNA.get(), + ModItems.TITANOSAURUS_DNA.get(), + ModItems.TROODON_DNA.get(), + ModItems.TROPEOGNATHUS_DNA.get(), + ModItems.TUPUXUARA_DNA.get(), + ModItems.UTAHRAPTOR_DNA.get(), + ModItems.ZHENYUANOPTERUS_DNA.get() + ); + + helper.tag(ModTags.Items.SYRINGES, + ModItems.APATOSAURUS_SYRINGE.get(), + ModItems.ALBERTOSAURUS_SYRINGE.get(), + ModItems.BRACHIOSAURUS_SYRINGE.get(), + ModItems.CERATOSAURUS_SYRINGE.get(), + ModItems.COMPSOGNATHUS_SYRINGE.get(), + ModItems.DILOPHOSAURUS_SYRINGE.get(), + ModItems.DIPLODOCUS_SYRINGE.get(), + ModItems.GALLIMIMUS_SYRINGE.get(), + ModItems.INDOMINUS_REX_SYRINGE.get(), + ModItems.OURANOSAURUS_SYRINGE.get(), + ModItems.PARASAUROLOPHUS_SYRINGE.get(), + ModItems.SPINOSAURUS_SYRINGE.get(), + ModItems.TRICERATOPS_SYRINGE.get(), + ModItems.TYRANNOSAURUS_REX_SYRINGE.get(), + ModItems.VELOCIRAPTOR_SYRINGE.get(), + ModItems.BARYONYX_SYRINGE.get(), + ModItems.CARNOTAURUS_SYRINGE.get(), + ModItems.CONCAVENATOR_SYRINGE.get(), + ModItems.DEINONYCHUS_SYRINGE.get(), + ModItems.EDMONTOSAURUS_SYRINGE.get(), + ModItems.GIGANOTOSAURUS_SYRINGE.get(), + ModItems.GUANLONG_SYRINGE.get(), + ModItems.HERRERASAURUS_SYRINGE.get(), + ModItems.MAJUNGASAURUS_SYRINGE.get(), + ModItems.PROCOMPSOGNATHUS_SYRINGE.get(), + ModItems.PROTOCERATOPS_SYRINGE.get(), + ModItems.RUGOPS_SYRINGE.get(), + ModItems.SHANTUNGOSAURUS_SYRINGE.get(), + ModItems.STEGOSAURUS_SYRINGE.get(), + ModItems.STYRACOSAURUS_SYRINGE.get(), + ModItems.THERIZINOSAURUS_SYRINGE.get(), + ModItems.DISTORTUS_REX_SYRINGE.get(), + ModItems.DISTORTUS_REX_SYRINGE.get(), + ModItems.ALLOSAURUS_SYRINGE.get(), + ModItems.ALVAREZSAURUS_SYRINGE.get(), + ModItems.ANKYLOSAURUS_SYRINGE.get(), + ModItems.ARAMBOURGIANIA_SYRINGE.get(), + ModItems.CARCHARODONTOSAURUS_SYRINGE.get(), + ModItems.CEARADACTYLUS_SYRINGE.get(), + ModItems.CHASMOSAURUS_SYRINGE.get(), + ModItems.COELOPHYSIS_SYRINGE.get(), + ModItems.COELURUS_SYRINGE.get(), + ModItems.CORYTHOSAURUS_SYRINGE.get(), + ModItems.DIMORPHODON_SYRINGE.get(), + ModItems.DRYOSAURUS_SYRINGE.get(), + ModItems.GEOSTERNBERGIA_SYRINGE.get(), + ModItems.GUIDRACO_SYRINGE.get(), + ModItems.HADROSAURUS_SYRINGE.get(), + ModItems.HYPSILOPHODON_SYRINGE.get(), + ModItems.INDORAPTOR_SYRINGE.get(), + ModItems.INOSTRANCEVIA_SYRINGE.get(), + ModItems.LAMBEOSAURUS_SYRINGE.get(), + ModItems.LUDODACTYLUS_SYRINGE.get(), + ModItems.MAMENCHISAURUS_SYRINGE.get(), + ModItems.METRIACANTHOSAURUS_SYRINGE.get(), + ModItems.MOGANOPTERUS_SYRINGE.get(), + ModItems.NYCTOSAURUS_SYRINGE.get(), + ModItems.ORNITHOLESTES_SYRINGE.get(), + ModItems.ORNITHOMIMUS_SYRINGE.get(), + ModItems.OVIRAPTOR_SYRINGE.get(), + ModItems.PACHYCEPHALOSAURUS_SYRINGE.get(), + ModItems.PROCERATOSAURUS_SYRINGE.get(), + ModItems.PTERANODON_SYRINGE.get(), + ModItems.PTERODAUSTRO_SYRINGE.get(), + ModItems.QUETZALCOATLUS_SYRINGE.get(), + ModItems.RAJASAURUS_SYRINGE.get(), + ModItems.SEGISAURUS_SYRINGE.get(), + ModItems.TAPEJARA_SYRINGE.get(), + ModItems.TITANOSAURUS_SYRINGE.get(), + ModItems.TROODON_SYRINGE.get(), + ModItems.TROPEOGNATHUS_SYRINGE.get(), + ModItems.TUPUXUARA_SYRINGE.get(), + ModItems.UTAHRAPTOR_SYRINGE.get(), + ModItems.ZHENYUANOPTERUS_SYRINGE.get() + ); + + helper.tag(ModTags.Items.EGGS, + Item.byBlock(ModBlocks.APATOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.ALBERTOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.BRACHIOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.CERATOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.COMPSOGNATHUS_EGG.get()), + Item.byBlock(ModBlocks.DILOPHOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.DIPLODOCUS_EGG.get()), + Item.byBlock(ModBlocks.GALLIMIMUS_EGG.get()), + Item.byBlock(ModBlocks.INDOMINUS_REX_EGG.get()), + Item.byBlock(ModBlocks.OURANOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.PARASAUROLOPHUS_EGG.get()), + Item.byBlock(ModBlocks.SPINOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.TRICERATOPS_EGG.get()), + Item.byBlock(ModBlocks.TYRANNOSAURUS_REX_EGG.get()), + Item.byBlock(ModBlocks.VELOCIRAPTOR_EGG.get()), + Item.byBlock(ModBlocks.BARYONYX_EGG.get()), + Item.byBlock(ModBlocks.CARNOTAURUS_EGG.get()), + Item.byBlock(ModBlocks.CONCAVENATOR_EGG.get()), + Item.byBlock(ModBlocks.DEINONYCHUS_EGG.get()), + Item.byBlock(ModBlocks.EDMONTOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.GIGANOTOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.GUANLONG_EGG.get()), + Item.byBlock(ModBlocks.HERRERASAURUS_EGG.get()), + Item.byBlock(ModBlocks.MAJUNGASAURUS_EGG.get()), + Item.byBlock(ModBlocks.PROCOMPSOGNATHUS_EGG.get()), + Item.byBlock(ModBlocks.PROTOCERATOPS_EGG.get()), + Item.byBlock(ModBlocks.RUGOPS_EGG.get()), + Item.byBlock(ModBlocks.SHANTUNGOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.STEGOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.STYRACOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.THERIZINOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.DISTORTUS_REX_EGG.get()), + Item.byBlock(ModBlocks.ALLOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.ALVAREZSAURUS_EGG.get()), + Item.byBlock(ModBlocks.ANKYLOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.ARAMBOURGIANIA_EGG.get()), + Item.byBlock(ModBlocks.CARCHARODONTOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.CEARADACTYLUS_EGG.get()), + Item.byBlock(ModBlocks.CHASMOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.COELOPHYSIS_EGG.get()), + Item.byBlock(ModBlocks.COELURUS_EGG.get()), + Item.byBlock(ModBlocks.CORYTHOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.DIMORPHODON_EGG.get()), + Item.byBlock(ModBlocks.DRYOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.GEOSTERNBERGIA_EGG.get()), + Item.byBlock(ModBlocks.GUIDRACO_EGG.get()), + Item.byBlock(ModBlocks.HADROSAURUS_EGG.get()), + Item.byBlock(ModBlocks.HYPSILOPHODON_EGG.get()), + Item.byBlock(ModBlocks.INDORAPTOR_EGG.get()), + Item.byBlock(ModBlocks.INOSTRANCEVIA_EGG.get()), + Item.byBlock(ModBlocks.LAMBEOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.LUDODACTYLUS_EGG.get()), + Item.byBlock(ModBlocks.MAMENCHISAURUS_EGG.get()), + Item.byBlock(ModBlocks.METRIACANTHOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.MOGANOPTERUS_EGG.get()), + Item.byBlock(ModBlocks.NYCTOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.ORNITHOLESTES_EGG.get()), + Item.byBlock(ModBlocks.ORNITHOMIMUS_EGG.get()), + Item.byBlock(ModBlocks.OVIRAPTOR_EGG.get()), + Item.byBlock(ModBlocks.PACHYCEPHALOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.PROCERATOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.PTERANODON_EGG.get()), + Item.byBlock(ModBlocks.PTERODAUSTRO_EGG.get()), + Item.byBlock(ModBlocks.QUETZALCOATLUS_EGG.get()), + Item.byBlock(ModBlocks.RAJASAURUS_EGG.get()), + Item.byBlock(ModBlocks.SEGISAURUS_EGG.get()), + Item.byBlock(ModBlocks.TAPEJARA_EGG.get()), + Item.byBlock(ModBlocks.TITANOSAURUS_EGG.get()), + Item.byBlock(ModBlocks.TROODON_EGG.get()), + Item.byBlock(ModBlocks.TROPEOGNATHUS_EGG.get()), + Item.byBlock(ModBlocks.TUPUXUARA_EGG.get()), + Item.byBlock(ModBlocks.UTAHRAPTOR_EGG.get()), + Item.byBlock(ModBlocks.ZHENYUANOPTERUS_EGG.get()) + ); + + helper.tag(ModTags.Items.FOSSILS, + ModItems.APATOSAURUS_SKULL_FOSSIL.get(), + ModItems.ALBERTOSAURUS_SKULL_FOSSIL.get(), + ModItems.BRACHIOSAURUS_SKULL_FOSSIL.get(), + ModItems.CERATOSAURUS_SKULL_FOSSIL.get(), + ModItems.COMPSOGNATHUS_SKULL_FOSSIL.get(), + ModItems.DILOPHOSAURUS_SKULL_FOSSIL.get(), + ModItems.DIPLODOCUS_SKULL_FOSSIL.get(), + ModItems.GALLIMIMUS_SKULL_FOSSIL.get(), + ModItems.PARASAUROLOPHUS_SKULL_FOSSIL.get(), + ModItems.OURANOSAURUS_SKULL_FOSSIL.get(), + ModItems.SPINOSAURUS_SKULL_FOSSIL.get(), + ModItems.TRICERATOPS_SKULL_FOSSIL.get(), + ModItems.TYRANNOSAURUS_REX_SKULL_FOSSIL.get(), + ModItems.VELOCIRAPTOR_SKULL_FOSSIL.get(), + ModItems.BARYONYX_SKULL_FOSSIL.get(), + ModItems.CARNOTAURUS_SKULL_FOSSIL.get(), + ModItems.CONCAVENATOR_SKULL_FOSSIL.get(), + ModItems.DEINONYCHUS_SKULL_FOSSIL.get(), + ModItems.EDMONTOSAURUS_SKULL_FOSSIL.get(), + ModItems.GIGANOTOSAURUS_SKULL_FOSSIL.get(), + ModItems.GUANLONG_SKULL_FOSSIL.get(), + ModItems.HERRERASAURUS_SKULL_FOSSIL.get(), + ModItems.MAJUNGASAURUS_SKULL_FOSSIL.get(), + ModItems.PROCOMPSOGNATHUS_SKULL_FOSSIL.get(), + ModItems.PROTOCERATOPS_SKULL_FOSSIL.get(), + ModItems.RUGOPS_SKULL_FOSSIL.get(), + ModItems.SHANTUNGOSAURUS_SKULL_FOSSIL.get(), + ModItems.STEGOSAURUS_SKULL_FOSSIL.get(), + ModItems.STYRACOSAURUS_SKULL_FOSSIL.get(), + ModItems.THERIZINOSAURUS_SKULL_FOSSIL.get(), + ModItems.THERIZINOSAURUS_SKULL_FOSSIL.get(), + ModItems.ALLOSAURUS_SKULL_FOSSIL.get(), + ModItems.ALVAREZSAURUS_SKULL_FOSSIL.get(), + ModItems.ANKYLOSAURUS_SKULL_FOSSIL.get(), + ModItems.ARAMBOURGIANIA_SKULL_FOSSIL.get(), + ModItems.CARCHARODONTOSAURUS_SKULL_FOSSIL.get(), + ModItems.CEARADACTYLUS_SKULL_FOSSIL.get(), + ModItems.CHASMOSAURUS_SKULL_FOSSIL.get(), + ModItems.COELOPHYSIS_SKULL_FOSSIL.get(), + ModItems.COELURUS_SKULL_FOSSIL.get(), + ModItems.CORYTHOSAURUS_SKULL_FOSSIL.get(), + ModItems.DIMORPHODON_SKULL_FOSSIL.get(), + ModItems.DRYOSAURUS_SKULL_FOSSIL.get(), + ModItems.GEOSTERNBERGIA_SKULL_FOSSIL.get(), + ModItems.GUIDRACO_SKULL_FOSSIL.get(), + ModItems.HADROSAURUS_SKULL_FOSSIL.get(), + ModItems.HYPSILOPHODON_SKULL_FOSSIL.get(), + ModItems.INOSTRANCEVIA_SKULL_FOSSIL.get(), + ModItems.LAMBEOSAURUS_SKULL_FOSSIL.get(), + ModItems.LUDODACTYLUS_SKULL_FOSSIL.get(), + ModItems.MAMENCHISAURUS_SKULL_FOSSIL.get(), + ModItems.METRIACANTHOSAURUS_SKULL_FOSSIL.get(), + ModItems.MOGANOPTERUS_SKULL_FOSSIL.get(), + ModItems.NYCTOSAURUS_SKULL_FOSSIL.get(), + ModItems.ORNITHOLESTES_SKULL_FOSSIL.get(), + ModItems.ORNITHOMIMUS_SKULL_FOSSIL.get(), + ModItems.OVIRAPTOR_SKULL_FOSSIL.get(), + ModItems.PACHYCEPHALOSAURUS_SKULL_FOSSIL.get(), + ModItems.PROCERATOSAURUS_SKULL_FOSSIL.get(), + ModItems.PTERANODON_SKULL_FOSSIL.get(), + ModItems.PTERODAUSTRO_SKULL_FOSSIL.get(), + ModItems.QUETZALCOATLUS_SKULL_FOSSIL.get(), + ModItems.RAJASAURUS_SKULL_FOSSIL.get(), + ModItems.SEGISAURUS_SKULL_FOSSIL.get(), + ModItems.TAPEJARA_SKULL_FOSSIL.get(), + ModItems.TITANOSAURUS_SKULL_FOSSIL.get(), + ModItems.TROODON_SKULL_FOSSIL.get(), + ModItems.TROPEOGNATHUS_SKULL_FOSSIL.get(), + ModItems.TUPUXUARA_SKULL_FOSSIL.get(), + ModItems.UTAHRAPTOR_SKULL_FOSSIL.get(), + ModItems.ZHENYUANOPTERUS_SKULL_FOSSIL.get() + ); + + helper.tag(ModTags.Items.SKULLS, + ModItems.FRESH_APATOSAURUS_SKULL.get(), + ModItems.FRESH_ALBERTOSAURUS_SKULL.get(), + ModItems.FRESH_BRACHIOSAURUS_SKULL.get(), + ModItems.FRESH_CERATOSAURUS_SKULL.get(), + ModItems.FRESH_COMPSOGNATHUS_SKULL.get(), + ModItems.FRESH_DILOPHOSAURUS_SKULL.get(), + ModItems.FRESH_DIPLODOCUS_SKULL.get(), + ModItems.FRESH_GALLIMIMUS_SKULL.get(), + ModItems.FRESH_INDOMINUS_REX_SKULL.get(), + ModItems.FRESH_PARASAUROLOPHUS_SKULL.get(), + ModItems.FRESH_OURANOSAURUS_SKULL.get(), + ModItems.FRESH_SPINOSAURUS_SKULL.get(), + ModItems.FRESH_TRICERATOPS_SKULL.get(), + ModItems.FRESH_TYRANNOSAURUS_REX_SKULL.get(), + ModItems.FRESH_VELOCIRAPTOR_SKULL.get(), + ModItems.FRESH_BARYONYX_SKULL.get(), + ModItems.FRESH_CARNOTAURUS_SKULL.get(), + ModItems.FRESH_CONCAVENATOR_SKULL.get(), + ModItems.FRESH_DEINONYCHUS_SKULL.get(), + ModItems.FRESH_EDMONTOSAURUS_SKULL.get(), + ModItems.FRESH_GIGANOTOSAURUS_SKULL.get(), + ModItems.FRESH_GUANLONG_SKULL.get(), + ModItems.FRESH_HERRERASAURUS_SKULL.get(), + ModItems.FRESH_MAJUNGASAURUS_SKULL.get(), + ModItems.FRESH_PROCOMPSOGNATHUS_SKULL.get(), + ModItems.FRESH_PROTOCERATOPS_SKULL.get(), + ModItems.FRESH_RUGOPS_SKULL.get(), + ModItems.FRESH_SHANTUNGOSAURUS_SKULL.get(), + ModItems.FRESH_STEGOSAURUS_SKULL.get(), + ModItems.FRESH_STYRACOSAURUS_SKULL.get(), + ModItems.FRESH_THERIZINOSAURUS_SKULL.get(), + ModItems.FRESH_DISTORTUS_REX_SKULL.get(), + ModItems.FRESH_DISTORTUS_REX_SKULL.get(), + ModItems.FRESH_ALLOSAURUS_SKULL.get(), + ModItems.FRESH_ALVAREZSAURUS_SKULL.get(), + ModItems.FRESH_ANKYLOSAURUS_SKULL.get(), + ModItems.FRESH_ARAMBOURGIANIA_SKULL.get(), + ModItems.FRESH_CARCHARODONTOSAURUS_SKULL.get(), + ModItems.FRESH_CEARADACTYLUS_SKULL.get(), + ModItems.FRESH_CHASMOSAURUS_SKULL.get(), + ModItems.FRESH_COELOPHYSIS_SKULL.get(), + ModItems.FRESH_COELURUS_SKULL.get(), + ModItems.FRESH_CORYTHOSAURUS_SKULL.get(), + ModItems.FRESH_DIMORPHODON_SKULL.get(), + ModItems.FRESH_DRYOSAURUS_SKULL.get(), + ModItems.FRESH_GEOSTERNBERGIA_SKULL.get(), + ModItems.FRESH_GUIDRACO_SKULL.get(), + ModItems.FRESH_HADROSAURUS_SKULL.get(), + ModItems.FRESH_HYPSILOPHODON_SKULL.get(), + ModItems.FRESH_INDORAPTOR_SKULL.get(), + ModItems.FRESH_INOSTRANCEVIA_SKULL.get(), + ModItems.FRESH_LAMBEOSAURUS_SKULL.get(), + ModItems.FRESH_LUDODACTYLUS_SKULL.get(), + ModItems.FRESH_MAMENCHISAURUS_SKULL.get(), + ModItems.FRESH_METRIACANTHOSAURUS_SKULL.get(), + ModItems.FRESH_MOGANOPTERUS_SKULL.get(), + ModItems.FRESH_NYCTOSAURUS_SKULL.get(), + ModItems.FRESH_ORNITHOLESTES_SKULL.get(), + ModItems.FRESH_ORNITHOMIMUS_SKULL.get(), + ModItems.FRESH_OVIRAPTOR_SKULL.get(), + ModItems.FRESH_PACHYCEPHALOSAURUS_SKULL.get(), + ModItems.FRESH_PROCERATOSAURUS_SKULL.get(), + ModItems.FRESH_PTERANODON_SKULL.get(), + ModItems.FRESH_PTERODAUSTRO_SKULL.get(), + ModItems.FRESH_QUETZALCOATLUS_SKULL.get(), + ModItems.FRESH_RAJASAURUS_SKULL.get(), + ModItems.FRESH_SEGISAURUS_SKULL.get(), + ModItems.FRESH_TAPEJARA_SKULL.get(), + ModItems.FRESH_TITANOSAURUS_SKULL.get(), + ModItems.FRESH_TROODON_SKULL.get(), + ModItems.FRESH_TROPEOGNATHUS_SKULL.get(), + ModItems.FRESH_TUPUXUARA_SKULL.get(), + ModItems.FRESH_UTAHRAPTOR_SKULL.get(), + ModItems.FRESH_ZHENYUANOPTERUS_SKULL.get() + ); + } +} diff --git a/common/src/main/resources/assets/jurassicrevived/textures/block/chiseled_gypsum_stone.png b/common/src/main/resources/assets/jurassicrevived/textures/block/chiseled_gypsum_stone.png index 399e9be..4c3a825 100644 Binary files a/common/src/main/resources/assets/jurassicrevived/textures/block/chiseled_gypsum_stone.png and b/common/src/main/resources/assets/jurassicrevived/textures/block/chiseled_gypsum_stone.png differ diff --git a/common/src/main/resources/assets/jurassicrevived/textures/block/chiseled_reinforced_stone.png b/common/src/main/resources/assets/jurassicrevived/textures/block/chiseled_reinforced_stone.png index af6c200..44160bf 100644 Binary files a/common/src/main/resources/assets/jurassicrevived/textures/block/chiseled_reinforced_stone.png and b/common/src/main/resources/assets/jurassicrevived/textures/block/chiseled_reinforced_stone.png differ diff --git a/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_cobblestone.png b/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_cobblestone.png index d4b33b3..a7a58c4 100644 Binary files a/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_cobblestone.png and b/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_cobblestone.png differ diff --git a/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_stone.png b/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_stone.png index 3143c2a..b2bab4d 100644 Binary files a/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_stone.png and b/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_stone.png differ diff --git a/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_stone_bricks.png b/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_stone_bricks.png index 273ff63..75b704a 100644 Binary files a/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_stone_bricks.png and b/common/src/main/resources/assets/jurassicrevived/textures/block/gypsum_stone_bricks.png differ diff --git a/common/src/main/resources/assets/jurassicrevived/textures/block/reinforced_stone.png b/common/src/main/resources/assets/jurassicrevived/textures/block/reinforced_stone.png index ae02418..e54e335 100644 Binary files a/common/src/main/resources/assets/jurassicrevived/textures/block/reinforced_stone.png and b/common/src/main/resources/assets/jurassicrevived/textures/block/reinforced_stone.png differ diff --git a/common/src/main/resources/assets/jurassicrevived/textures/block/reinforced_stone_bricks.png b/common/src/main/resources/assets/jurassicrevived/textures/block/reinforced_stone_bricks.png index c453325..6cd77c0 100644 Binary files a/common/src/main/resources/assets/jurassicrevived/textures/block/reinforced_stone_bricks.png and b/common/src/main/resources/assets/jurassicrevived/textures/block/reinforced_stone_bricks.png differ diff --git a/fabricmc/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java b/fabricmc/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java index ddb06f6..46a6ece 100644 --- a/fabricmc/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java +++ b/fabricmc/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java @@ -9,5 +9,7 @@ public class DataGenerators implements DataGeneratorEntrypoint { public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { FabricDataGenerator.Pack pack = fabricDataGenerator.createPack(); pack.addProvider(FabricModModelProvider::new); + pack.addProvider(FabricBlockTagProvider::new); + pack.addProvider(FabricItemTagProvider::new); } } diff --git a/fabricmc/src/main/java/net/cmr/jurassicrevived/datagen/FabricBlockTagProvider.java b/fabricmc/src/main/java/net/cmr/jurassicrevived/datagen/FabricBlockTagProvider.java new file mode 100644 index 0000000..d195f1a --- /dev/null +++ b/fabricmc/src/main/java/net/cmr/jurassicrevived/datagen/FabricBlockTagProvider.java @@ -0,0 +1,26 @@ +package net.cmr.jurassicrevived.datagen; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.core.HolderLookup; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.Block; + +import java.util.concurrent.CompletableFuture; + +public class FabricBlockTagProvider extends FabricTagProvider.BlockTagProvider implements ModBlockTagProvider.BlockTagHelper { + + public FabricBlockTagProvider(FabricDataOutput output, CompletableFuture registriesFuture) { + super(output, registriesFuture); + } + + @Override + protected void addTags(HolderLookup.Provider wrapperLookup) { + ModBlockTagProvider.registerBlockTags(this); + } + + @Override + public void tag(TagKey tag, Block... blocks) { + getOrCreateTagBuilder(tag).add(blocks); + } +} diff --git a/fabricmc/src/main/java/net/cmr/jurassicrevived/datagen/FabricItemTagProvider.java b/fabricmc/src/main/java/net/cmr/jurassicrevived/datagen/FabricItemTagProvider.java new file mode 100644 index 0000000..ad85437 --- /dev/null +++ b/fabricmc/src/main/java/net/cmr/jurassicrevived/datagen/FabricItemTagProvider.java @@ -0,0 +1,26 @@ +package net.cmr.jurassicrevived.datagen; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.core.HolderLookup; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; + +import java.util.concurrent.CompletableFuture; + +public class FabricItemTagProvider extends FabricTagProvider.ItemTagProvider implements ModItemTagProvider.ItemTagHelper { + + public FabricItemTagProvider(FabricDataOutput output, CompletableFuture completableFuture) { + super(output, completableFuture); + } + + @Override + protected void addTags(HolderLookup.Provider wrapperLookup) { + ModItemTagProvider.registerItemTags(this); + } + + @Override + public void tag(TagKey tag, Item... items) { + getOrCreateTagBuilder(tag).add(items); + } +} diff --git a/minecraftforge/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java b/minecraftforge/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java index 6c4d0cc..3e3029b 100644 --- a/minecraftforge/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java +++ b/minecraftforge/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java @@ -1,13 +1,17 @@ package net.cmr.jurassicrevived.datagen; import net.cmr.jurassicrevived.Constants; +import net.minecraft.core.HolderLookup; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; +import net.minecraftforge.common.data.BlockTagsProvider; import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.data.event.GatherDataEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; +import java.util.concurrent.CompletableFuture; + @Mod.EventBusSubscriber(modid = Constants.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) public class DataGenerators { @@ -16,8 +20,13 @@ public class DataGenerators { DataGenerator generator = event.getGenerator(); PackOutput packOutput = generator.getPackOutput(); ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); + CompletableFuture lookupProvider = event.getLookupProvider(); generator.addProvider(event.includeClient(), new ForgeBlockStateProvider(packOutput, existingFileHelper)); generator.addProvider(event.includeClient(), new ForgeItemModelProvider(packOutput, existingFileHelper)); + + BlockTagsProvider blockTagsProvider = new ForgeBlockTagProvider(packOutput, lookupProvider, existingFileHelper); + generator.addProvider(event.includeServer(), blockTagsProvider); + generator.addProvider(event.includeServer(), new ForgeItemTagProvider(packOutput, lookupProvider, blockTagsProvider.contentsGetter(), existingFileHelper)); } } diff --git a/minecraftforge/src/main/java/net/cmr/jurassicrevived/datagen/ForgeBlockTagProvider.java b/minecraftforge/src/main/java/net/cmr/jurassicrevived/datagen/ForgeBlockTagProvider.java new file mode 100644 index 0000000..f8d703b --- /dev/null +++ b/minecraftforge/src/main/java/net/cmr/jurassicrevived/datagen/ForgeBlockTagProvider.java @@ -0,0 +1,28 @@ +package net.cmr.jurassicrevived.datagen; + +import net.cmr.jurassicrevived.Constants; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.Block; +import net.minecraftforge.common.data.BlockTagsProvider; +import net.minecraftforge.common.data.ExistingFileHelper; +import org.jetbrains.annotations.Nullable; + +import java.util.concurrent.CompletableFuture; + +public class ForgeBlockTagProvider extends BlockTagsProvider implements ModBlockTagProvider.BlockTagHelper { + public ForgeBlockTagProvider(PackOutput output, CompletableFuture lookupProvider, @Nullable ExistingFileHelper existingFileHelper) { + super(output, lookupProvider, Constants.MOD_ID, existingFileHelper); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + ModBlockTagProvider.registerBlockTags(this); + } + + @Override + public void tag(TagKey tag, Block... blocks) { + tag(tag).add(blocks); + } +} diff --git a/minecraftforge/src/main/java/net/cmr/jurassicrevived/datagen/ForgeItemTagProvider.java b/minecraftforge/src/main/java/net/cmr/jurassicrevived/datagen/ForgeItemTagProvider.java new file mode 100644 index 0000000..69ff570 --- /dev/null +++ b/minecraftforge/src/main/java/net/cmr/jurassicrevived/datagen/ForgeItemTagProvider.java @@ -0,0 +1,30 @@ +package net.cmr.jurassicrevived.datagen; + +import net.cmr.jurassicrevived.Constants; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.ItemTagsProvider; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraftforge.common.data.ExistingFileHelper; +import org.jetbrains.annotations.Nullable; + +import java.util.concurrent.CompletableFuture; + +public class ForgeItemTagProvider extends ItemTagsProvider implements ModItemTagProvider.ItemTagHelper { + + public ForgeItemTagProvider(PackOutput output, CompletableFuture lookupProvider, CompletableFuture> blockTags, @Nullable ExistingFileHelper existingFileHelper) { + super(output, lookupProvider, blockTags, Constants.MOD_ID, existingFileHelper); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + ModItemTagProvider.registerItemTags(this); + } + + @Override + public void tag(TagKey tag, Item... items) { + tag(tag).add(items); + } +} diff --git a/neoforge/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java b/neoforge/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java index 58f653b..57832fb 100644 --- a/neoforge/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java +++ b/neoforge/src/main/java/net/cmr/jurassicrevived/datagen/DataGenerators.java @@ -1,13 +1,17 @@ package net.cmr.jurassicrevived.datagen; import net.cmr.jurassicrevived.Constants; +import net.minecraft.core.HolderLookup; import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.common.data.BlockTagsProvider; import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.data.event.GatherDataEvent; +import java.util.concurrent.CompletableFuture; + @EventBusSubscriber(modid = Constants.MOD_ID) public class DataGenerators { @@ -16,8 +20,13 @@ public class DataGenerators { DataGenerator generator = event.getGenerator(); PackOutput packOutput = generator.getPackOutput(); ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); + CompletableFuture lookupProvider = event.getLookupProvider(); generator.addProvider(event.includeClient(), new NeoForgeBlockStateProvider(packOutput, existingFileHelper)); generator.addProvider(event.includeClient(), new NeoForgeItemModelProvider(packOutput, existingFileHelper)); + + BlockTagsProvider blockTagsProvider = new NeoForgeBlockTagProvider(packOutput, lookupProvider, existingFileHelper); + generator.addProvider(event.includeServer(), blockTagsProvider); + generator.addProvider(event.includeServer(), new NeoForgeItemTagProvider(packOutput, lookupProvider, blockTagsProvider.contentsGetter(), existingFileHelper)); } } diff --git a/neoforge/src/main/java/net/cmr/jurassicrevived/datagen/NeoForgeBlockTagProvider.java b/neoforge/src/main/java/net/cmr/jurassicrevived/datagen/NeoForgeBlockTagProvider.java new file mode 100644 index 0000000..a141679 --- /dev/null +++ b/neoforge/src/main/java/net/cmr/jurassicrevived/datagen/NeoForgeBlockTagProvider.java @@ -0,0 +1,28 @@ +package net.cmr.jurassicrevived.datagen; + +import net.cmr.jurassicrevived.Constants; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.Block; +import net.neoforged.neoforge.common.data.BlockTagsProvider; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import org.jetbrains.annotations.Nullable; + +import java.util.concurrent.CompletableFuture; + +public class NeoForgeBlockTagProvider extends BlockTagsProvider implements ModBlockTagProvider.BlockTagHelper { + public NeoForgeBlockTagProvider(PackOutput output, CompletableFuture lookupProvider, @Nullable ExistingFileHelper existingFileHelper) { + super(output, lookupProvider, Constants.MOD_ID, existingFileHelper); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + ModBlockTagProvider.registerBlockTags(this); + } + + @Override + public void tag(TagKey tag, Block... blocks) { + tag(tag).add(blocks); + } +} diff --git a/neoforge/src/main/java/net/cmr/jurassicrevived/datagen/NeoForgeItemTagProvider.java b/neoforge/src/main/java/net/cmr/jurassicrevived/datagen/NeoForgeItemTagProvider.java new file mode 100644 index 0000000..7413ae8 --- /dev/null +++ b/neoforge/src/main/java/net/cmr/jurassicrevived/datagen/NeoForgeItemTagProvider.java @@ -0,0 +1,30 @@ +package net.cmr.jurassicrevived.datagen; + +import net.cmr.jurassicrevived.Constants; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.ItemTagsProvider; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import org.jetbrains.annotations.Nullable; + +import java.util.concurrent.CompletableFuture; + +public class NeoForgeItemTagProvider extends ItemTagsProvider implements ModItemTagProvider.ItemTagHelper { + + public NeoForgeItemTagProvider(PackOutput output, CompletableFuture lookupProvider, CompletableFuture> blockTags, @Nullable ExistingFileHelper existingFileHelper) { + super(output, lookupProvider, blockTags, Constants.MOD_ID, existingFileHelper); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + ModItemTagProvider.registerItemTags(this); + } + + @Override + public void tag(TagKey tag, Item... items) { + tag(tag).add(items); + } +}