Posted April 12, 201510 yr I'm having trouble getting the texture to appear on a crop block called blightplant . Any stage, when placed in the world, has no texture whatsoever (completely transparent). In Item form, the texture is missing (purple and black cube), unless I comment out the ModelBakery line, in which case the first stage renders in the inventory but is still invisible when placed down. Files: Relevant init lines: Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(this.blightplant), 0, new ModelResourceLocation("ferret_myfirstmod:blightplant", "inventory")); ModelBakery.addVariantName(Item.getItemFromBlock(this.blightplant), new String[]{"ferret_myfirstmod:blightplant1", "ferret_myfirstmod:blightplant2", "ferret_myfirstmod:blightplant3"}); BlockBlightPlant class: package com.ferret.myfirstmod; import java.util.List; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockBush; import net.minecraft.block.IGrowable; import net.minecraft.block.material.Material; import net.minecraft.block.properties.IProperty; import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.state.BlockState; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.BlockPos; import net.minecraft.util.IStringSerializable; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class BlockBlightPlant extends BlockBush implements IGrowable { public static final PropertyEnum AGE = PropertyEnum.create("age", BlockBlightPlant.EnumType.class); public BlockBlightPlant() { super(Material.plants); setUnlocalizedName(MyFirstMod.MODID + "_" + "blightplant"); setCreativeTab(CreativeTabs.tabMisc); setHardness(0.0F); setBlockBounds(0F, 0.0F, 0F, 1F, 0.25F, 1F); setStepSound(soundTypeGrass); } @Override public int getRenderType() { return 6; } @SuppressWarnings({"unchecked", "rawtypes"}) @SideOnly(Side.CLIENT) @Override public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { for (int i = 0; i < 3; i++) { par3List.add(new ItemStack(par1, 1, i)); } } @Override public int damageDropped(IBlockState state) { return ((BlockBlightPlant.EnumType)state.getValue(AGE)).getMetadata(); } @Override public IBlockState getStateFromMeta(int meta) { return this.getDefaultState().withProperty(AGE, BlockBlightPlant.EnumType.byMetadata(meta)); } @Override public int getMetaFromState(IBlockState state) { return ((BlockBlightPlant.EnumType)state.getValue(AGE)).getMetadata(); } @Override protected BlockState createBlockState() { return new BlockState(this, new IProperty[] {AGE}); } public static enum EnumType implements IStringSerializable { AGE1(0, "0"), AGE2(1, "1"), AGE3(2, "2"); private static final BlockBlightPlant.EnumType[] META_LOOKUP = new BlockBlightPlant.EnumType[values().length]; private final int meta; private final String name; private final String unlocalizedName; private EnumType(int meta, String name) { this(meta, name, name); } private EnumType(int meta, String name, String unlocalizedName) { this.meta = meta; this.name = name; this.unlocalizedName = unlocalizedName; } public int getMetadata() { return this.meta; } public String toString() { return this.name; } public static BlockBlightPlant.EnumType byMetadata(int meta) { if (meta < 0 || meta >= META_LOOKUP.length) { meta = 0; } return META_LOOKUP[meta]; } public String getName() { return this.name; } public String getUnlocalizedName() { return this.unlocalizedName; } static { BlockBlightPlant.EnumType[] var0 = values(); int var1 = var0.length; for (int var2 = 0; var2 < var1; ++var2) { BlockBlightPlant.EnumType var3 = var0[var2]; META_LOOKUP[var3.getMetadata()] = var3; } } } @Override public boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean isClient) { return getMetaFromState(state) != 2; } @Override public boolean canUseBonemeal(World worldIn, Random rand, BlockPos pos, IBlockState state) { return true; } @Override public void grow(World worldIn, Random rand, BlockPos pos, IBlockState state) { int next = getMetaFromState(state) + 1; if(next > 2) { next = 2; } worldIn.setBlockState(pos, getStateFromMeta(2)); } } blightplant.json (blockstate): { "variants": { "age=0": { "model": "ferret_myfirstmod:blightplant1" }, "age=1": { "model": "ferret_myfirstmod:blightplant2" }, "age=2": { "model": "ferret_myfirstmod:blightplant3" } } } blightplant1.json (block) (one for each stage): { "parent": "block/crop", "textures": { "crop": "ferret_myfirstmod:blocks/blightplant1" } } blightplant1.json (item) (one for each stage): { "parent": "ferret_myfirstmod:block/blightplant1", "display": { "thirdperson": { "rotation": [ 10, -45, 170 ], "translation": [ 0, 1.5, -2.75 ], "scale": [ 0.375, 0.375, 0.375 ] } } } What can I change to get the textures to appear?
April 13, 201510 yr Author Wait, never mind. I changed the renderType from 6 to 3 and that worked for some reason. Wuppy's book said 6, maybe it's changed since 1.7.10.
April 13, 201510 yr In 1.7.10, the int returned from getRenderType() determines how to block is rendered. In 1.8, it determines if the block will be rendered as a fluid, a standard JSON model or does not get rendered. Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support. 1.12 -> 1.13 primer by williewillus. 1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support. http://www.howoldisminecraft1710.today/
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.