Posted August 13, 201411 yr I'm trying to make a custom rendered block, which uses a model, however i cant get it to work, I've looked at tutorials etc but nothing i do works. When i place it, it is invisible, and in my inventory it has a flat missing texture Anyway here is the code Block Code public class BlockCampFire extends Block { public BlockCampFire() { super(Material.wood); setBlockName(RealSurvival.MODID + "_" + "campFire"); setBlockTextureName(RealSurvival.MODID + ":" + "campFire"); setCreativeTab(RealSurvival.tabCustom ); } public int getRenderType() { return -1; } public boolean isOpaqueCube() { return false; } public boolean renderAsNormalBlock() { return false; } public TileEntity createNewTileEntity(World var1, int var2) { return new TileEntityCampFireEntity(); } /** * Called when the block is placed in the world. */ public void onBlockPlacedBy(World w, int x, int y, int z, EntityLivingBase e, ItemStack i) { super.onBlockPlacedBy(w, x, y, z, e, i); if (i.hasDisplayName()) { } } } Tile Entity Code public class TileEntityCampFireEntity extends TileEntity { } Tile Entity Render Code public class TileEntityCampFireRenderer extends TileEntitySpecialRenderer{ private CampFireModel model; private static final ResourceLocation texture = new ResourceLocation("mhfc:textures/blocks/FirePit.png"); public TileEntityCampFireRenderer() { model = new CampFireModel(); } public void renderTileEntityAt(TileEntity tileentity, double x, double y,double z, float f) { GL11.glPushMatrix(); GL11.glTranslatef((float)x + 0.5F, (float)y - -1.5F, (float)z + 0.5F); GL11.glRotatef(180F, 0F, 0F, 1F); bindTexture(texture); GL11.glPushMatrix(); model.render(0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); } private void adjustLightFixture(World world, int i, int j, int k, Block block) { Tessellator tess = Tessellator.instance; float brightness = block.getMixedBrightnessForBlock(world, i, j, k); int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); int modulousModifier = skyLight % 65536; int divModifier = skyLight / 65536; tess.setColorOpaque_F(brightness, brightness, brightness); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) modulousModifier, divModifier); } } Model Code public class CampFireModel extends ModelBase { //fields ModelRenderer Stick; ModelRenderer Stick1; ModelRenderer Stick2; ModelRenderer Stick3; ModelRenderer Stick4; ModelRenderer Stick5; ModelRenderer Stick6; public CampFireModel() { textureWidth = 64; textureHeight = 32; Stick = new ModelRenderer(this, 0, 13); Stick.addBox(0F, 0F, 0F, 7, 1, 1); Stick.setRotationPoint(-5F, 23F, -1F); Stick.setTextureSize(64, 32); Stick.mirror = true; setRotation(Stick, 0F, 0F, -0.6632251F); Stick1 = new ModelRenderer(this, 0, 13); Stick1.addBox(0F, 0F, 0F, 7, 1, 1); Stick1.setRotationPoint(-5F, 23F, 4F); Stick1.setTextureSize(64, 32); Stick1.mirror = true; setRotation(Stick1, 0F, 0.7931437F, -0.390582F); Stick2 = new ModelRenderer(this, 0, 13); Stick2.addBox(0F, 0F, 0F, 7, 1, 1); Stick2.setRotationPoint(5F, 23F, -1F); Stick2.setTextureSize(64, 32); Stick2.mirror = true; setRotation(Stick2, 0F, -2.776003F, -0.5888679F); Stick3 = new ModelRenderer(this, 0, 13); Stick3.addBox(0F, 0F, 0F, 7, 1, 1); Stick3.setRotationPoint(4F, 23F, 4F); Stick3.setTextureSize(64, 32); Stick3.mirror = true; setRotation(Stick3, 0F, 2.478574F, -0.6632251F); Stick4 = new ModelRenderer(this, 0, 13); Stick4.addBox(0F, 0F, 0F, 7, 1, 1); Stick4.setRotationPoint(-2F, 23F, -5F); Stick4.setTextureSize(64, 32); Stick4.mirror = true; setRotation(Stick4, 0F, -1.115358F, -0.6632251F); Stick5 = new ModelRenderer(this, 0, 13); Stick5.addBox(0F, 0F, 0F, 7, 1, 1); Stick5.setRotationPoint(-1.022222F, 23F, 5F); Stick5.setTextureSize(64, 32); Stick5.mirror = true; setRotation(Stick5, 0F, 1.412787F, -0.5888679F); Stick6 = new ModelRenderer(this, 0, 13); Stick6.addBox(0F, 0F, 0F, 7, 1, 1); Stick6.setRotationPoint(2F, 23F, -5F); Stick6.setTextureSize(64, 32); Stick6.mirror = true; setRotation(Stick6, 0F, -1.883716F, -0.5888679F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); Stick.render(f5); Stick1.render(f5); Stick2.render(f5); Stick3.render(f5); Stick4.render(f5); Stick5.render(f5); Stick6.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); } public void render(float f) { // TODO Auto-generated method stub } }
August 13, 201411 yr Hi Is your renderTileEntityAt being called? (Use a breakpoint, or System.out.println to find out) If so - you have a rendering problem. If not - your tile entity renderer is probably not registered properly. Re missing texture - show your error log? -TGG
August 13, 201411 yr Author Hi Is your renderTileEntityAt being called? (Use a breakpoint, or System.out.println to find out) If so - you have a rendering problem. If not - your tile entity renderer is probably not registered properly. Re missing texture - show your error log? -TGG I think it is a missing texture [Client thread/ERROR]: Using missing texture, unable to load realsurvival:textures/blocks/campFire.png java.io.FileNotFoundException: realsurvival:textures/blocks/campFire.png Here is the path of the texture /Forge/src/main/resources/assets/realsurvival/textures/blocks/FirePitTexture.png i've tried resources/assets/realsurvival/textures/blocks/FirePitTexture.png assets/realsurvival/textures/blocks/FirePitTexture.png realsurvival/textures/blocks/FirePitTexture.png etc also the texture isnt 16x16, im guessing not but could that be the problem?
August 13, 201411 yr Hi These links might help http://www.minecraftforge.net/forum/index.php/topic,18371.msg92948.html#msg92948 http://www.minecraftforge.net/forum/index.php/topic,11963.0.html -TGG
August 13, 201411 yr campFire.png != FirePitTexture.png 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.