final TextureMap diamondTexture = TextureMap.all(Identifier.ofVanilla("block/diamond_block")); final Identifier stairsModelId = Models.STAIRS.upload(TutorialBlocks.DIAMOND_STAIRS, diamondTexture, blockStateModelGenerator.modelCollector); final Identifier innerStairsModelId = Models.INNER_STAIRS.upload(TutorialBlocks.DIAMOND_STAIRS, diamondTexture, blockStateModelGenerator.modelCollector); final Identifier outerStairsModelId = Models.OUTER_STAIRS.upload(TutorialBlocks.DIAMOND_STAIRS, diamondTexture, blockStateModelGenerator.modelCollector); blockStateModelGenerator.blockStateCollector.accept( BlockStateModelGenerator.createStairsBlockState(TutorialBlocks.DIAMOND_STAIRS, BlockStateModelGenerator.createWeightedVariant(innerStairsModelId), BlockStateModelGenerator.createWeightedVariant(stairsModelId), BlockStateModelGenerator.createWeightedVariant(outerStairsModelId))); blockStateModelGenerator.registerParentedItemModel(TutorialBlocks.DIAMOND_STAIRS, stairsModelId); final Identifier slabBottomModelId = Models.SLAB.upload(TutorialBlocks.DIAMOND_SLAB, diamondTexture, blockStateModelGenerator.modelCollector); final Identifier slabTopModelId = Models.SLAB_TOP.upload(TutorialBlocks.DIAMOND_SLAB, diamondTexture, blockStateModelGenerator.modelCollector); blockStateModelGenerator.blockStateCollector.accept( BlockStateModelGenerator.createSlabBlockState(TutorialBlocks.DIAMOND_SLAB, BlockStateModelGenerator.createWeightedVariant(slabBottomModelId), BlockStateModelGenerator.createWeightedVariant(slabTopModelId), BlockStateModelGenerator.createWeightedVariant(Identifier.ofVanilla("block/diamond_block"))) ); blockStateModelGenerator.registerParentedItemModel(TutorialBlocks.DIAMOND_SLAB, slabBottomModelId);