Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Hello all. I've been trying to create a custom rendered block but it just doesn't want to work. For some reason it's checking in minecraft and not in my model package...

 

The error

 

[21:14:42] [Client thread/ERROR]: Using missing texture, unable to load minecraft:textures/blocks/.png

java.io.FileNotFoundException: minecraft:textures/blocks/.png

at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:65) ~[FallbackResourceManager.class:?]

at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:67) ~[simpleReloadableResourceManager.class:?]

at net.minecraft.client.renderer.texture.TextureMap.loadTextureAtlas(TextureMap.java:126) [TextureMap.class:?]

at net.minecraft.client.renderer.texture.TextureMap.loadTexture(TextureMap.java:91) [TextureMap.class:?]

at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89) [TextureManager.class:?]

at net.minecraft.client.renderer.texture.TextureManager.loadTickableTexture(TextureManager.java:71) [TextureManager.class:?]

at net.minecraft.client.renderer.texture.TextureManager.loadTextureMap(TextureManager.java:58) [TextureManager.class:?]

at net.minecraft.client.Minecraft.startGame(Minecraft.java:579) [Minecraft.class:?]

at net.minecraft.client.Minecraft.run(Minecraft.java:890) [Minecraft.class:?]

at net.minecraft.client.main.Main.main(Main.java:112) [Main.class:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_51]

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_51]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_51]

at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_51]

at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?]

at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]

 

 

 

This is everything in my main mod class that is related to rendering. The rendering happens in the PreInitialization.

 

blockAstralLensBlock = new AstralLens(Material.iron).setBlockName("arcaneLens")

.setBlockTextureName("");

 

GameRegistry.registerBlock(blockAstralLensBlock, "AstralLens");                                          GameRegistry.registerTileEntity(AstralLensTileEntity.class, "Astral Lens");

 

proxy.registerRenderer();

 

 

My block class

 

package net.arcaneengineer.mod.blocks;

 

import net.arcaneengineer.mod.ArcaneEngineer;

import net.arcaneengineer.mod.tileentity.AstralLensTileEntity;

import net.minecraft.block.BlockContainer;

import net.minecraft.block.material.Material;

import net.minecraft.client.renderer.texture.IIconRegister;

import net.minecraft.tileentity.TileEntity;

import net.minecraft.world.World;

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

 

public class AstralLens extends BlockContainer{

 

public AstralLens(Material material) {

super(material);

this.setHarvestLevel("pickaxe", 2);

this.setHardness(10.0F);

this.setResistance(20.0F);

this.setCreativeTab(ArcaneEngineer.ArcaneEngineerTab);

 

    }

 

public int GetRenderType() {

 

return -1;

}

 

@Override

public boolean isOpaqueCube() {

 

return false;

}

 

public boolean isRenderedAsNormalBlock() {

 

return false;

}

 

@Override

public TileEntity createNewTileEntity(World var1, int var2) {

return new AstralLensTileEntity();

}

 

 

 

}

 

 

My block renderer

 

package net.arcaneengineer.mod.renderer;

 

import org.lwjgl.opengl.GL11;

 

import cpw.mods.fml.client.FMLClientHandler;

import net.arcaneengineer.mod.ArcaneEngineer;

import net.arcaneengineer.mod.blocks.AstralLens;

import net.arcaneengineer.mod.model.ModelAstralLens;

import net.minecraft.client.Minecraft;

import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;

import net.minecraft.tileentity.TileEntity;

import net.minecraft.util.ResourceLocation;

 

public class AstralLensRenderer extends TileEntitySpecialRenderer{

 

public static final ResourceLocation textureAstralLens = new ResourceLocation(ArcaneEngineer.modID + ":" + "astrallens");

 

 

private ModelAstralLens model;

 

public AstralLensRenderer() {

 

this.model = new ModelAstralLens();

}

 

 

@Override

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(180, 0F, 0F, 1F);

 

Minecraft.getMinecraft().getTextureManager().bindTexture(textureAstralLens);

 

GL11.glPushMatrix();

  this.model.renderModel(0.0625F);

GL11.glPopMatrix();

 

 

GL11.glPopMatrix();

 

}

 

}}

 

 

My item renderer

 

package net.arcaneengineer.mod.renderer;

 

import org.lwjgl.opengl.GL11;

 

import net.arcaneengineer.mod.tileentity.AstralLensTileEntity;

import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;

import net.minecraft.item.ItemStack;

