Jump to content

Recommended Posts

Posted

How can i render my custom model without the use of an TileEntity and TileEntitySpecialRenderer.

since i dont want my Block class to extends BlockContainer i want to know how to render a block without the tile entity.

i tried using the ISimpleBlockRenderingHandler but it gives me an error when i try to render my model.

 

this is the code im using the the ISimpleBlockRenderingHandler:

public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
	if(block instanceof IBlockRenderer){
		GL11.glPushMatrix();
		GL11.glBindTexture(GL11.GL_TEXTURE_2D, FMLClientHandler.instance().getClient().renderEngine.getTexture("/mods/hydrocraft/textures/models/gearBox.png"));
		GL11.glPushMatrix();
		GL11.glTranslatef((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F);
		GL11.glRotatef(0, 0.0F, 1.0F, 0.0F);
		GL11.glScalef(1.0F, -1F, -1F);
		ModelGearBox model = new ModelGearBox();
		model.renderModel(0.0625F, 0, 1);
		GL11.glPopMatrix();
		GL11.glPopMatrix();
	}
        return false;
}

 

and this is the error im getting.

 

2013-05-06 20:35:19 [iNFO] [sTDERR] java.lang.IllegalStateException: Already tesselating!

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.renderer.Tessellator.startDrawing(Tessellator.java:343)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.renderer.Tessellator.startDrawingQuads(Tessellator.java:333)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.model.TexturedQuad.draw(TexturedQuad.java:50)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.model.ModelBox.render(ModelBox.java:103)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.model.ModelRenderer.compileDisplayList(ModelRenderer.java:300)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.model.ModelRenderer.render(ModelRenderer.java:133)

2013-05-06 20:35:19 [iNFO] [sTDERR] at hydrocraft.client.models.ModelGearBox.renderModel(ModelGearBox.java:129)

2013-05-06 20:35:19 [iNFO] [sTDERR] at hydrocraft.client.RenderInventory.renderWorldBlock(RenderInventory.java:63)

2013-05-06 20:35:19 [iNFO] [sTDERR] at cpw.mods.fml.client.registry.RenderingRegistry.renderWorldBlock(RenderingRegistry.java:153)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.src.FMLRenderAccessLibrary.renderWorldBlock(FMLRenderAccessLibrary.java:59)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:484)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:226)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1535)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1119)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:991)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:867)

2013-05-06 20:35:19 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:756)

2013-05-06 20:35:19 [iNFO] [sTDERR] at java.lang.Thread.run(Unknown Source)

 

 

i tried returning true and that didnt make a difference either.

does any knows how to solve this problem?

 

Posted

"Already tesselating" means that the Tessellator.startDrawing was called several times, while in should be stopped by Tessellator.Draw before next call. That's all i can say :/

If i helped you, don't forget pressing "Thank You" button. Thanks for your time.

Posted

i know.

If you know, why are you asking and why u no fix the error?

Check your ModelGearBox.renderModel...

If i helped you, don't forget pressing "Thank You" button. Thanks for your time.

Posted

Just my two cents:

You don't need to exentd blockContainer to have a TE.

Just override the has TE and getTE methods.

If you guys dont get it.. then well ya.. try harder...

Posted

Oh and one more thing:

and this is the error im getting.

2013-05-06 20:35:19  [sTDERR] java.lang.IllegalStateException: Already tesselating!

 

"Already tesselating" means that the Tessellator.startDrawing was called several times, while in should be stopped by Tessellator.Draw before next call. That's all i can say :/

 

i know.

the Renderer is using the tessellator to draw the models.

however i want to use GL11 to draw the method since that is the way models are outputted trough techne.

Original problem solved then :P

 

New problem you want to use gl11 but not use tesselation? I understand the question but.. Why?

If you guys dont get it.. then well ya.. try harder...

Posted

I'm interested in making a block with custom rendering without using a tile entity to avoid adding to lag if a player places lots of it in the world. I know it isn't a big problem, but tile entities do require more space and memory and so slow the game down. If I can make a custom rendered block without it being a tile entity, I'll be happy in a month or so when I start trying to tackle a new block I want.

So there is a reason, even if it isn't shucke's reason.

Very relevant night for me in the forums...

Read my thoughts on my summer mod work and tell me what you think!

http://www.minecraftforge.net/forum/index.php/topic,8396.0.html

 

I absolutely love her when she smiles

Posted

I didn't get what your answer had to do with my question about tesselation?

 

Also do you have any idea of the lagg introduced by using TEs compared to what system you are wanting to invent?

What error / performance hog inn TEs do you know off shich your system whont have?

If you guys dont get it.. then well ya.. try harder...

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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