sjoopies Posted February 4, 2016 Share Posted February 4, 2016 I rendered my block with no errors except my "block" is a cube. I used this method because It allows me to rotate the block using OpenGL This is my rendering Code: public class CyrstalRenderer extends TileEntitySpecialRenderer { public static final ResourceLocation texture = new ResourceLocation(ECRef.MODID + ":" + "textures/blocks/crystal.png"); private static final ModelResourceLocation loc = new ModelResourceLocation(ECRef.MODID + ":" + "models/block/crystal.obj"); Function<ResourceLocation, TextureAtlasSprite> textureGetter = new Function<ResourceLocation, TextureAtlasSprite>() { public TextureAtlasSprite apply(ResourceLocation location) { return Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite(location.toString()); } }; public void renderTileEntityAt(TileEntity te, double x, double y, double z, float partialTicks, int destroyStage) { Tessellator tessellator = Tessellator.getInstance(); this.bindTexture(texture); WorldRenderer worldRenderer = tessellator.getWorldRenderer(); GL11.glPushMatrix(); GL11.glTranslated(x, y, z); GL11.glRotatef(45, 0.0f, 0.0f, 1.0f); IModel crystalModel = null; try { crystalModel = OBJLoader.instance.loadModel(loc); } catch (IOException e) { crystalModel = ModelLoaderRegistry.getMissingModel(); e.printStackTrace(); } IBakedModel bakedModel = crystalModel.bake((TRSRTransformation.identity()), Attributes.DEFAULT_BAKED_FORMAT, textureGetter); worldRenderer.begin(7, Attributes.DEFAULT_BAKED_FORMAT);// StartDrawingQuads List<BakedQuad> generalQuads = bakedModel.getGeneralQuads(); for (BakedQuad q : generalQuads) { int[] vd = q.getVertexData(); worldRenderer.addVertexData(vd); } for (EnumFacing face : EnumFacing.values()) { List<BakedQuad> faceQuads = bakedModel.getFaceQuads(face); for (BakedQuad q : faceQuads) { int[] vd = q.getVertexData(); worldRenderer.addVertexData(vd); } } tessellator.draw(); GL11.glPopMatrix(); } } Link to comment Share on other sites More sharing options...
sjoopies Posted February 4, 2016 Author Share Posted February 4, 2016 Does it update every tick? Because I want the tileEntity to control the rotation. Link to comment Share on other sites More sharing options...
sjoopies Posted February 4, 2016 Author Share Posted February 4, 2016 I tried the getExtendedState and it did not work the way I wanted it to. Can anyone else give me a solution to my problem? Link to comment Share on other sites More sharing options...
mossyblog Posted February 4, 2016 Share Posted February 4, 2016 Try this https://gist.github.com/mossyblog/bf5313c1e6596142edff Essentially it will render any cube you feed it in 3D space with animation capabilities ... This is part of the equation as you can put that in the doRender() methods, but the rest of the collider and packet updates to let others see it etc will need still need to occur via normal routes. Link to comment Share on other sites More sharing options...
Recommended Posts