import net.minecraft.tileentity.TileEntity;

import net.minecraftforge.client.IItemRenderer;

 

public class AstralLensItemRenderer implements IItemRenderer {

 

private TileEntitySpecialRenderer render;

private TileEntity entity;

 

public AstralLensItemRenderer(TileEntitySpecialRenderer render, AstralLensTileEntity entity) {

 

this.entity = entity;

this.render = render;

 

}

 

@Override

public boolean handleRenderType(ItemStack item, ItemRenderType type) {

return true;

}

 

@Override

public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {

return true;

}

 

@Override

public void renderItem(ItemRenderType type, ItemStack item, Object... data) {

 

if(type == IItemRenderer.ItemRenderType.ENTITY) {

 

GL11.glTranslatef(-0.5F, 0.0F, -0.5F);

this.render.renderTileEntityAt(this.entity, 0.0D, 0.0D, 0.0D, 0.0F);

}

 

}

 

}

 

 

My model

 

package net.arcaneengineer.mod.model;

 

import net.minecraft.client.model.ModelBase;

import net.minecraft.client.model.ModelRenderer;

import net.minecraft.entity.Entity;

 

public class ModelAstralLens extends ModelBase

{

  //fields

    ModelRenderer oculusfocus;

    ModelRenderer pedestal;

    ModelRenderer pedestalbottom;

    ModelRenderer pedestaltop;

    ModelRenderer oculustable;

    ModelRenderer oculusenhancerone;

    ModelRenderer oculusenhancertwo;

    ModelRenderer oculusenhancerthree;

    ModelRenderer oculusenhancerfour;

    ModelRenderer oculusenhancerfive;

    ModelRenderer oculusenhancersix;

    ModelRenderer oculusenhancerseven;

    ModelRenderer oculusenhancereight;

    ModelRenderer tablesupportone;

    ModelRenderer tablesupporttwo;

    ModelRenderer tablesupportthree;

    ModelRenderer tablesupportfour;

 

  public ModelAstralLens()

