Posted August 22, 20232 yr hi. me again. This time, I have my custom crop I am working on all 100% done and working... except the model is not loading. I can tell it is the model and not the texture since it looks like a vanilla block and the texture not loaded texture is on all 6 sides. If the model was loading, I think it would look like the crop model with those textures. I don't think I have any spelling errors, but last time I said that it was the whole problem. I don't know how to upload folders to github, so if that is necessary please let me know how. Here's my code. Block Registry (has custom block class in it): Spoiler package net.the_typholorian.pnegative.adventure; import net.minecraft.core.BlockPos; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.CropBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.IntegerProperty; import net.minecraft.world.level.material.Material; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; import net.the_typholorian.pnegative.PNegative; public class Blocks { public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, PNegative.MODID); public static final RegistryObject<Block> BLUEBERRY_BUSH = BLOCKS.register("blueberry_bush", () -> new BlueberryBushBlock(BlockBehaviour.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.CROP))); public static void register(IEventBus eventBus) { BLOCKS.register(eventBus); } } class BlueberryBushBlock extends CropBlock { private static final VoxelShape[] SHAPE_BY_AGE = new VoxelShape[]{ Block.box(0.0D, 0.0D, 0.0D, 16.0D, 2.0D, 16.0D), Block.box(0.0D, 0.0D, 0.0D, 16.0D, 4.0D, 16.0D), Block.box(0.0D, 0.0D, 0.0D, 16.0D, 6.0D, 16.0D), Block.box(0.0D, 0.0D, 0.0D, 16.0D, 8.0D, 16.0D), Block.box(0.0D, 0.0D, 0.0D, 16.0D, 10.0D, 16.0D), Block.box(0.0D, 0.0D, 0.0D, 16.0D, 12.0D, 16.0D), Block.box(0.0D, 0.0D, 0.0D, 16.0D, 14.0D, 16.0D), Block.box(0.0D, 0.0D, 0.0D, 16.0D, 16.0D, 16.0D) }; public BlueberryBushBlock(Properties properties) { super(properties); } @Override public BlockState getPlant(BlockGetter level, BlockPos pos) { return Blocks.BLUEBERRY_BUSH.get().defaultBlockState(); } @Override protected ItemLike getBaseSeedId() { return Items.BLUEBERRIES.get(); } @Override public VoxelShape getShape(BlockState state, BlockGetter level, BlockPos pos, CollisionContext context) { return SHAPE_BY_AGE[state.getValue(this.getAgeProperty())]; } } resources/assets/pnegative/models/block/blueberry_bush.json: Spoiler { "variants": { "age=0": {"model": "pnegative:block/blueberry_bush_stage0"}, "age=1": {"model": "pnegative:block/blueberry_bush_stage1"}, "age=2": {"model": "pnegative:block/blueberry_bush_stage2"}, "age=3": {"model": "pnegative:block/blueberry_bush_stage3"}, "age=4": {"model": "pnegative:block/blueberry_bush_stage4"}, "age=5": {"model": "pnegative:block/blueberry_bush_stage5"}, "age=6": {"model": "pnegative:block/blueberry_bush_stage6"}, "age=7": {"model": "pnegative:block/blueberry_bush_stage7"} } } resources/assets/pnegative/models/block/blueberry_bush_stage0-7.json (identical for all eight, named as above: Spoiler { "parent": "minecraft:block/crop", "textures": { "crop": "pnegative:block/blueberry_bush_stage0" } } The only difference is the texture name. Textures in resources/assets/pnegative/textures/block. Named as above, ending in .png. Are there any issues? If you need to re-create it, I am using forge 43.2.21. java/net/the_typholorian/pnegative/PNegative.class: Spoiler package net.the_typholorian.pnegative; import com.mojang.logging.LogUtils; import net.minecraft.client.renderer.ItemBlockRenderTypes; import net.minecraft.client.renderer.RenderType; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.ModConfig; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.the_typholorian.pnegative.adventure.Blocks; import org.slf4j.Logger; @Mod(PNegative.MODID) public class PNegative { public static final String MODID = "pnegative"; private static final Logger LOGGER = LogUtils.getLogger(); public PNegative() { IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); net.the_typholorian.pnegative.adventure.Items.register(modEventBus); Blocks.register(modEventBus); MinecraftForge.EVENT_BUS.register(this); } } Thank you.
August 22, 20232 yr Quote resources/assets/pnegative/models/block/blueberry_bush.json That file defines the blockstates -> models mapping which should be in a file located at Quote resources/assets/pnegative/blockstates/blueberry_bush.json for a block with ResourceLocation pnegative:blueberry_bush https://minecraft.fandom.com/wiki/Tutorials/Models#Block_states e.g. the vanilla minecraft:wheat blockstates file https://github.com/misode/mcmeta/blob/assets/assets/minecraft/blockstates/wheat.json Even if you can't/won't post a full example of your problem, you can at least post a link to the run/logs/debug.log so we can at least see what the game thinks is the problem. But as I have said many times before. If you post incomplete information you shouldn't be suprised if people ignore your posts for being too much effort - unless the problem is obvious. Edited August 22, 20232 yr by warjort Boilerplate: If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one. If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install Large files should be posted to a file sharing site like https://gist.github.com You should also read the support forum sticky post.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.