datagen beginnings
This commit is contained in:
@@ -18,4 +18,12 @@ public class Constants
|
|||||||
return new ResourceLocation(MOD_ID, path);
|
return new ResourceLocation(MOD_ID, path);
|
||||||
//?}
|
//?}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ResourceLocation r2(String path) {
|
||||||
|
//? if >1.20.1 {
|
||||||
|
/*return ResourceLocation.parse(path);
|
||||||
|
*///?} else {
|
||||||
|
return new ResourceLocation(path);
|
||||||
|
//?}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,379 @@
|
|||||||
|
package net.cmr.jurassicrevived.datagen;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.cmr.jurassicrevived.block.ModBlocks;
|
||||||
|
import net.cmr.jurassicrevived.block.custom.FencePoleBlock;
|
||||||
|
import net.cmr.jurassicrevived.block.custom.FenceWireBlock;
|
||||||
|
import net.cmr.jurassicrevived.block.custom.PipeBlock;
|
||||||
|
import net.minecraft.core.Direction;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.level.block.*;
|
||||||
|
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||||
|
import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
||||||
|
import net.minecraft.world.level.block.state.properties.EnumProperty;
|
||||||
|
|
||||||
|
public class ModBlockStateProvider {
|
||||||
|
|
||||||
|
public interface BlockStateHelper {
|
||||||
|
void simpleBlock(Block block, ResourceLocation texture);
|
||||||
|
void simpleBlock(Block block, String modelName, ResourceLocation texture);
|
||||||
|
void simpleBlockItem(Block block, ResourceLocation model);
|
||||||
|
|
||||||
|
void simpleBlockWithExistingModel(Block block, ResourceLocation model);
|
||||||
|
|
||||||
|
void crossBlock(Block block, ResourceLocation texture);
|
||||||
|
void pottedPlantBlock(Block block, ResourceLocation plantTexture);
|
||||||
|
|
||||||
|
void blockWithItem(Block block);
|
||||||
|
void horizontalFacingWithItem(Block block);
|
||||||
|
void horizontalFacingLitWithItem(Block block);
|
||||||
|
void horizontalFacingLitNoBlockstateWithItem(Block block);
|
||||||
|
void eggLike(Block block);
|
||||||
|
|
||||||
|
void pipeMultipartWithItem(Block block, String modelBaseName);
|
||||||
|
void customFenceMultipart(Block block, String base, String straight, String diag, BooleanProperty ne, BooleanProperty se, BooleanProperty sw, BooleanProperty nw);
|
||||||
|
|
||||||
|
void stairsBlock(StairBlock block, ResourceLocation texture);
|
||||||
|
void slabBlock(SlabBlock block, ResourceLocation texture, ResourceLocation sideTexture);
|
||||||
|
void wallBlock(WallBlock block, ResourceLocation texture);
|
||||||
|
|
||||||
|
ResourceLocation key(Block block);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ResourceLocation modLoc(String path) {
|
||||||
|
return Constants.rl(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void registerBlockStates(BlockStateHelper helper) {
|
||||||
|
//? if >1.20.1 {
|
||||||
|
/*if (ModBlocks.ROYAL_FERN.isPresent()) {
|
||||||
|
helper.crossBlock(ModBlocks.ROYAL_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.ROYAL_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
if (ModBlocks.POTTED_ROYAL_FERN.isPresent()) {
|
||||||
|
helper.pottedPlantBlock(ModBlocks.POTTED_ROYAL_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.ROYAL_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ModBlocks.HORSETAIL_FERN.isPresent()) {
|
||||||
|
helper.crossBlock(ModBlocks.HORSETAIL_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.HORSETAIL_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
if (ModBlocks.POTTED_HORSETAIL_FERN.isPresent()) {
|
||||||
|
helper.pottedPlantBlock(ModBlocks.POTTED_HORSETAIL_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.HORSETAIL_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ModBlocks.WESTERN_SWORD_FERN.isPresent()) {
|
||||||
|
helper.crossBlock(ModBlocks.WESTERN_SWORD_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.WESTERN_SWORD_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
if (ModBlocks.POTTED_WESTERN_SWORD_FERN.isPresent()) {
|
||||||
|
helper.pottedPlantBlock(ModBlocks.POTTED_WESTERN_SWORD_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.WESTERN_SWORD_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ModBlocks.ONYCHIOPSIS.isPresent()) {
|
||||||
|
helper.crossBlock(ModBlocks.ONYCHIOPSIS.get(),
|
||||||
|
modLoc("block/" + ModBlocks.ONYCHIOPSIS.getId().getPath()));
|
||||||
|
}
|
||||||
|
if (ModBlocks.POTTED_ONYCHIOPSIS.isPresent()) {
|
||||||
|
helper.pottedPlantBlock(ModBlocks.POTTED_ONYCHIOPSIS.get(),
|
||||||
|
modLoc("block/" + ModBlocks.ONYCHIOPSIS.getId().getPath()));
|
||||||
|
}
|
||||||
|
*///?} else {
|
||||||
|
if (ModBlocks.ROYAL_FERN.isPresent()) {
|
||||||
|
helper.crossBlock(ModBlocks.ROYAL_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.ROYAL_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
if (ModBlocks.POTTED_ROYAL_FERN.isPresent()) {
|
||||||
|
helper.pottedPlantBlock(ModBlocks.POTTED_ROYAL_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.ROYAL_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ModBlocks.HORSETAIL_FERN.isPresent()) {
|
||||||
|
helper.crossBlock(ModBlocks.HORSETAIL_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.HORSETAIL_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
if (ModBlocks.POTTED_HORSETAIL_FERN.isPresent()) {
|
||||||
|
helper.pottedPlantBlock(ModBlocks.POTTED_HORSETAIL_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.HORSETAIL_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ModBlocks.WESTERN_SWORD_FERN.isPresent()) {
|
||||||
|
helper.crossBlock(ModBlocks.WESTERN_SWORD_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.WESTERN_SWORD_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
if (ModBlocks.POTTED_WESTERN_SWORD_FERN.isPresent()) {
|
||||||
|
helper.pottedPlantBlock(ModBlocks.POTTED_WESTERN_SWORD_FERN.get(),
|
||||||
|
modLoc("block/" + ModBlocks.WESTERN_SWORD_FERN.getId().getPath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ModBlocks.ONYCHIOPSIS.isPresent()) {
|
||||||
|
helper.crossBlock(ModBlocks.ONYCHIOPSIS.get(),
|
||||||
|
modLoc("block/" + ModBlocks.ONYCHIOPSIS.getId().getPath()));
|
||||||
|
}
|
||||||
|
if (ModBlocks.POTTED_ONYCHIOPSIS.isPresent()) {
|
||||||
|
helper.pottedPlantBlock(ModBlocks.POTTED_ONYCHIOPSIS.get(),
|
||||||
|
modLoc("block/" + ModBlocks.ONYCHIOPSIS.getId().getPath()));
|
||||||
|
}
|
||||||
|
//?}
|
||||||
|
|
||||||
|
helper.blockWithItem(ModBlocks.GYPSUM_STONE.get());
|
||||||
|
helper.blockWithItem(ModBlocks.GYPSUM_COBBLESTONE.get());
|
||||||
|
helper.blockWithItem(ModBlocks.GYPSUM_STONE_BRICKS.get());
|
||||||
|
helper.blockWithItem(ModBlocks.SMOOTH_GYPSUM_STONE.get());
|
||||||
|
helper.blockWithItem(ModBlocks.CHISELED_GYPSUM_STONE.get());
|
||||||
|
|
||||||
|
helper.blockWithItem(ModBlocks.STONE_FOSSIL.get());
|
||||||
|
helper.blockWithItem(ModBlocks.DEEPSLATE_FOSSIL.get());
|
||||||
|
helper.blockWithItem(ModBlocks.AMBER_ORE.get());
|
||||||
|
helper.blockWithItem(ModBlocks.DEEPSLATE_ICE_SHARD_ORE.get());
|
||||||
|
|
||||||
|
helper.blockWithItem(ModBlocks.REINFORCED_STONE.get());
|
||||||
|
helper.blockWithItem(ModBlocks.REINFORCED_STONE_BRICKS.get());
|
||||||
|
helper.blockWithItem(ModBlocks.CHISELED_REINFORCED_STONE.get());
|
||||||
|
|
||||||
|
helper.stairsBlock((StairBlock) ModBlocks.REINFORCED_BRICK_STAIRS.get(), modLoc("block/" + ModBlocks.REINFORCED_STONE_BRICKS.getId().getPath()));
|
||||||
|
helper.slabBlock((SlabBlock) ModBlocks.REINFORCED_BRICK_SLAB.get(), modLoc("block/" + ModBlocks.REINFORCED_STONE_BRICKS.getId().getPath()), modLoc("block/" + ModBlocks.REINFORCED_STONE_BRICKS.getId().getPath()));
|
||||||
|
helper.wallBlock((WallBlock) ModBlocks.REINFORCED_BRICK_WALL.get(), modLoc("block/" + ModBlocks.REINFORCED_STONE_BRICKS.getId().getPath()));
|
||||||
|
|
||||||
|
helper.simpleBlockItem(ModBlocks.REINFORCED_BRICK_STAIRS.get(), modLoc("block/" + ModBlocks.REINFORCED_BRICK_STAIRS.getId().getPath()));
|
||||||
|
helper.simpleBlockItem(ModBlocks.REINFORCED_BRICK_SLAB.get(), modLoc("block/" + ModBlocks.REINFORCED_BRICK_SLAB.getId().getPath()));
|
||||||
|
|
||||||
|
helper.stairsBlock((StairBlock) ModBlocks.GYPSUM_BRICK_STAIRS.get(), modLoc("block/" + ModBlocks.GYPSUM_STONE_BRICKS.getId().getPath()));
|
||||||
|
helper.slabBlock((SlabBlock) ModBlocks.GYPSUM_BRICK_SLAB.get(), modLoc("block/" + ModBlocks.GYPSUM_STONE_BRICKS.getId().getPath()), modLoc("block/" + ModBlocks.GYPSUM_STONE_BRICKS.getId().getPath()));
|
||||||
|
helper.wallBlock((WallBlock) ModBlocks.GYPSUM_BRICK_WALL.get(), modLoc("block/" + ModBlocks.GYPSUM_STONE_BRICKS.getId().getPath()));
|
||||||
|
|
||||||
|
helper.simpleBlockItem(ModBlocks.GYPSUM_BRICK_STAIRS.get(), modLoc("block/" + ModBlocks.GYPSUM_BRICK_STAIRS.getId().getPath()));
|
||||||
|
helper.simpleBlockItem(ModBlocks.GYPSUM_BRICK_SLAB.get(), modLoc("block/" + ModBlocks.GYPSUM_BRICK_SLAB.getId().getPath()));
|
||||||
|
|
||||||
|
helper.horizontalFacingWithItem(ModBlocks.CAT_PLUSHIE.get());
|
||||||
|
helper.horizontalFacingWithItem(ModBlocks.TRASH_CAN.get());
|
||||||
|
helper.horizontalFacingWithItem(ModBlocks.BENCH.get());
|
||||||
|
helper.blockWithItem(ModBlocks.CHARRED_TERRACOTTA.get());
|
||||||
|
helper.horizontalFacingWithItem(ModBlocks.FENCE_LIGHT.get());
|
||||||
|
helper.horizontalFacingWithItem(ModBlocks.LIGHT_POST.get());
|
||||||
|
|
||||||
|
helper.simpleBlockWithExistingModel(ModBlocks.TANK.get(), modLoc("block/tank"));
|
||||||
|
helper.simpleBlockWithExistingModel(ModBlocks.POWER_CELL.get(), modLoc("block/power_cell"));
|
||||||
|
helper.simpleBlockWithExistingModel(ModBlocks.WOOD_CRATE.get(), modLoc("block/wood_crate"));
|
||||||
|
helper.simpleBlockWithExistingModel(ModBlocks.IRON_CRATE.get(), modLoc("block/iron_crate"));
|
||||||
|
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.GENERATOR.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.DNA_EXTRACTOR.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.DNA_ANALYZER.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.FOSSIL_GRINDER.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.FOSSIL_CLEANER.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.DNA_HYBRIDIZER.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.EMBRYONIC_MACHINE.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.EMBRYO_CALCIFICATION_MACHINE.get());
|
||||||
|
helper.horizontalFacingLitWithItem(ModBlocks.INCUBATOR.get());
|
||||||
|
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.WHITE_GENERATOR.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.WHITE_DNA_EXTRACTOR.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.WHITE_DNA_ANALYZER.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.WHITE_FOSSIL_GRINDER.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.WHITE_FOSSIL_CLEANER.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.WHITE_DNA_HYBRIDIZER.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.WHITE_EMBRYONIC_MACHINE.get());
|
||||||
|
helper.horizontalFacingLitNoBlockstateWithItem(ModBlocks.WHITE_EMBRYO_CALCIFICATION_MACHINE.get());
|
||||||
|
helper.horizontalFacingLitWithItem(ModBlocks.WHITE_INCUBATOR.get());
|
||||||
|
|
||||||
|
helper.eggLike(ModBlocks.VELOCIRAPTOR_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.TYRANNOSAURUS_REX_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.TRICERATOPS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.SPINOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.OURANOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.PARASAUROLOPHUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INDOMINUS_REX_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.GALLIMIMUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.DIPLODOCUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.DILOPHOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.COMPSOGNATHUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.CERATOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.BRACHIOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.ALBERTOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.APATOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.BARYONYX_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.CARNOTAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.CONCAVENATOR_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.DEINONYCHUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.EDMONTOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.GIGANOTOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.GUANLONG_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.HERRERASAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.MAJUNGASAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.PROCOMPSOGNATHUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.PROTOCERATOPS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.RUGOPS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.SHANTUNGOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.STEGOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.STYRACOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.THERIZINOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.DISTORTUS_REX_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.ALLOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.ALVAREZSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.ANKYLOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.ARAMBOURGIANIA_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.CARCHARODONTOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.CEARADACTYLUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.CHASMOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.COELOPHYSIS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.COELURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.CORYTHOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.DIMORPHODON_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.DRYOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.GEOSTERNBERGIA_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.GUIDRACO_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.HADROSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.HYPSILOPHODON_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INDORAPTOR_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INOSTRANCEVIA_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.LAMBEOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.LUDODACTYLUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.MAMENCHISAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.METRIACANTHOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.MOGANOPTERUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.NYCTOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.ORNITHOLESTES_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.ORNITHOMIMUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.OVIRAPTOR_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.PACHYCEPHALOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.PROCERATOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.PTERANODON_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.PTERODAUSTRO_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.QUETZALCOATLUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.RAJASAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.SEGISAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.TAPEJARA_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.TITANOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.TROODON_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.TROPEOGNATHUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.TUPUXUARA_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.UTAHRAPTOR_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.ZHENYUANOPTERUS_EGG.get());
|
||||||
|
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_VELOCIRAPTOR_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_TYRANNOSAURUS_REX_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_TRICERATOPS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_SPINOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_OURANOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_PARASAUROLOPHUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_INDOMINUS_REX_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_GALLIMIMUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_DIPLODOCUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_DILOPHOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_COMPSOGNATHUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_CERATOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_BRACHIOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_ALBERTOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_APATOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_BARYONYX_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_CARNOTAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_CONCAVENATOR_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_DEINONYCHUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_EDMONTOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_GIGANOTOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_GUANLONG_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_HERRERASAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_MAJUNGASAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_PROCOMPSOGNATHUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_PROTOCERATOPS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_RUGOPS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_SHANTUNGOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_STEGOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_STYRACOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_THERIZINOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_DISTORTUS_REX_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_ALLOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_ALVAREZSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_ANKYLOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_ARAMBOURGIANIA_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_CARCHARODONTOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_CEARADACTYLUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_CHASMOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_COELOPHYSIS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_COELURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_CORYTHOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_DIMORPHODON_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_DRYOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_GEOSTERNBERGIA_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_GUIDRACO_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_HADROSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_HYPSILOPHODON_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_INDORAPTOR_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_INOSTRANCEVIA_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_LAMBEOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_LUDODACTYLUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_MAMENCHISAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_METRIACANTHOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_MOGANOPTERUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_NYCTOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_ORNITHOLESTES_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_ORNITHOMIMUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_OVIRAPTOR_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_PACHYCEPHALOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_PROCERATOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_PTERANODON_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_PTERODAUSTRO_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_QUETZALCOATLUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_RAJASAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_SEGISAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_TAPEJARA_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_TITANOSAURUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_TROODON_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_TROPEOGNATHUS_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_TUPUXUARA_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_UTAHRAPTOR_EGG.get());
|
||||||
|
helper.eggLike(ModBlocks.INCUBATED_ZHENYUANOPTERUS_EGG.get());
|
||||||
|
|
||||||
|
helper.customFenceMultipart(
|
||||||
|
ModBlocks.LOW_SECURITY_FENCE_POLE.get(),
|
||||||
|
"low_security_fence_pole",
|
||||||
|
"low_security_fence_pole_part",
|
||||||
|
"low_security_fence_pole_diag_part",
|
||||||
|
FencePoleBlock.NE,
|
||||||
|
FencePoleBlock.SE,
|
||||||
|
FencePoleBlock.SW,
|
||||||
|
FencePoleBlock.NW
|
||||||
|
);
|
||||||
|
|
||||||
|
helper.customFenceMultipart(
|
||||||
|
ModBlocks.LOW_SECURITY_FENCE_WIRE.get(),
|
||||||
|
"low_security_fence_wire",
|
||||||
|
"low_security_fence_wire_part",
|
||||||
|
"low_security_fence_wire_diag_part",
|
||||||
|
FenceWireBlock.NE,
|
||||||
|
FenceWireBlock.SE,
|
||||||
|
FenceWireBlock.SW,
|
||||||
|
FenceWireBlock.NW
|
||||||
|
);
|
||||||
|
|
||||||
|
helper.customFenceMultipart(
|
||||||
|
ModBlocks.MEDIUM_SECURITY_FENCE_POLE.get(),
|
||||||
|
"medium_security_fence_pole",
|
||||||
|
"medium_security_fence_pole_part",
|
||||||
|
"medium_security_fence_pole_diag_part",
|
||||||
|
FencePoleBlock.NE,
|
||||||
|
FencePoleBlock.SE,
|
||||||
|
FencePoleBlock.SW,
|
||||||
|
FencePoleBlock.NW
|
||||||
|
);
|
||||||
|
|
||||||
|
helper.customFenceMultipart(
|
||||||
|
ModBlocks.MEDIUM_SECURITY_FENCE_WIRE.get(),
|
||||||
|
"medium_security_fence_wire",
|
||||||
|
"medium_security_fence_wire_part",
|
||||||
|
"medium_security_fence_wire_diag_part",
|
||||||
|
FenceWireBlock.NE,
|
||||||
|
FenceWireBlock.SE,
|
||||||
|
FenceWireBlock.SW,
|
||||||
|
FenceWireBlock.NW
|
||||||
|
);
|
||||||
|
|
||||||
|
helper.pipeMultipartWithItem(ModBlocks.ITEM_PIPE.get(), "item_pipe");
|
||||||
|
helper.pipeMultipartWithItem(ModBlocks.FLUID_PIPE.get(), "fluid_pipe");
|
||||||
|
helper.pipeMultipartWithItem(ModBlocks.POWER_PIPE.get(), "power_pipe");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,650 @@
|
|||||||
|
package net.cmr.jurassicrevived.datagen;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.cmr.jurassicrevived.block.ModBlocks;
|
||||||
|
import net.cmr.jurassicrevived.item.ModItems;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
|
||||||
|
public class ModItemModelProvider {
|
||||||
|
|
||||||
|
public interface ItemModelHelper {
|
||||||
|
void basicItemModel(Item item); // Renamed from basicItem
|
||||||
|
void spawnEgg(Item item);
|
||||||
|
void simpleBlockItemModel(Block block); // Renamed from simpleBlockItem
|
||||||
|
void flowerItem(Block block);
|
||||||
|
void wallItem(Block block, Block baseBlock);
|
||||||
|
void buttonItem(Block block, Block baseBlock);
|
||||||
|
void fenceItem(Block block, Block baseBlock);
|
||||||
|
void withExistingParentModel(Item item, ResourceLocation parent); // Renamed from withExistingParent
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void registerItemModels(ItemModelHelper helper) {
|
||||||
|
helper.spawnEgg(ModItems.APATOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.ALBERTOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.BRACHIOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.CERATOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.COMPSOGNATHUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.DILOPHOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.DIPLODOCUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.FDUCK_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.OURANOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.GALLIMIMUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.INDOMINUS_REX_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.PARASAUROLOPHUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.SPINOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.TRICERATOPS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.TYRANNOSAURUS_REX_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.VELOCIRAPTOR_SPAWN_EGG.get());
|
||||||
|
|
||||||
|
helper.spawnEgg(ModItems.BARYONYX_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.CARNOTAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.CONCAVENATOR_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.DEINONYCHUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.DISTORTUS_REX_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.EDMONTOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.GIGANOTOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.GUANLONG_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.HERRERASAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.MAJUNGASAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.PROCOMPSOGNATHUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.PROTOCERATOPS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.ARAMBOURGIANIA_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.CEARADACTYLUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.DIMORPHODON_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.GEOSTERNBERGIA_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.GUIDRACO_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.LUDODACTYLUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.MOGANOPTERUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.NYCTOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.PTERANODON_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.PTERODAUSTRO_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.QUETZALCOATLUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.TAPEJARA_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.TROPEOGNATHUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.TUPUXUARA_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.ZHENYUANOPTERUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.RUGOPS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.SHANTUNGOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.STEGOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.STYRACOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.THERIZINOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.CHICKENOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.ALLOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.ALVAREZSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.ANKYLOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.CARCHARODONTOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.CHASMOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.COELOPHYSIS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.COELURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.CORYTHOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.DRYOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.HADROSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.HYPSILOPHODON_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.INDORAPTOR_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.INOSTRANCEVIA_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.LAMBEOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.MAMENCHISAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.METRIACANTHOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.ORNITHOLESTES_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.ORNITHOMIMUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.OVIRAPTOR_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.PACHYCEPHALOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.PROCERATOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.RAJASAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.SEGISAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.TITANOSAURUS_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.TROODON_SPAWN_EGG.get());
|
||||||
|
helper.spawnEgg(ModItems.UTAHRAPTOR_SPAWN_EGG.get());
|
||||||
|
|
||||||
|
helper.basicItemModel(ModItems.FROG_MATERIAL.get());
|
||||||
|
helper.basicItemModel(ModItems.FROG_DNA.get());
|
||||||
|
|
||||||
|
helper.basicItemModel(ModItems.TEST_TUBE.get());
|
||||||
|
helper.basicItemModel(ModItems.SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.CRUSHED_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.MOSQUITO_IN_AMBER.get());
|
||||||
|
helper.basicItemModel(ModItems.FROZEN_LEECH.get());
|
||||||
|
helper.basicItemModel(ModItems.CABLE.get());
|
||||||
|
helper.basicItemModel(ModItems.SCREEN.get());
|
||||||
|
helper.basicItemModel(ModItems.PROCESSOR.get());
|
||||||
|
helper.basicItemModel(ModItems.TIRE.get());
|
||||||
|
helper.basicItemModel(ModItems.CUTTING_BLADES.get());
|
||||||
|
helper.basicItemModel(ModItems.WRENCH.get());
|
||||||
|
|
||||||
|
//? if <=1.20.1 {
|
||||||
|
if (ModItems.MAC_N_CHEESE.isPresent()) helper.basicItemModel(ModItems.MAC_N_CHEESE.get());
|
||||||
|
if (ModItems.WALNUT_PUMPKIN_PIE.isPresent()) helper.basicItemModel(ModItems.WALNUT_PUMPKIN_PIE.get());
|
||||||
|
if (ModItems.BANANA_NUT_COOKIE.isPresent()) helper.basicItemModel(ModItems.BANANA_NUT_COOKIE.get());
|
||||||
|
//?}
|
||||||
|
|
||||||
|
helper.basicItemModel(ModItems.APATOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.ALBERTOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.BRACHIOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.CERATOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.COMPSOGNATHUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.DILOPHOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.DIPLODOCUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.GALLIMIMUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.PARASAUROLOPHUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.OURANOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.SPINOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.TRICERATOPS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.TYRANNOSAURUS_REX_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.VELOCIRAPTOR_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.BARYONYX_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.CARNOTAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.CONCAVENATOR_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.DEINONYCHUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.EDMONTOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.GIGANOTOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.GUANLONG_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.HERRERASAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.MAJUNGASAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.PROCOMPSOGNATHUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.PROTOCERATOPS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.RUGOPS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.SHANTUNGOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.STEGOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.STYRACOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.THERIZINOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.ALLOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.ALVAREZSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.ANKYLOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.ARAMBOURGIANIA_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.CARCHARODONTOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.CEARADACTYLUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.CHASMOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.COELOPHYSIS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.COELURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.CORYTHOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.DIMORPHODON_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.DRYOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.GEOSTERNBERGIA_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.GUIDRACO_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.HADROSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.HYPSILOPHODON_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.INOSTRANCEVIA_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.LAMBEOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.LUDODACTYLUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.MAMENCHISAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.METRIACANTHOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.MOGANOPTERUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.NYCTOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.ORNITHOLESTES_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.ORNITHOMIMUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.OVIRAPTOR_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.PACHYCEPHALOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.PROCERATOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.PTERANODON_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.PTERODAUSTRO_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.QUETZALCOATLUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.RAJASAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.SEGISAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.TAPEJARA_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.TITANOSAURUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.TROODON_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.TROPEOGNATHUS_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.TUPUXUARA_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.UTAHRAPTOR_SKULL_FOSSIL.get());
|
||||||
|
helper.basicItemModel(ModItems.ZHENYUANOPTERUS_SKULL_FOSSIL.get());
|
||||||
|
|
||||||
|
helper.basicItemModel(ModItems.FRESH_APATOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_ALBERTOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_BRACHIOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_CERATOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_COMPSOGNATHUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_DILOPHOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_DIPLODOCUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_GALLIMIMUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_INDOMINUS_REX_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_PARASAUROLOPHUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_OURANOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_SPINOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_TRICERATOPS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_TYRANNOSAURUS_REX_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_VELOCIRAPTOR_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_BARYONYX_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_CARNOTAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_CONCAVENATOR_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_DEINONYCHUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_EDMONTOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_GIGANOTOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_GUANLONG_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_HERRERASAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_MAJUNGASAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_PROCOMPSOGNATHUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_PROTOCERATOPS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_RUGOPS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_SHANTUNGOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_STEGOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_STYRACOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_THERIZINOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_DISTORTUS_REX_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_ALLOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_ALVAREZSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_ANKYLOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_ARAMBOURGIANIA_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_CARCHARODONTOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_CEARADACTYLUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_CHASMOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_COELOPHYSIS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_COELURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_CORYTHOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_DIMORPHODON_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_DRYOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_GEOSTERNBERGIA_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_GUIDRACO_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_HADROSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_HYPSILOPHODON_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_INDORAPTOR_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_INOSTRANCEVIA_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_LAMBEOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_LUDODACTYLUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_MAMENCHISAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_METRIACANTHOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_MOGANOPTERUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_NYCTOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_ORNITHOLESTES_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_ORNITHOMIMUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_OVIRAPTOR_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_PACHYCEPHALOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_PROCERATOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_PTERANODON_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_PTERODAUSTRO_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_QUETZALCOATLUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_RAJASAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_SEGISAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_TAPEJARA_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_TITANOSAURUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_TROODON_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_TROPEOGNATHUS_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_TUPUXUARA_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_UTAHRAPTOR_SKULL.get());
|
||||||
|
helper.basicItemModel(ModItems.FRESH_ZHENYUANOPTERUS_SKULL.get());
|
||||||
|
|
||||||
|
helper.basicItemModel(ModItems.APATOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.ALBERTOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.BRACHIOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.CERATOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.COMPSOGNATHUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.DILOPHOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.DIPLODOCUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.GALLIMIMUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.INDOMINUS_REX_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.OURANOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.PARASAUROLOPHUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.SPINOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.TRICERATOPS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.TYRANNOSAURUS_REX_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.VELOCIRAPTOR_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.BARYONYX_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.CARNOTAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.CONCAVENATOR_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.DEINONYCHUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.EDMONTOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.GIGANOTOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.GUANLONG_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.HERRERASAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.MAJUNGASAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.PROCOMPSOGNATHUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.PROTOCERATOPS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.RUGOPS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.SHANTUNGOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.STEGOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.STYRACOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.THERIZINOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.DISTORTUS_REX_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.ALLOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.ALVAREZSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.ANKYLOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.ARAMBOURGIANIA_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.CARCHARODONTOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.CEARADACTYLUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.CHASMOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.COELOPHYSIS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.COELURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.CORYTHOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.DIMORPHODON_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.DRYOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.GEOSTERNBERGIA_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.GUIDRACO_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.HADROSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.HYPSILOPHODON_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.INDORAPTOR_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.INOSTRANCEVIA_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.LAMBEOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.LUDODACTYLUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.MAMENCHISAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.METRIACANTHOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.MOGANOPTERUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.NYCTOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.ORNITHOLESTES_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.ORNITHOMIMUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.OVIRAPTOR_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.PACHYCEPHALOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.PROCERATOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.PTERANODON_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.PTERODAUSTRO_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.QUETZALCOATLUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.RAJASAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.SEGISAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.TAPEJARA_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.TITANOSAURUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.TROODON_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.TROPEOGNATHUS_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.TUPUXUARA_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.UTAHRAPTOR_TISSUE.get());
|
||||||
|
helper.basicItemModel(ModItems.ZHENYUANOPTERUS_TISSUE.get());
|
||||||
|
|
||||||
|
helper.basicItemModel(ModItems.APATOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.ALBERTOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.BRACHIOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.CERATOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.COMPSOGNATHUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.DILOPHOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.DIPLODOCUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.GALLIMIMUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.INDOMINUS_REX_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.OURANOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.PARASAUROLOPHUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.SPINOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.TRICERATOPS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.TYRANNOSAURUS_REX_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.VELOCIRAPTOR_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.BARYONYX_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.CARNOTAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.CONCAVENATOR_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.DEINONYCHUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.EDMONTOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.GIGANOTOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.GUANLONG_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.HERRERASAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.MAJUNGASAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.PROCOMPSOGNATHUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.PROTOCERATOPS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.RUGOPS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.SHANTUNGOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.STEGOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.STYRACOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.THERIZINOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.DISTORTUS_REX_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.ALLOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.ALVAREZSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.ANKYLOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.ARAMBOURGIANIA_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.CARCHARODONTOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.CEARADACTYLUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.CHASMOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.COELOPHYSIS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.COELURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.CORYTHOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.DIMORPHODON_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.DRYOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.GEOSTERNBERGIA_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.GUIDRACO_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.HADROSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.HYPSILOPHODON_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.INDORAPTOR_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.INOSTRANCEVIA_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.LAMBEOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.LUDODACTYLUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.MAMENCHISAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.METRIACANTHOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.MOGANOPTERUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.NYCTOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.ORNITHOLESTES_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.ORNITHOMIMUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.OVIRAPTOR_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.PACHYCEPHALOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.PROCERATOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.PTERANODON_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.PTERODAUSTRO_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.QUETZALCOATLUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.RAJASAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.SEGISAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.TAPEJARA_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.TITANOSAURUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.TROODON_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.TROPEOGNATHUS_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.TUPUXUARA_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.UTAHRAPTOR_DNA.get());
|
||||||
|
helper.basicItemModel(ModItems.ZHENYUANOPTERUS_DNA.get());
|
||||||
|
|
||||||
|
helper.basicItemModel(ModItems.APATOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.ALBERTOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.BRACHIOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.CERATOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.COMPSOGNATHUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.DILOPHOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.DIPLODOCUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.GALLIMIMUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.INDOMINUS_REX_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.OURANOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.PARASAUROLOPHUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.SPINOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.TRICERATOPS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.TYRANNOSAURUS_REX_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.VELOCIRAPTOR_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.BARYONYX_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.CARNOTAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.CONCAVENATOR_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.DEINONYCHUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.EDMONTOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.GIGANOTOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.GUANLONG_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.HERRERASAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.MAJUNGASAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.PROCOMPSOGNATHUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.PROTOCERATOPS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.RUGOPS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.SHANTUNGOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.STEGOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.STYRACOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.THERIZINOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.DISTORTUS_REX_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.ALLOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.ALVAREZSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.ANKYLOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.ARAMBOURGIANIA_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.CARCHARODONTOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.CEARADACTYLUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.CHASMOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.COELOPHYSIS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.COELURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.CORYTHOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.DIMORPHODON_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.DRYOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.GEOSTERNBERGIA_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.GUIDRACO_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.HADROSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.HYPSILOPHODON_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.INDORAPTOR_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.INOSTRANCEVIA_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.LAMBEOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.LUDODACTYLUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.MAMENCHISAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.METRIACANTHOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.MOGANOPTERUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.NYCTOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.ORNITHOLESTES_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.ORNITHOMIMUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.OVIRAPTOR_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.PACHYCEPHALOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.PROCERATOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.PTERANODON_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.PTERODAUSTRO_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.QUETZALCOATLUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.RAJASAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.SEGISAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.TAPEJARA_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.TITANOSAURUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.TROODON_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.TROPEOGNATHUS_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.TUPUXUARA_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.UTAHRAPTOR_SYRINGE.get());
|
||||||
|
helper.basicItemModel(ModItems.ZHENYUANOPTERUS_SYRINGE.get());
|
||||||
|
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.APATOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.ALBERTOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.BRACHIOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.CERATOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.COMPSOGNATHUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.DILOPHOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.DIPLODOCUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.GALLIMIMUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INDOMINUS_REX_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.OURANOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.PARASAUROLOPHUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.SPINOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.TRICERATOPS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.TYRANNOSAURUS_REX_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.VELOCIRAPTOR_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.BARYONYX_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.CARNOTAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.CONCAVENATOR_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.DEINONYCHUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.EDMONTOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.GIGANOTOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.GUANLONG_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.HERRERASAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.MAJUNGASAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.PROCOMPSOGNATHUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.PROTOCERATOPS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.RUGOPS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.SHANTUNGOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.STEGOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.STYRACOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.THERIZINOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.DISTORTUS_REX_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.ALLOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.ALVAREZSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.ANKYLOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.ARAMBOURGIANIA_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.CARCHARODONTOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.CEARADACTYLUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.CHASMOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.COELOPHYSIS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.COELURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.CORYTHOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.DIMORPHODON_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.DRYOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.GEOSTERNBERGIA_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.GUIDRACO_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.HADROSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.HYPSILOPHODON_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INDORAPTOR_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INOSTRANCEVIA_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.LAMBEOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.LUDODACTYLUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.MAMENCHISAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.METRIACANTHOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.MOGANOPTERUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.NYCTOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.ORNITHOLESTES_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.ORNITHOMIMUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.OVIRAPTOR_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.PACHYCEPHALOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.PROCERATOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.PTERANODON_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.PTERODAUSTRO_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.QUETZALCOATLUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.RAJASAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.SEGISAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.TAPEJARA_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.TITANOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.TROODON_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.TROPEOGNATHUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.TUPUXUARA_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.UTAHRAPTOR_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.ZHENYUANOPTERUS_EGG.get());
|
||||||
|
|
||||||
|
helper.basicItemModel(ModBlocks.LOW_SECURITY_FENCE_POLE.get().asItem());
|
||||||
|
helper.basicItemModel(ModBlocks.LOW_SECURITY_FENCE_WIRE.get().asItem());
|
||||||
|
helper.basicItemModel(ModBlocks.MEDIUM_SECURITY_FENCE_POLE.get().asItem());
|
||||||
|
helper.basicItemModel(ModBlocks.MEDIUM_SECURITY_FENCE_WIRE.get().asItem());
|
||||||
|
|
||||||
|
helper.wallItem(ModBlocks.GYPSUM_BRICK_WALL.get(), ModBlocks.GYPSUM_STONE_BRICKS.get());
|
||||||
|
helper.wallItem(ModBlocks.REINFORCED_BRICK_WALL.get(), ModBlocks.REINFORCED_STONE_BRICKS.get());
|
||||||
|
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_BRACHIOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_CERATOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_DILOPHOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_TYRANNOSAURUS_REX_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_TRICERATOPS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_SPINOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_OURANOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_PARASAUROLOPHUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_INDOMINUS_REX_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_GALLIMIMUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_DIPLODOCUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_COMPSOGNATHUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_VELOCIRAPTOR_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_ALBERTOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_APATOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_BARYONYX_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_CARNOTAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_CONCAVENATOR_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_DEINONYCHUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_EDMONTOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_GIGANOTOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_GUANLONG_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_HERRERASAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_MAJUNGASAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_PROCOMPSOGNATHUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_PROTOCERATOPS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_RUGOPS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_SHANTUNGOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_STEGOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_STYRACOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_THERIZINOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_DISTORTUS_REX_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_ALLOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_ALVAREZSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_ANKYLOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_ARAMBOURGIANIA_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_CARCHARODONTOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_CEARADACTYLUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_CHASMOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_COELOPHYSIS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_COELURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_CORYTHOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_DIMORPHODON_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_DRYOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_GEOSTERNBERGIA_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_GUIDRACO_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_HADROSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_HYPSILOPHODON_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_INDORAPTOR_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_INOSTRANCEVIA_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_LAMBEOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_LUDODACTYLUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_MAMENCHISAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_METRIACANTHOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_MOGANOPTERUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_NYCTOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_ORNITHOLESTES_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_ORNITHOMIMUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_OVIRAPTOR_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_PACHYCEPHALOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_PROCERATOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_PTERANODON_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_PTERODAUSTRO_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_QUETZALCOATLUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_RAJASAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_SEGISAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_TAPEJARA_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_TITANOSAURUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_TROODON_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_TROPEOGNATHUS_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_TUPUXUARA_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_UTAHRAPTOR_EGG.get());
|
||||||
|
helper.simpleBlockItemModel(ModBlocks.INCUBATED_ZHENYUANOPTERUS_EGG.get());
|
||||||
|
|
||||||
|
if (ModBlocks.ROYAL_FERN.isPresent()) helper.flowerItem(ModBlocks.ROYAL_FERN.get());
|
||||||
|
if (ModBlocks.HORSETAIL_FERN.isPresent()) helper.flowerItem(ModBlocks.HORSETAIL_FERN.get());
|
||||||
|
if (ModBlocks.WESTERN_SWORD_FERN.isPresent()) helper.flowerItem(ModBlocks.WESTERN_SWORD_FERN.get());
|
||||||
|
if (ModBlocks.ONYCHIOPSIS.isPresent()) helper.flowerItem(ModBlocks.ONYCHIOPSIS.get());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -87,21 +87,41 @@ loom {
|
|||||||
common.project.file("../../src/main/resources/accesswideners/${commonMod.minecraft_version}-${mod.id}.accesswidener")
|
common.project.file("../../src/main/resources/accesswideners/${commonMod.minecraft_version}-${mod.id}.accesswidener")
|
||||||
|
|
||||||
runs {
|
runs {
|
||||||
getByName("client") {
|
named("client") {
|
||||||
client()
|
client()
|
||||||
configName = "Fabric Client"
|
configName = "Fabric Client"
|
||||||
ideConfigGenerated(true)
|
ideConfigGenerated(true)
|
||||||
}
|
}
|
||||||
getByName("server") {
|
named("server") {
|
||||||
server()
|
server()
|
||||||
configName = "Fabric Server"
|
configName = "Fabric Server"
|
||||||
ideConfigGenerated(true)
|
ideConfigGenerated(true)
|
||||||
}
|
}
|
||||||
|
create("datagen") {
|
||||||
|
server()
|
||||||
|
configName = "Fabric Data Generation"
|
||||||
|
ideConfigGenerated(true)
|
||||||
|
vmArg("-Dfabric-api.datagen")
|
||||||
|
vmArg("-Dfabric-api.datagen.output-dir=${file("src/main/generated")}")
|
||||||
|
vmArg("-Dfabric-api.datagen.modid=${commonMod.id}")
|
||||||
|
runDir("build/datagen")
|
||||||
|
// Ensure directory exists
|
||||||
|
file("build/datagen").mkdirs()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
main {
|
||||||
|
resources {
|
||||||
|
srcDir("src/main/generated")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.named<ProcessResources>("processResources") {
|
tasks.named<ProcessResources>("processResources") {
|
||||||
inputs.property("targetBytecode", targetBytecode)
|
inputs.property("targetBytecode", targetBytecode)
|
||||||
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||||
|
|
||||||
filesMatching("fabric.mod.json") {
|
filesMatching("fabric.mod.json") {
|
||||||
expand(mapOf(
|
expand(mapOf(
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package net.cmr.jurassicrevived.datagen;
|
||||||
|
|
||||||
|
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
|
||||||
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
|
||||||
|
|
||||||
|
public class DataGenerators implements DataGeneratorEntrypoint {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
|
||||||
|
FabricDataGenerator.Pack pack = fabricDataGenerator.createPack();
|
||||||
|
pack.addProvider(FabricModModelProvider::new);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,250 @@
|
|||||||
|
package net.cmr.jurassicrevived.datagen;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
||||||
|
import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider;
|
||||||
|
import net.minecraft.data.models.BlockModelGenerators;
|
||||||
|
import net.minecraft.data.models.ItemModelGenerators;
|
||||||
|
import net.minecraft.data.models.blockstates.MultiVariantGenerator;
|
||||||
|
import net.minecraft.data.models.blockstates.Variant;
|
||||||
|
import net.minecraft.data.models.blockstates.VariantProperties;
|
||||||
|
import net.minecraft.data.models.model.ModelLocationUtils;
|
||||||
|
import net.minecraft.data.models.model.ModelTemplates;
|
||||||
|
import net.minecraft.data.models.model.TextureMapping;
|
||||||
|
import net.minecraft.data.models.model.TextureSlot;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraft.world.level.block.SlabBlock;
|
||||||
|
import net.minecraft.world.level.block.StairBlock;
|
||||||
|
import net.minecraft.world.level.block.WallBlock;
|
||||||
|
import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
||||||
|
|
||||||
|
public class FabricModModelProvider extends FabricModelProvider implements ModBlockStateProvider.BlockStateHelper, ModItemModelProvider.ItemModelHelper {
|
||||||
|
|
||||||
|
private BlockModelGenerators blockStateGenerator;
|
||||||
|
private ItemModelGenerators itemModelGenerator;
|
||||||
|
|
||||||
|
public FabricModModelProvider(FabricDataOutput output) {
|
||||||
|
super(output);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void generateBlockStateModels(BlockModelGenerators blockStateGenerator) {
|
||||||
|
this.blockStateGenerator = blockStateGenerator;
|
||||||
|
ModBlockStateProvider.registerBlockStates(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void generateItemModels(ItemModelGenerators itemModelGenerator) {
|
||||||
|
this.itemModelGenerator = itemModelGenerator;
|
||||||
|
ModItemModelProvider.registerItemModels(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper to check mode
|
||||||
|
private boolean isGeneratingBlocks() {
|
||||||
|
return blockStateGenerator != null && itemModelGenerator == null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isGeneratingItems() {
|
||||||
|
return itemModelGenerator != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- BlockStateHelper Implementation ---
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlock(Block block, ResourceLocation texture) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
TextureMapping mapping = new TextureMapping().put(TextureSlot.ALL, texture);
|
||||||
|
ResourceLocation modelLocation = ModelTemplates.CUBE_ALL.create(block, mapping, blockStateGenerator.modelOutput);
|
||||||
|
blockStateGenerator.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(block, modelLocation));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlock(Block block, String modelName, ResourceLocation texture) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
TextureMapping mapping = new TextureMapping().put(TextureSlot.ALL, texture);
|
||||||
|
ResourceLocation modelLocation = ModelTemplates.CUBE_ALL.create(block, mapping, blockStateGenerator.modelOutput);
|
||||||
|
blockStateGenerator.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(block, modelLocation));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlockItem(Block block, ResourceLocation model) {
|
||||||
|
// This is called from ModBlockStateProvider, intended to register item models for blocks.
|
||||||
|
// Since we are merging, we can potentially handle this here if we are in item generation mode?
|
||||||
|
// But ModBlockStateProvider calls this during registerBlockStates, which is called during generateBlockStateModels.
|
||||||
|
// So we are in block generation mode.
|
||||||
|
// We can't generate item models here because itemModelGenerator is null.
|
||||||
|
// We should probably ignore this here and rely on ModItemModelProvider to register block items?
|
||||||
|
// OR, we can store these requests and run them later?
|
||||||
|
// But ModItemModelProvider seems to have its own logic.
|
||||||
|
// Let's assume ModItemModelProvider handles all item models, including block items.
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlockWithExistingModel(Block block, ResourceLocation model) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
blockStateGenerator.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(block, model));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void crossBlock(Block block, ResourceLocation texture) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
TextureMapping mapping = new TextureMapping().put(TextureSlot.CROSS, texture);
|
||||||
|
ResourceLocation model = ModelTemplates.CROSS.create(block, mapping, blockStateGenerator.modelOutput);
|
||||||
|
blockStateGenerator.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(block, model));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void pottedPlantBlock(Block block, ResourceLocation plantTexture) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
TextureSlot flowerPotSlot = TextureSlot.create("flowerpot");
|
||||||
|
ResourceLocation flowerPotBlock = Constants.r2("minecraft:block/flower_pot");
|
||||||
|
TextureMapping mapping = new TextureMapping().put(TextureSlot.PLANT, plantTexture).put(flowerPotSlot, flowerPotBlock);
|
||||||
|
ResourceLocation model = ModelTemplates.FLOWER_POT_CROSS.create(block, mapping, blockStateGenerator.modelOutput);
|
||||||
|
blockStateGenerator.blockStateOutput.accept(BlockModelGenerators.createSimpleBlock(block, model));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void blockWithItem(Block block) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
blockStateGenerator.createTrivialCube(block);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void horizontalFacingWithItem(Block block) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
TextureMapping mapping = TextureMapping.cube(block);
|
||||||
|
ResourceLocation modelLoc = ModelTemplates.CUBE_ALL.create(block, mapping, blockStateGenerator.modelOutput);
|
||||||
|
blockStateGenerator.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block, Variant.variant().with(VariantProperties.MODEL, modelLoc)).with(BlockModelGenerators.createHorizontalFacingDispatch()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void horizontalFacingLitWithItem(Block block) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
// Placeholder implementation
|
||||||
|
ResourceLocation model = ModelLocationUtils.getModelLocation(block);
|
||||||
|
blockStateGenerator.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block, Variant.variant().with(VariantProperties.MODEL, model)).with(BlockModelGenerators.createHorizontalFacingDispatch()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void horizontalFacingLitNoBlockstateWithItem(Block block) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
ResourceLocation model = ModelLocationUtils.getModelLocation(block);
|
||||||
|
blockStateGenerator.blockStateOutput.accept(MultiVariantGenerator.multiVariant(block, Variant.variant().with(VariantProperties.MODEL, model)).with(BlockModelGenerators.createHorizontalFacingDispatch()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void eggLike(Block block) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void pipeMultipartWithItem(Block block, String modelBaseName) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void customFenceMultipart(Block block, String base, String straight, String diag, BooleanProperty ne, BooleanProperty se, BooleanProperty sw, BooleanProperty nw) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void stairsBlock(StairBlock block, ResourceLocation texture) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void slabBlock(SlabBlock block, ResourceLocation texture, ResourceLocation sideTexture) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void wallBlock(WallBlock block, ResourceLocation texture) {
|
||||||
|
if (isGeneratingBlocks()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation key(Block block) {
|
||||||
|
return net.minecraft.core.registries.BuiltInRegistries.BLOCK.getKey(block);
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- ItemModelHelper Implementation ---
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void basicItemModel(Item item) {
|
||||||
|
if (isGeneratingItems()) {
|
||||||
|
itemModelGenerator.generateFlatItem(item, ModelTemplates.FLAT_ITEM);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void spawnEgg(Item item) {
|
||||||
|
if (isGeneratingItems()) {
|
||||||
|
itemModelGenerator.generateFlatItem(item, ModelTemplates.FLAT_ITEM);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlockItemModel(Block block) {
|
||||||
|
if (isGeneratingItems()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void flowerItem(Block block) {
|
||||||
|
if (isGeneratingItems()) {
|
||||||
|
itemModelGenerator.generateFlatItem(block.asItem(), ModelTemplates.FLAT_ITEM);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void wallItem(Block block, Block baseBlock) {
|
||||||
|
if (isGeneratingItems()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void buttonItem(Block block, Block baseBlock) {
|
||||||
|
if (isGeneratingItems()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fenceItem(Block block, Block baseBlock) {
|
||||||
|
if (isGeneratingItems()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void withExistingParentModel(Item item, ResourceLocation parent) {
|
||||||
|
if (isGeneratingItems()) {
|
||||||
|
// Placeholder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -23,6 +23,9 @@
|
|||||||
],
|
],
|
||||||
"modmenu": [
|
"modmenu": [
|
||||||
"net.cmr.jurassicrevived.client.config.JRModMenuIntegration"
|
"net.cmr.jurassicrevived.client.config.JRModMenuIntegration"
|
||||||
|
],
|
||||||
|
"fabric-datagen": [
|
||||||
|
"net.cmr.jurassicrevived.datagen.DataGenerators"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"mixins": [
|
"mixins": [
|
||||||
|
|||||||
@@ -80,6 +80,13 @@ legacyForge {
|
|||||||
data()
|
data()
|
||||||
ideName = "MinecraftForge Data (${project.path})"
|
ideName = "MinecraftForge Data (${project.path})"
|
||||||
logLevel = Level.TRACE
|
logLevel = Level.TRACE
|
||||||
|
programArguments.addAll(
|
||||||
|
"--mod", commonMod.id,
|
||||||
|
"--all",
|
||||||
|
"--output", file("src/generated/resources").absolutePath,
|
||||||
|
"--existing", file("src/main/resources").absolutePath,
|
||||||
|
"--existing", project(":common").file("src/main/resources").absolutePath
|
||||||
|
)
|
||||||
}
|
}
|
||||||
register("server") {
|
register("server") {
|
||||||
server()
|
server()
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package net.cmr.jurassicrevived.datagen;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.minecraft.data.DataGenerator;
|
||||||
|
import net.minecraft.data.PackOutput;
|
||||||
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
|
import net.minecraftforge.data.event.GatherDataEvent;
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
import net.minecraftforge.fml.common.Mod;
|
||||||
|
|
||||||
|
@Mod.EventBusSubscriber(modid = Constants.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||||
|
public class DataGenerators {
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void gatherData(GatherDataEvent event) {
|
||||||
|
DataGenerator generator = event.getGenerator();
|
||||||
|
PackOutput packOutput = generator.getPackOutput();
|
||||||
|
ExistingFileHelper existingFileHelper = event.getExistingFileHelper();
|
||||||
|
|
||||||
|
generator.addProvider(event.includeClient(), new ForgeBlockStateProvider(packOutput, existingFileHelper));
|
||||||
|
generator.addProvider(event.includeClient(), new ForgeItemModelProvider(packOutput, existingFileHelper));
|
||||||
|
}
|
||||||
|
}
|
||||||
+271
@@ -0,0 +1,271 @@
|
|||||||
|
package net.cmr.jurassicrevived.datagen;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.cmr.jurassicrevived.block.custom.PipeBlock;
|
||||||
|
import net.minecraft.core.Direction;
|
||||||
|
import net.minecraft.data.PackOutput;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraft.world.level.block.SlabBlock;
|
||||||
|
import net.minecraft.world.level.block.StairBlock;
|
||||||
|
import net.minecraft.world.level.block.WallBlock;
|
||||||
|
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||||
|
import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
||||||
|
import net.minecraft.world.level.block.state.properties.EnumProperty;
|
||||||
|
import net.minecraftforge.client.model.generators.BlockStateProvider;
|
||||||
|
import net.minecraftforge.client.model.generators.ModelFile;
|
||||||
|
import net.minecraftforge.client.model.generators.MultiPartBlockStateBuilder;
|
||||||
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
|
|
||||||
|
public class ForgeBlockStateProvider extends BlockStateProvider implements ModBlockStateProvider.BlockStateHelper {
|
||||||
|
|
||||||
|
public ForgeBlockStateProvider(PackOutput output, ExistingFileHelper exFileHelper) {
|
||||||
|
super(output, Constants.MOD_ID, exFileHelper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void registerStatesAndModels() {
|
||||||
|
ModBlockStateProvider.registerBlockStates(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlock(Block block, ResourceLocation texture) {
|
||||||
|
super.simpleBlock(block, models().cubeAll(name(block), texture));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlock(Block block, String modelName, ResourceLocation texture) {
|
||||||
|
super.simpleBlock(block, models().cubeAll(modelName, texture));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlockItem(Block block, ResourceLocation model) {
|
||||||
|
super.simpleBlockItem(block, new ModelFile.UncheckedModelFile(model));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlockWithExistingModel(Block block, ResourceLocation model) {
|
||||||
|
ModelFile modelFile = new ModelFile.UncheckedModelFile(model);
|
||||||
|
super.simpleBlock(block, modelFile);
|
||||||
|
super.simpleBlockItem(block, modelFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void crossBlock(Block block, ResourceLocation texture) {
|
||||||
|
super.simpleBlock(block, models().cross(name(block), texture).renderType("cutout"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void pottedPlantBlock(Block block, ResourceLocation plantTexture) {
|
||||||
|
super.simpleBlock(block, models().singleTexture(name(block), ResourceLocation.parse("flower_pot_cross"), "plant", plantTexture).renderType("cutout"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void blockWithItem(Block block) {
|
||||||
|
super.simpleBlockWithItem(block, models().cubeAll(name(block), blockTexture(block)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void horizontalFacingWithItem(Block block) {
|
||||||
|
ModelFile model = new ModelFile.UncheckedModelFile(modLoc("block/" + name(block)));
|
||||||
|
horizontalBlock(block, model);
|
||||||
|
simpleBlockItem(block, model);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void horizontalFacingLitWithItem(Block block) {
|
||||||
|
String base = name(block);
|
||||||
|
ModelFile unlit = new ModelFile.UncheckedModelFile(modLoc("block/" + base));
|
||||||
|
ModelFile lit = new ModelFile.UncheckedModelFile(modLoc("block/" + base + "_lit"));
|
||||||
|
|
||||||
|
getVariantBuilder(block)
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.NORTH).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(180).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.SOUTH).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(0).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.WEST).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(90).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.EAST).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(270).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.NORTH).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(lit).rotationY(180).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.SOUTH).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(lit).rotationY(0).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.WEST).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(lit).rotationY(90).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.EAST).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(lit).rotationY(270).addModel();
|
||||||
|
|
||||||
|
simpleBlockItem(block, unlit);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void horizontalFacingLitNoBlockstateWithItem(Block block) {
|
||||||
|
String base = name(block);
|
||||||
|
ModelFile unlit = new ModelFile.UncheckedModelFile(modLoc("block/" + base));
|
||||||
|
|
||||||
|
getVariantBuilder(block)
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.NORTH).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(180).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.SOUTH).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(0).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.WEST).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(90).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.EAST).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(270).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.NORTH).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(180).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.SOUTH).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(0).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.WEST).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(90).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.EAST).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(270).addModel();
|
||||||
|
simpleBlockItem(block, unlit);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void eggLike(Block block) {
|
||||||
|
ModelFile eggModel = new ModelFile.UncheckedModelFile(modLoc("block/egg"));
|
||||||
|
super.simpleBlock(block, eggModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void pipeMultipartWithItem(Block block, String modelBaseName) {
|
||||||
|
var multipart = getMultipartBuilder(block);
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + modelBaseName)))
|
||||||
|
.addModel()
|
||||||
|
.end();
|
||||||
|
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.UP, PipeBlock.ConnectionType.PIPE, 90, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.DOWN, PipeBlock.ConnectionType.PIPE, 270, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.NORTH, PipeBlock.ConnectionType.PIPE, 0, 180);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.EAST, PipeBlock.ConnectionType.PIPE, 0, 270);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.SOUTH, PipeBlock.ConnectionType.PIPE, 0, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.WEST, PipeBlock.ConnectionType.PIPE, 0, 90);
|
||||||
|
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.UP, PipeBlock.ConnectionType.CONNECTOR, 90, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.DOWN, PipeBlock.ConnectionType.CONNECTOR, 270, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.NORTH, PipeBlock.ConnectionType.CONNECTOR, 0, 180);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.EAST, PipeBlock.ConnectionType.CONNECTOR, 0, 270);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.SOUTH, PipeBlock.ConnectionType.CONNECTOR, 0, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.WEST, PipeBlock.ConnectionType.CONNECTOR, 0, 90);
|
||||||
|
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.UP, PipeBlock.ConnectionType.CONNECTOR_PULL, 90, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.DOWN, PipeBlock.ConnectionType.CONNECTOR_PULL, 270, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.NORTH, PipeBlock.ConnectionType.CONNECTOR_PULL, 0, 180);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.EAST, PipeBlock.ConnectionType.CONNECTOR_PULL, 0, 270);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.SOUTH, PipeBlock.ConnectionType.CONNECTOR_PULL, 0, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.WEST, PipeBlock.ConnectionType.CONNECTOR_PULL, 0, 90);
|
||||||
|
|
||||||
|
ModelFile itemParent = new ModelFile.UncheckedModelFile(modLoc("block/" + modelBaseName));
|
||||||
|
simpleBlockItem(block, itemParent);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addDirectionalEnumPart(MultiPartBlockStateBuilder multipart,
|
||||||
|
String modelPath,
|
||||||
|
EnumProperty<PipeBlock.ConnectionType> prop,
|
||||||
|
PipeBlock.ConnectionType value,
|
||||||
|
int rotX,
|
||||||
|
int rotY) {
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc(modelPath)))
|
||||||
|
.rotationX(rotX)
|
||||||
|
.rotationY(rotY)
|
||||||
|
.addModel()
|
||||||
|
.condition(prop, value)
|
||||||
|
.end();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void customFenceMultipart(Block block, String baseModelName, String straightArmModelName, String diagonalArmModelName, BooleanProperty neProp, BooleanProperty seProp, BooleanProperty swProp, BooleanProperty nwProp) {
|
||||||
|
var multipart = getMultipartBuilder(block);
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + baseModelName)))
|
||||||
|
.addModel()
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + straightArmModelName)))
|
||||||
|
.rotationY(0)
|
||||||
|
.addModel()
|
||||||
|
.condition(BlockStateProperties.NORTH, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + straightArmModelName)))
|
||||||
|
.rotationY(90)
|
||||||
|
.addModel()
|
||||||
|
.condition(BlockStateProperties.EAST, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + straightArmModelName)))
|
||||||
|
.rotationY(180)
|
||||||
|
.addModel()
|
||||||
|
.condition(BlockStateProperties.SOUTH, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + straightArmModelName)))
|
||||||
|
.rotationY(270)
|
||||||
|
.addModel()
|
||||||
|
.condition(BlockStateProperties.WEST, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + diagonalArmModelName)))
|
||||||
|
.rotationY(90)
|
||||||
|
.addModel()
|
||||||
|
.condition(neProp, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + diagonalArmModelName)))
|
||||||
|
.rotationY(180)
|
||||||
|
.addModel()
|
||||||
|
.condition(seProp, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + diagonalArmModelName)))
|
||||||
|
.rotationY(270)
|
||||||
|
.addModel()
|
||||||
|
.condition(swProp, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + diagonalArmModelName)))
|
||||||
|
.rotationY(0)
|
||||||
|
.addModel()
|
||||||
|
.condition(nwProp, true)
|
||||||
|
.end();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void stairsBlock(StairBlock block, ResourceLocation texture) {
|
||||||
|
super.stairsBlock(block, texture);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void slabBlock(SlabBlock block, ResourceLocation texture, ResourceLocation sideTexture) {
|
||||||
|
super.slabBlock(block, texture, sideTexture);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void wallBlock(WallBlock block, ResourceLocation texture) {
|
||||||
|
super.wallBlock(block, texture);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String name(Block block) {
|
||||||
|
return key(block).getPath();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation key(Block block) {
|
||||||
|
return net.minecraft.core.registries.BuiltInRegistries.BLOCK.getKey(block);
|
||||||
|
}
|
||||||
|
}
|
||||||
+80
@@ -0,0 +1,80 @@
|
|||||||
|
package net.cmr.jurassicrevived.datagen;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.minecraft.data.PackOutput;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraftforge.client.model.generators.ItemModelBuilder;
|
||||||
|
import net.minecraftforge.client.model.generators.ItemModelProvider;
|
||||||
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
|
|
||||||
|
public class ForgeItemModelProvider extends ItemModelProvider implements ModItemModelProvider.ItemModelHelper {
|
||||||
|
|
||||||
|
public ForgeItemModelProvider(PackOutput output, ExistingFileHelper existingFileHelper) {
|
||||||
|
super(output, Constants.MOD_ID, existingFileHelper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void registerModels() {
|
||||||
|
ModItemModelProvider.registerItemModels(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemModelBuilder basicItem(Item item) {
|
||||||
|
return super.basicItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void basicItemModel(Item item) {
|
||||||
|
super.basicItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void spawnEgg(Item item) {
|
||||||
|
withExistingParent(name(item), mcLoc("item/template_spawn_egg"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlockItemModel(Block block) {
|
||||||
|
withExistingParent(name(block), mcLoc("item/generated"))
|
||||||
|
.texture("layer0", modLoc("block/" + name(block)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void flowerItem(Block block) {
|
||||||
|
withExistingParent(name(block), mcLoc("item/generated"))
|
||||||
|
.texture("layer0", modLoc("block/" + name(block)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void wallItem(Block block, Block baseBlock) {
|
||||||
|
withExistingParent(name(block), mcLoc("block/wall_inventory"))
|
||||||
|
.texture("wall", modLoc("block/" + name(baseBlock)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void buttonItem(Block block, Block baseBlock) {
|
||||||
|
withExistingParent(name(block), mcLoc("block/button_inventory"))
|
||||||
|
.texture("texture", modLoc("block/" + name(baseBlock)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fenceItem(Block block, Block baseBlock) {
|
||||||
|
withExistingParent(name(block), mcLoc("block/fence_inventory"))
|
||||||
|
.texture("texture", modLoc("block/" + name(baseBlock)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void withExistingParentModel(Item item, ResourceLocation parent) {
|
||||||
|
super.withExistingParent(name(item), parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String name(Item item) {
|
||||||
|
return net.minecraft.core.registries.BuiltInRegistries.ITEM.getKey(item).getPath();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String name(Block block) {
|
||||||
|
return net.minecraft.core.registries.BuiltInRegistries.BLOCK.getKey(block).getPath();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -84,6 +84,13 @@ neoForge {
|
|||||||
register("data") {
|
register("data") {
|
||||||
data()
|
data()
|
||||||
ideName = "NeoForge Data (${project.path})"
|
ideName = "NeoForge Data (${project.path})"
|
||||||
|
programArguments.addAll(
|
||||||
|
"--mod", commonMod.id,
|
||||||
|
"--all",
|
||||||
|
"--output", file("src/generated/resources").absolutePath,
|
||||||
|
"--existing", file("src/main/resources").absolutePath,
|
||||||
|
"--existing", project(":common").file("src/main/resources").absolutePath
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
register("server") {
|
register("server") {
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package net.cmr.jurassicrevived.datagen;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
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.ExistingFileHelper;
|
||||||
|
import net.neoforged.neoforge.data.event.GatherDataEvent;
|
||||||
|
|
||||||
|
@EventBusSubscriber(modid = Constants.MOD_ID)
|
||||||
|
public class DataGenerators {
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void gatherData(GatherDataEvent event) {
|
||||||
|
DataGenerator generator = event.getGenerator();
|
||||||
|
PackOutput packOutput = generator.getPackOutput();
|
||||||
|
ExistingFileHelper existingFileHelper = event.getExistingFileHelper();
|
||||||
|
|
||||||
|
generator.addProvider(event.includeClient(), new NeoForgeBlockStateProvider(packOutput, existingFileHelper));
|
||||||
|
generator.addProvider(event.includeClient(), new NeoForgeItemModelProvider(packOutput, existingFileHelper));
|
||||||
|
}
|
||||||
|
}
|
||||||
+271
@@ -0,0 +1,271 @@
|
|||||||
|
package net.cmr.jurassicrevived.datagen;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.cmr.jurassicrevived.block.custom.PipeBlock;
|
||||||
|
import net.minecraft.core.Direction;
|
||||||
|
import net.minecraft.data.PackOutput;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraft.world.level.block.SlabBlock;
|
||||||
|
import net.minecraft.world.level.block.StairBlock;
|
||||||
|
import net.minecraft.world.level.block.WallBlock;
|
||||||
|
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||||
|
import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
||||||
|
import net.minecraft.world.level.block.state.properties.EnumProperty;
|
||||||
|
import net.neoforged.neoforge.client.model.generators.BlockStateProvider;
|
||||||
|
import net.neoforged.neoforge.client.model.generators.ModelFile;
|
||||||
|
import net.neoforged.neoforge.client.model.generators.MultiPartBlockStateBuilder;
|
||||||
|
import net.neoforged.neoforge.common.data.ExistingFileHelper;
|
||||||
|
|
||||||
|
public class NeoForgeBlockStateProvider extends BlockStateProvider implements ModBlockStateProvider.BlockStateHelper {
|
||||||
|
|
||||||
|
public NeoForgeBlockStateProvider(PackOutput output, ExistingFileHelper exFileHelper) {
|
||||||
|
super(output, Constants.MOD_ID, exFileHelper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void registerStatesAndModels() {
|
||||||
|
ModBlockStateProvider.registerBlockStates(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlock(Block block, ResourceLocation texture) {
|
||||||
|
super.simpleBlock(block, models().cubeAll(name(block), texture));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlock(Block block, String modelName, ResourceLocation texture) {
|
||||||
|
super.simpleBlock(block, models().cubeAll(modelName, texture));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlockItem(Block block, ResourceLocation model) {
|
||||||
|
super.simpleBlockItem(block, new ModelFile.UncheckedModelFile(model));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlockWithExistingModel(Block block, ResourceLocation model) {
|
||||||
|
ModelFile modelFile = new ModelFile.UncheckedModelFile(model);
|
||||||
|
super.simpleBlock(block, modelFile);
|
||||||
|
super.simpleBlockItem(block, modelFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void crossBlock(Block block, ResourceLocation texture) {
|
||||||
|
super.simpleBlock(block, models().cross(name(block), texture).renderType("cutout"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void pottedPlantBlock(Block block, ResourceLocation plantTexture) {
|
||||||
|
super.simpleBlock(block, models().singleTexture(name(block), ResourceLocation.parse("flower_pot_cross"), "plant", plantTexture).renderType("cutout"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void blockWithItem(Block block) {
|
||||||
|
super.simpleBlockWithItem(block, models().cubeAll(name(block), blockTexture(block)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void horizontalFacingWithItem(Block block) {
|
||||||
|
ModelFile model = new ModelFile.UncheckedModelFile(modLoc("block/" + name(block)));
|
||||||
|
horizontalBlock(block, model);
|
||||||
|
simpleBlockItem(block, model);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void horizontalFacingLitWithItem(Block block) {
|
||||||
|
String base = name(block);
|
||||||
|
ModelFile unlit = new ModelFile.UncheckedModelFile(modLoc("block/" + base));
|
||||||
|
ModelFile lit = new ModelFile.UncheckedModelFile(modLoc("block/" + base + "_lit"));
|
||||||
|
|
||||||
|
getVariantBuilder(block)
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.NORTH).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(180).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.SOUTH).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(0).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.WEST).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(90).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.EAST).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(270).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.NORTH).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(lit).rotationY(180).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.SOUTH).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(lit).rotationY(0).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.WEST).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(lit).rotationY(90).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.EAST).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(lit).rotationY(270).addModel();
|
||||||
|
|
||||||
|
simpleBlockItem(block, unlit);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void horizontalFacingLitNoBlockstateWithItem(Block block) {
|
||||||
|
String base = name(block);
|
||||||
|
ModelFile unlit = new ModelFile.UncheckedModelFile(modLoc("block/" + base));
|
||||||
|
|
||||||
|
getVariantBuilder(block)
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.NORTH).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(180).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.SOUTH).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(0).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.WEST).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(90).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.EAST).with(BlockStateProperties.LIT, false)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(270).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.NORTH).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(180).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.SOUTH).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(0).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.WEST).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(90).addModel()
|
||||||
|
.partialState().with(BlockStateProperties.HORIZONTAL_FACING, Direction.EAST).with(BlockStateProperties.LIT, true)
|
||||||
|
.modelForState().modelFile(unlit).rotationY(270).addModel();
|
||||||
|
simpleBlockItem(block, unlit);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void eggLike(Block block) {
|
||||||
|
ModelFile eggModel = new ModelFile.UncheckedModelFile(modLoc("block/egg"));
|
||||||
|
super.simpleBlock(block, eggModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void pipeMultipartWithItem(Block block, String modelBaseName) {
|
||||||
|
var multipart = getMultipartBuilder(block);
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + modelBaseName)))
|
||||||
|
.addModel()
|
||||||
|
.end();
|
||||||
|
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.UP, PipeBlock.ConnectionType.PIPE, 90, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.DOWN, PipeBlock.ConnectionType.PIPE, 270, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.NORTH, PipeBlock.ConnectionType.PIPE, 0, 180);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.EAST, PipeBlock.ConnectionType.PIPE, 0, 270);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.SOUTH, PipeBlock.ConnectionType.PIPE, 0, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_interchange", PipeBlock.WEST, PipeBlock.ConnectionType.PIPE, 0, 90);
|
||||||
|
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.UP, PipeBlock.ConnectionType.CONNECTOR, 90, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.DOWN, PipeBlock.ConnectionType.CONNECTOR, 270, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.NORTH, PipeBlock.ConnectionType.CONNECTOR, 0, 180);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.EAST, PipeBlock.ConnectionType.CONNECTOR, 0, 270);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.SOUTH, PipeBlock.ConnectionType.CONNECTOR, 0, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector", PipeBlock.WEST, PipeBlock.ConnectionType.CONNECTOR, 0, 90);
|
||||||
|
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.UP, PipeBlock.ConnectionType.CONNECTOR_PULL, 90, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.DOWN, PipeBlock.ConnectionType.CONNECTOR_PULL, 270, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.NORTH, PipeBlock.ConnectionType.CONNECTOR_PULL, 0, 180);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.EAST, PipeBlock.ConnectionType.CONNECTOR_PULL, 0, 270);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.SOUTH, PipeBlock.ConnectionType.CONNECTOR_PULL, 0, 0);
|
||||||
|
addDirectionalEnumPart(multipart, "block/" + modelBaseName + "_connector_pull", PipeBlock.WEST, PipeBlock.ConnectionType.CONNECTOR_PULL, 0, 90);
|
||||||
|
|
||||||
|
ModelFile itemParent = new ModelFile.UncheckedModelFile(modLoc("block/" + modelBaseName));
|
||||||
|
simpleBlockItem(block, itemParent);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addDirectionalEnumPart(MultiPartBlockStateBuilder multipart,
|
||||||
|
String modelPath,
|
||||||
|
EnumProperty<PipeBlock.ConnectionType> prop,
|
||||||
|
PipeBlock.ConnectionType value,
|
||||||
|
int rotX,
|
||||||
|
int rotY) {
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc(modelPath)))
|
||||||
|
.rotationX(rotX)
|
||||||
|
.rotationY(rotY)
|
||||||
|
.addModel()
|
||||||
|
.condition(prop, value)
|
||||||
|
.end();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void customFenceMultipart(Block block, String baseModelName, String straightArmModelName, String diagonalArmModelName, BooleanProperty neProp, BooleanProperty seProp, BooleanProperty swProp, BooleanProperty nwProp) {
|
||||||
|
var multipart = getMultipartBuilder(block);
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + baseModelName)))
|
||||||
|
.addModel()
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + straightArmModelName)))
|
||||||
|
.rotationY(0)
|
||||||
|
.addModel()
|
||||||
|
.condition(BlockStateProperties.NORTH, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + straightArmModelName)))
|
||||||
|
.rotationY(90)
|
||||||
|
.addModel()
|
||||||
|
.condition(BlockStateProperties.EAST, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + straightArmModelName)))
|
||||||
|
.rotationY(180)
|
||||||
|
.addModel()
|
||||||
|
.condition(BlockStateProperties.SOUTH, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + straightArmModelName)))
|
||||||
|
.rotationY(270)
|
||||||
|
.addModel()
|
||||||
|
.condition(BlockStateProperties.WEST, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + diagonalArmModelName)))
|
||||||
|
.rotationY(90)
|
||||||
|
.addModel()
|
||||||
|
.condition(neProp, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + diagonalArmModelName)))
|
||||||
|
.rotationY(180)
|
||||||
|
.addModel()
|
||||||
|
.condition(seProp, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + diagonalArmModelName)))
|
||||||
|
.rotationY(270)
|
||||||
|
.addModel()
|
||||||
|
.condition(swProp, true)
|
||||||
|
.end();
|
||||||
|
|
||||||
|
multipart.part()
|
||||||
|
.modelFile(models().getExistingFile(modLoc("block/" + diagonalArmModelName)))
|
||||||
|
.rotationY(0)
|
||||||
|
.addModel()
|
||||||
|
.condition(nwProp, true)
|
||||||
|
.end();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void stairsBlock(StairBlock block, ResourceLocation texture) {
|
||||||
|
super.stairsBlock(block, texture);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void slabBlock(SlabBlock block, ResourceLocation texture, ResourceLocation sideTexture) {
|
||||||
|
super.slabBlock(block, texture, sideTexture);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void wallBlock(WallBlock block, ResourceLocation texture) {
|
||||||
|
super.wallBlock(block, texture);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String name(Block block) {
|
||||||
|
return key(block).getPath();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation key(Block block) {
|
||||||
|
return net.minecraft.core.registries.BuiltInRegistries.BLOCK.getKey(block);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
package net.cmr.jurassicrevived.datagen;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.minecraft.data.PackOutput;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.neoforged.neoforge.client.model.generators.ItemModelProvider;
|
||||||
|
import net.neoforged.neoforge.common.data.ExistingFileHelper;
|
||||||
|
|
||||||
|
public class NeoForgeItemModelProvider extends ItemModelProvider implements ModItemModelProvider.ItemModelHelper {
|
||||||
|
|
||||||
|
public NeoForgeItemModelProvider(PackOutput output, ExistingFileHelper existingFileHelper) {
|
||||||
|
super(output, Constants.MOD_ID, existingFileHelper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void registerModels() {
|
||||||
|
ModItemModelProvider.registerItemModels(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void basicItemModel(Item item) {
|
||||||
|
super.basicItem(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void spawnEgg(Item item) {
|
||||||
|
withExistingParent(name(item), mcLoc("item/template_spawn_egg"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleBlockItemModel(Block block) {
|
||||||
|
withExistingParent(name(block), mcLoc("item/generated"))
|
||||||
|
.texture("layer0", modLoc("block/" + name(block)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void flowerItem(Block block) {
|
||||||
|
withExistingParent(name(block), mcLoc("item/generated"))
|
||||||
|
.texture("layer0", modLoc("block/" + name(block)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void wallItem(Block block, Block baseBlock) {
|
||||||
|
withExistingParent(name(block), mcLoc("block/wall_inventory"))
|
||||||
|
.texture("wall", modLoc("block/" + name(baseBlock)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void buttonItem(Block block, Block baseBlock) {
|
||||||
|
withExistingParent(name(block), mcLoc("block/button_inventory"))
|
||||||
|
.texture("texture", modLoc("block/" + name(baseBlock)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fenceItem(Block block, Block baseBlock) {
|
||||||
|
withExistingParent(name(block), mcLoc("block/fence_inventory"))
|
||||||
|
.texture("texture", modLoc("block/" + name(baseBlock)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void withExistingParentModel(Item item, ResourceLocation parent) {
|
||||||
|
super.withExistingParent(name(item), parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String name(Item item) {
|
||||||
|
return net.minecraft.core.registries.BuiltInRegistries.ITEM.getKey(item).getPath();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String name(Block block) {
|
||||||
|
return net.minecraft.core.registries.BuiltInRegistries.BLOCK.getKey(block).getPath();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user