  {

    textureWidth = 64;

    textureHeight = 32;

 

      oculusfocus = new ModelRenderer(this, 0, 0);

      oculusfocus.addBox(0F, 0F, 0F, 4, 4, 4);

      oculusfocus.setRotationPoint(-1F, 8F, -3F);

      oculusfocus.setTextureSize(64, 32);

      oculusfocus.setTextureOffset(48, 24);

      oculusfocus.mirror = true;

      setRotation(oculusfocus, 7853982F, 0F, 7853982F);

      pedestal = new ModelRenderer(this, 0, 0);

      pedestal.addBox(0F, 0F, 0F, 4, 7, 4);

      pedestal.setRotationPoint(-2F, 16F, -2F);

      pedestal.setTextureSize(64, 32);

      pedestal.setTextureOffset(0, 14);

      pedestal.mirror = true;

      setRotation(pedestal, 0F, 0F, 0F);

      pedestalbottom = new ModelRenderer(this, 0, 0);

      pedestalbottom.addBox(0F, 0F, 0F, 6, 1, 6);

      pedestalbottom.setRotationPoint(-3F, 23F, -3F);

      pedestalbottom.setTextureSize(64, 32);

      pedestalbottom.setTextureOffset(0, 25);

      pedestalbottom.mirror = true;

      setRotation(pedestalbottom, 0F, 0F, 0F);

      pedestaltop = new ModelRenderer(this, 0, 0);

      pedestaltop.addBox(0F, 0F, 0F, 6, 1, 6);

      pedestaltop.setRotationPoint(-3F, 15F, -3F);

      pedestaltop.setTextureSize(64, 32);

      pedestaltop.setTextureOffset(0, 7);

      pedestaltop.mirror = true;

      setRotation(pedestaltop, 0F, 0F, 0F);

      oculustable = new ModelRenderer(this, 0, 0);

      oculustable.addBox(-5F, 0F, 0F, 10, 1, 10);

      oculustable.setRotationPoint(0F, 14F, -5F);

      oculustable.setTextureSize(64, 32);

      oculustable.setTextureOffset(24, 0);

      oculustable.mirror = true;

      setRotation(oculustable, 0F, 0F, 0F);

      oculusenhancerone = new ModelRenderer(this, 0, 0);

      oculusenhancerone.addBox(0F, 0F, 0F, 1, 5, 1);

      oculusenhancerone.setRotationPoint(-5F, 8F, 4F);

      oculusenhancerone.setTextureSize(64, 32);

      oculusenhancerone.setTextureOffset(28, 13);

      oculusenhancerone.mirror = true;

      setRotation(oculusenhancerone, 0F, 0F, 0F);

      oculusenhancertwo = new ModelRenderer(this, 0, 0);

      oculusenhancertwo.addBox(0F, 0F, 0F, 1, 5, 1);

      oculusenhancertwo.setRotationPoint(4F, 8F, 4F);

      oculusenhancertwo.setTextureSize(64, 32);

      oculusenhancertwo.setTextureOffset(36, 13);

      oculusenhancertwo.mirror = true;

      setRotation(oculusenhancertwo, 0F, 0F, 0F);

      oculusenhancerthree = new ModelRenderer(this, 0, 0);

      oculusenhancerthree.addBox(0F, 0F, 0F, 1, 5, 1);

      oculusenhancerthree.setRotationPoint(4F, 8F, -5F);

      oculusenhancerthree.setTextureSize(64, 32);

      oculusenhancerthree.setTextureOffset(44, 13);

      oculusenhancerthree.mirror = true;

      setRotation(oculusenhancerthree, 0F, 0F, 0F);

      oculusenhancerfour = new ModelRenderer(this, 0, 0);

      oculusenhancerfour.addBox(0F, 0F, 0F, 1, 5, 1);

      oculusenhancerfour.setRotationPoint(-5F, 8F, -5F);

      oculusenhancerfour.setTextureSize(64, 32);

      oculusenhancerfour.setTextureOffset(52, 13);

      oculusenhancerfour.mirror = true;

      setRotation(oculusenhancerfour, 0F, 0F, 0F);

      oculusenhancerfive = new ModelRenderer(this, 0, 0);

      oculusenhancerfive.addBox(0F, 0F, 0F, 2, 1, 2);

      oculusenhancerfive.setRotationPoint(3F, 13F, -5F);

      oculusenhancerfive.setTextureSize(64, 32);

      oculusenhancerfive.setTextureOffset(28, 19);

      oculusenhancerfive.mirror = true;

      setRotation(oculusenhancerfive, 0F, 0F, 0F);

      oculusenhancersix = new ModelRenderer(this, 0, 0);

      oculusenhancersix.addBox(0F, 0F, 0F, 2, 1, 2);

      oculusenhancersix.setRotationPoint(3F, 13F, 3F);

      oculusenhancersix.setTextureSize(64, 32);

      oculusenhancersix.setTextureOffset(36, 19);

      oculusenhancersix.mirror = true;

      setRotation(oculusenhancersix, 0F, 0F, 0F);

      oculusenhancerseven = new ModelRenderer(this, 0, 0);

      oculusenhancerseven.addBox(0F, 0F, 0F, 2, 1, 2);

      oculusenhancerseven.setRotationPoint(-5F, 13F, 3F);

      oculusenhancerseven.setTextureSize(64, 32);

      oculusenhancerseven.setTextureOffset(44, 19);

      oculusenhancerseven.mirror = true;

      setRotation(oculusenhancerseven, 0F, 0F, 0F);

      oculusenhancereight = new ModelRenderer(this, 0, 0);

      oculusenhancereight.addBox(0F, 0F, 0F, 2, 1, 2);

      oculusenhancereight.setRotationPoint(-5F, 13F, -5F);

      oculusenhancereight.setTextureSize(64, 32);

      oculusenhancereight.setTextureOffset(52, 19);

      oculusenhancereight.mirror = true;

      setRotation(oculusenhancereight, 0F, 0F, 0F);

      tablesupportone = new ModelRenderer(this, 0, 0);

      tablesupportone.addBox(0F, 0F, 0F, 1, 9, 1);

      tablesupportone.setRotationPoint(4F, 15F, -5F);

      tablesupportone.setTextureSize(64, 32);

      tablesupportone.setTextureOffset(25, 22);

      tablesupportone.mirror = true;

      setRotation(tablesupportone, 0F, 0F, 0F);

      tablesupporttwo = new ModelRenderer(this, 0, 0);

      tablesupporttwo.addBox(0F, 0F, 0F, 1, 9, 1);

      tablesupporttwo.setRotationPoint(4F, 15F, 4F);

      tablesupporttwo.setTextureSize(64, 32);

      tablesupporttwo.setTextureOffset(31, 22);

      tablesupporttwo.mirror = true;

      setRotation(tablesupporttwo, 0F, 0F, 0F);

      tablesupportthree = new ModelRenderer(this, 0, 0);

      tablesupportthree.addBox(0F, 0F, 0F, 1, 9, 1);

      tablesupportthree.setRotationPoint(-5F, 15F, 4F);

      tablesupportthree.setTextureSize(64, 32);

      tablesupportthree.setTextureOffset(37, 22);

      tablesupportthree.mirror = true;

      setRotation(tablesupportthree, 0F, 0F, 0F);

      tablesupportfour = new ModelRenderer(this, 0, 0);

      tablesupportfour.addBox(0F, 0F, 0F, 1, 9, 1);

      tablesupportfour.setRotationPoint(-5F, 15F, -5F);

      tablesupportfour.setTextureSize(64, 32);

      tablesupportfour.setTextureOffset(43, 22);

      tablesupportfour.mirror = true;

      setRotation(tablesupportfour, 0F, 0F, 0F);

  }

 

  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);

    oculusfocus.render(f5);

    pedestal.render(f5);

    pedestalbottom.render(f5);

    pedestaltop.render(f5);

    oculustable.render(f5);

    oculusenhancerone.render(f5);

    oculusenhancertwo.render(f5);

    oculusenhancerthree.render(f5);

    oculusenhancerfour.render(f5);

    oculusenhancerfive.render(f5);

    oculusenhancersix.render(f5);

    oculusenhancerseven.render(f5);

    oculusenhancereight.render(f5);

    tablesupportone.render(f5);

    tablesupporttwo.render(f5);

    tablesupportthree.render(f5);

    tablesupportfour.render(f5);

  }

 

  public void renderModel(float f) {

  oculusfocus.render(f);

  pedestal.render(f);

  pedestalbottom.render(f);

  pedestaltop.render(f); 

  oculustable.render(f);

  oculusenhancerone.render(f);

  oculusenhancertwo.render(f);

  oculusenhancerthree.render(f);

  oculusenhancerfour.render(f);

  oculusenhancerfive.render(f);

  oculusenhancersix.render(f);

  oculusenhancerseven.render(f);

      oculusenhancereight.render(f);

  tablesupportone.render(f);

  tablesupporttwo.render(f);

  tablesupportthree.render(f);

  tablesupportfour.render(f);

 

  }

 

  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);

  }

 

}

 

 

