Jump to content

[1.7.10] [SOLVED] Direct Block Rendering Not Visible?


weckar

Recommended Posts

So, as an experiment I thought I'd try to make the most basic possible rendering Tile Entity. It took a bit to get error free (for whatever reason blockAccess was never set in the RenderBlocks no matter what I gave to the constructor), but even now that it is it doesn't actually seem to render anything...

 

For info: TEBase most only consists of a method to split the updateEntity method into a server and client version.

 

public class TEBox extends TEBase{
private RenderBlocks renderer = new RenderBlocks();

@Override
void updateClient(World world, int x, int y, int z) {
	renderer.blockAccess = world;
	renderer.renderBlockAllFaces(Blocks.glass, x, y, z);
}
}

 

Is there anyone who can see anything blatantly wrong here, or otherwise correct my course to what I should be doing instead?

If anyone has a comprehensive, visual guide to GUIs - don't hesitate to message me. They make my head spin.

Link to comment
Share on other sites

You should not render your tileentity on updateEntity. (Even on clientside)

Just use TileEntitySpecialRenderer for that.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

But I thought TESR was still called on update?  ???

This code would otherwise work on a TESR extension?

 

EDIT: After moving the code over to a TESR extension AND registering (I confirm through the log that the code runs), it is still invisible.... Current code block:

public class RenderBox extends TileEntitySpecialRenderer{

private RenderBlocks renderer = new RenderBlocks();

@Override
public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) {
	LogHelper.info("RENDERING BOX!");
	renderer.blockAccess = tileentity.getWorldObj();
	renderer.renderBlockAllFaces(Blocks.glass, (int)x, (int)y, (int)z);
}
}

If anyone has a comprehensive, visual guide to GUIs - don't hesitate to message me. They make my head spin.

Link to comment
Share on other sites

x, y, z is just the entity's relative position..

You should get the position from the tileentity.

 

& you cannot just use 'renderBlockAllFaces' in TESR.

There are plenty of tutorials there, find and follow them.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

Uhm, okay. I got that last bit. Makes sense. Rendering != Logic.

 

I've been looking for tutorials, but they all go into much more complicated things, while all I want to do is render a block!

They also all directly seem to call out the opengl library without much explanation of what any of the calls actually mean.

 

...Maybe I'm trying to do too much... Apologies if I'm trying anyone's patience too much.

If anyone has a comprehensive, visual guide to GUIs - don't hesitate to message me. They make my head spin.

Link to comment
Share on other sites

I managed to figure it out through ISimpleBlockRenderingHandler instead of TESR.

 

Still, thanks for the pointers. Sure to be useful in the future.

 

EDIT: Now I try to only have it render in pass 1 (I applied a semi-translucent texture), and it goes invisible again... in random chunks? It's perfectly visible and transparent in others... Is there any known behavior that makes render pass 1 skip certain chunks?

 

EDIT 2: placing ice or any other 'natural' block that renders in pass 1 in the same chunk makes all my blocks visible too... Is there somesort of trigger I've missed?

 

EDIT 3: turns out I was using the entirely wrong method to set the render pass: canRenderInPass instead of getRenderBlockPass. All good now!

If anyone has a comprehensive, visual guide to GUIs - don't hesitate to message me. They make my head spin.

Link to comment
Share on other sites

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.