Client proxy

 

package net.arcaneengineer.mod.proxy;

 

import cpw.mods.fml.client.registry.ClientRegistry;

import net.arcaneengineer.mod.ArcaneEngineer;

import net.arcaneengineer.mod.renderer.AstralLensItemRenderer;

import net.arcaneengineer.mod.renderer.AstralLensRenderer;

import net.arcaneengineer.mod.tileentity.AstralLensTileEntity;

import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;

import net.minecraft.item.Item;

import net.minecraftforge.client.MinecraftForgeClient;

 

public class ClientProxy extends CommonProxy{

 

@Override

public void registerRenderer() {

 

TileEntitySpecialRenderer render = new AstralLensRenderer();

ClientRegistry.bindTileEntitySpecialRenderer(AstralLensTileEntity.class, render);

MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ArcaneEngineer.blockAstralLensBlock), new AstralLensItemRenderer(render, new AstralLensTileEntity()));

}

 

@Override

public void registerTileEntitySpecialRenderer() {

 

}

 

}

 

I'm not sure. However your BindTexture looks a little bit messed up in the BlockRendering class. It does require the "filename.png" in that case. So for example, it would be

 

this.bindTexture(new ResourceLocation("modid", "path/to/file.png"));

With the error thats being thrown its a pretty simple fix, in your main class your .setBlockTextureName is blank.. So the error is giving a blank png, and its going to the minecraft textures. To fix this in your main mod class you should have a modid and this is how your block init should look:

blockAstralLensBlock = new AstralLens(Material.iron).setBlockName("arcaneLens").setBlockTextureName(YourModClass.modid + ":" + "nameOfBlock");

 

This is basic minecraft forge modding, if your having trouble with this simple of an error, I wouldn't post here before checking tons of tutorials.

  • Author

Sorry for the late reply. I wasn't able to get on the internet for a couple of days.

 

Now it's actually checking in my model package... That was a derp on my part.

But it still can't load the texture.

 

Basically, it's rendering as a normal block and my model at the same time but without a texture.

Could it be because one of the parts of my model is rotated or outside of the block space?

 

 

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.