Posted November 28, 201311 yr Hi, I wanted to play around with tesselator, but I got this error: 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.client.renderer.Tessellator.startDrawing(Tessellator.java:343) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.client.renderer.Tessellator.startDrawingQuads(Tessellator.java:333) 2013-11-28 21:42:33 [iNFO] [sTDERR] at morelights.renderers.LEDStripRenderer.renderWorldBlock(LEDStripRenderer.java:28) 2013-11-28 21:42:33 [iNFO] [sTDERR] at cpw.mods.fml.client.registry.RenderingRegistry.renderWorldBlock(RenderingRegistry.java:152) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.src.FMLRenderAccessLibrary.renderWorldBlock(FMLRenderAccessLibrary.java:57) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:485) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:224) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1551) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1129) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1006) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:946) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:838) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.client.main.Main.main(Main.java:93) 2013-11-28 21:42:33 [iNFO] [sTDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2013-11-28 21:42:33 [iNFO] [sTDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 2013-11-28 21:42:33 [iNFO] [sTDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2013-11-28 21:42:33 [iNFO] [sTDERR] at java.lang.reflect.Method.invoke(Unknown Source) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131) 2013-11-28 21:42:33 [iNFO] [sTDERR] at net.minecraft.launchwrapper.Launch.main(Launch.java:27) 2013-11-28 21:42:33 [iNFO] [sTDOUT] ---- Minecraft Crash Report ---- 2013-11-28 21:42:33 [iNFO] [sTDOUT] // I just don't know what went wrong 2013-11-28 21:42:33 [iNFO] [sTDOUT] 2013-11-28 21:42:33 [iNFO] [sTDOUT] Time: 28.11.13 21:42 2013-11-28 21:42:33 [iNFO] [sTDOUT] Description: Unexpected error 2013-11-28 21:42:33 [iNFO] [sTDOUT] 2013-11-28 21:42:33 [iNFO] [sTDOUT] java.lang.IllegalStateException: Already tesselating! 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.Tessellator.startDrawing(Tessellator.java:343) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.Tessellator.startDrawingQuads(Tessellator.java:333) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at morelights.renderers.LEDStripRenderer.renderWorldBlock(LEDStripRenderer.java:28) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at cpw.mods.fml.client.registry.RenderingRegistry.renderWorldBlock(RenderingRegistry.java:152) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.src.FMLRenderAccessLibrary.renderWorldBlock(FMLRenderAccessLibrary.java:57) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:485) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:224) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1551) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1129) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1006) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:946) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:838) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.main.Main.main(Main.java:93) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Unknown Source) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27) 2013-11-28 21:42:33 [iNFO] [sTDOUT] 2013-11-28 21:42:33 [iNFO] [sTDOUT] 2013-11-28 21:42:33 [iNFO] [sTDOUT] A detailed walkthrough of the error, its code path and all known details is as follows: 2013-11-28 21:42:33 [iNFO] [sTDOUT] --------------------------------------------------------------------------------------- 2013-11-28 21:42:33 [iNFO] [sTDOUT] 2013-11-28 21:42:33 [iNFO] [sTDOUT] -- Head -- 2013-11-28 21:42:33 [iNFO] [sTDOUT] Stacktrace: 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.Tessellator.startDrawing(Tessellator.java:343) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.Tessellator.startDrawingQuads(Tessellator.java:333) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at morelights.renderers.LEDStripRenderer.renderWorldBlock(LEDStripRenderer.java:28) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at cpw.mods.fml.client.registry.RenderingRegistry.renderWorldBlock(RenderingRegistry.java:152) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.src.FMLRenderAccessLibrary.renderWorldBlock(FMLRenderAccessLibrary.java:57) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:485) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:224) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1551) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1129) 2013-11-28 21:42:33 [iNFO] [sTDOUT] 2013-11-28 21:42:33 [iNFO] [sTDOUT] -- Affected level -- 2013-11-28 21:42:33 [iNFO] [sTDOUT] Details: 2013-11-28 21:42:33 [iNFO] [sTDOUT] Level name: MpServer 2013-11-28 21:42:33 [iNFO] [sTDOUT] All players: 1 total; [EntityClientPlayerMP['Player261'/19, l='MpServer', x=-41,40, y=5,62, z=121,90]] 2013-11-28 21:42:33 [iNFO] [sTDOUT] Chunk stats: MultiplayerChunkCache: 441 2013-11-28 21:42:33 [iNFO] [sTDOUT] Level seed: 0 2013-11-28 21:42:33 [iNFO] [sTDOUT] Level generator: ID 01 - flat, ver 0. Features enabled: false 2013-11-28 21:42:33 [iNFO] [sTDOUT] Level generator options: 2013-11-28 21:42:33 [iNFO] [sTDOUT] Level spawn location: World: (-51,4,122), Chunk: (at 13,0,10 in -4,7; contains blocks -64,0,112 to -49,255,127), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) 2013-11-28 21:42:33 [iNFO] [sTDOUT] Level time: 357678 game time, 188737 day time 2013-11-28 21:42:33 [iNFO] [sTDOUT] Level dimension: 0 2013-11-28 21:42:33 [iNFO] [sTDOUT] Level storage version: 0x00000 - Unknown? 2013-11-28 21:42:33 [iNFO] [sTDOUT] Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) 2013-11-28 21:42:33 [iNFO] [sTDOUT] Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false 2013-11-28 21:42:33 [iNFO] [sTDOUT] Forced entities: 4 total; [EntityClientPlayerMP['Player261'/19, l='MpServer', x=-41,40, y=5,62, z=121,90], EntityPig['Pig'/10, l='MpServer', x=-99,75, y=4,00, z=62,22], EntityPig['Pig'/14, l='MpServer', x=-65,50, y=4,00, z=50,09], EntityPig['Pig'/15, l='MpServer', x=-66,66, y=4,00, z=47,22]] 2013-11-28 21:42:33 [iNFO] [sTDOUT] Retry entities: 0 total; [] 2013-11-28 21:42:33 [iNFO] [sTDOUT] Server brand: fml,forge 2013-11-28 21:42:33 [iNFO] [sTDOUT] Server type: Integrated singleplayer server 2013-11-28 21:42:33 [iNFO] [sTDOUT] Stacktrace: 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:440) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2312) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:863) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.client.main.Main.main(Main.java:93) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Unknown Source) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131) 2013-11-28 21:42:33 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27) 2013-11-28 21:42:33 [iNFO] [sTDOUT] 2013-11-28 21:42:33 [iNFO] [sTDOUT] -- System Details -- 2013-11-28 21:42:33 [iNFO] [sTDOUT] Details: 2013-11-28 21:42:33 [iNFO] [sTDOUT] Minecraft Version: 1.6.4 2013-11-28 21:42:33 [iNFO] [sTDOUT] Operating System: Windows 7 (amd64) version 6.1 2013-11-28 21:42:33 [iNFO] [sTDOUT] Java Version: 1.7.0_45, Oracle Corporation 2013-11-28 21:42:33 [iNFO] [sTDOUT] Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation 2013-11-28 21:42:33 [iNFO] [sTDOUT] Memory: 671491320 bytes (640 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) 2013-11-28 21:42:33 [iNFO] [sTDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M 2013-11-28 21:42:33 [iNFO] [sTDOUT] AABB Pool Size: 18395 (1030120 bytes; 0 MB) allocated, 71 (3976 bytes; 0 MB) used 2013-11-28 21:42:33 [iNFO] [sTDOUT] Suspicious classes: FML and Forge are installed 2013-11-28 21:42:33 [iNFO] [sTDOUT] IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 2013-11-28 21:42:33 [iNFO] [sTDOUT] FML: MCP v8.11 FML v6.4.41.946 Minecraft Forge 9.11.1.946 4 mods loaded, 4 mods active 2013-11-28 21:42:33 [iNFO] [sTDOUT] mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-11-28 21:42:33 [iNFO] [sTDOUT] FML{6.4.41.946} [Forge Mod Loader] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-11-28 21:42:33 [iNFO] [sTDOUT] Forge{9.11.1.946} [Minecraft Forge] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-11-28 21:42:33 [iNFO] [sTDOUT] morelights{1.6.4 v0.1} [More Lights Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available 2013-11-28 21:42:33 [iNFO] [sTDOUT] Launched Version: 1.6 2013-11-28 21:42:33 [iNFO] [sTDOUT] LWJGL: 2.9.0 2013-11-28 21:42:33 [iNFO] [sTDOUT] OpenGL: AMD Radeon HD 5800 Series GL version 4.2.12422 Compatibility Profile Context 13.152.0.0, ATI Technologies Inc. 2013-11-28 21:42:33 [iNFO] [sTDOUT] Is Modded: Definitely; Client brand changed to 'fml,forge' 2013-11-28 21:42:33 [iNFO] [sTDOUT] Type: Client (map_client.txt) 2013-11-28 21:42:33 [iNFO] [sTDOUT] Resource Pack: Default 2013-11-28 21:42:33 [iNFO] [sTDOUT] Current Language: English (US) 2013-11-28 21:42:33 [iNFO] [sTDOUT] Profiler Position: N/A (disabled) 2013-11-28 21:42:33 [iNFO] [sTDOUT] Vec3 Pool Size: 286 (16016 bytes; 0 MB) allocated, 51 (2856 bytes; 0 MB) used 2013-11-28 21:42:33 [iNFO] [sTDOUT] #@!@# Game crashed! Crash report saved to: #@!@# D:\Data\Dokumenty\Development\forge\mcp\jars\.\crash-reports\crash-2013-11-28_21.42.33-client.txt 2013-11-28 21:42:33 [iNFO] [Minecraft-Server] Stopping server 2013-11-28 21:42:33 [iNFO] [Minecraft-Server] Saving players 2013-11-28 21:42:33 [iNFO] [Minecraft-Server] Stopping server 2013-11-28 21:42:33 [iNFO] [Minecraft-Server] Saving players AL lib: (EE) alc_cleanup: 1 device not closed I was trying to google it, but I didn't find an answer Here is the code: package morelights.renderers; import org.lwjgl.opengl.GL11; import morelights.lib.Reference; import morelights.proxy.ClientProxy; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.ResourceLocation; import net.minecraft.world.IBlockAccess; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; public class LEDStripRenderer implements ISimpleBlockRenderingHandler { @Override public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { Tessellator tes = Tessellator.instance; tes.startDrawingQuads(); int lightValue = block.getMixedBrightnessForBlock(world, x, y, z); tes.setBrightness(lightValue); tes.setColorOpaque_F(1.0F, 1.0F, 1.0F); tes.setTranslation(x, y, z); ResourceLocation textures = (new ResourceLocation(Reference.modid + ":textures/models/LEDStrip.png")); Minecraft.getMinecraft().renderEngine.bindTexture(textures); tes.addVertexWithUV(0, 0, 0, 0, 1); tes.addVertexWithUV(0, 1, 0, 0, 0); tes.addVertexWithUV(0, 1, 1, 1, 0); tes.addVertexWithUV(0, 0, 1, 1, 1); tes.draw(); return true; } @Override public boolean shouldRender3DInInventory() { return true; } @Override public int getRenderId() { return ClientProxy.LEDStripRenderType; } } If someone helps you, click that thank you button EasyTessellator library: http://www.minecraftforge.net/forum/index.php/topic,14705.0.html
November 28, 201311 yr Hi The caller has already performed tes.startDrawingQuads(); for you. Delete that line and it should be fine. You can't do two startDrawingXXX in a row without a draw between them (and vica versa too) -TGG
November 28, 201311 yr Author Hi The caller has already performed tes.startDrawingQuads(); for you. Delete that line and it should be fine. You can't do two startDrawingXXX in a row without a draw between them (and vica versa too) -TGG Well I was thinking about it too, but guess what... then I get "Not tesselating!" error If someone helps you, click that thank you button EasyTessellator library: http://www.minecraftforge.net/forum/index.php/topic,14705.0.html
November 29, 201311 yr Author Do not call tess.draw() either. I tried that too, but then it screws up the wohle chunk where I place the block: At least it's not crashing (I am probably doing something else wrong?) If someone helps you, click that thank you button EasyTessellator library: http://www.minecraftforge.net/forum/index.php/topic,14705.0.html
November 29, 201311 yr Hi Well we're making progress... I didn't have this problem in my own ISBRH renderers so far, but perhaps you need to undo some of the setting changes you are making (setTranslate, texture, etc). I'd suggest removing them one by one and seeing which one(s) are causing the weirdness. And come to think of it, I don't think you need setTranslate, the caller should have done that for you. Setting it to 0,0,0 might actually be causing your problem. Something else to be aware of - if your block has transparent bits (is not a full, opaque cube), you need to override isOpaqueBlock to return false. http://4.bp.blogspot.com/-F0FTLzenidU/UfKBs19w_rI/AAAAAAAAABw/nxNmavM7sd4/s1600/StandardBlockWithAlpha-1.png -TGG
November 30, 201311 yr Author Hi Well we're making progress... I didn't have this problem in my own ISBRH renderers so far, but perhaps you need to undo some of the setting changes you are making (setTranslate, texture, etc). I'd suggest removing them one by one and seeing which one(s) are causing the weirdness. And come to think of it, I don't think you need setTranslate, the caller should have done that for you. Setting it to 0,0,0 might actually be causing your problem. Ok so binding the texture was the problem. So how do I tell the tessellator which texture to use? Something else to be aware of - if your block has transparent bits (is not a full, opaque cube), you need to override isOpaqueBlock to return false. http://4.bp.blogspot.com/-F0FTLzenidU/UfKBs19w_rI/AAAAAAAAABw/nxNmavM7sd4/s1600/StandardBlockWithAlpha-1.png -TGG I know that If someone helps you, click that thank you button EasyTessellator library: http://www.minecraftforge.net/forum/index.php/topic,14705.0.html
November 30, 201311 yr Hi From looking in EntityRenderer.renderWorld I think this should work: Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture); -TGG
November 30, 201311 yr Author Hi From looking in EntityRenderer.renderWorld I think this should work: Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture); -TGG Well it's almost the same as I did it before and this is binding the texture map for vanilla blocks (and even then there is no texture). But now I know why it was doing that glitch where blocks didn't have texture. It was because I was binding my texture, but then it using it for every block in that chunk. So I have just put Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture); when I finished rendering my block and it's not doing that glitch, but my block is still not rendering (or doesn't have texture) If someone helps you, click that thank you button EasyTessellator library: http://www.minecraftforge.net/forum/index.php/topic,14705.0.html
November 30, 201311 yr Hi Sounds like it might be rendering but not in the place you expect. Suggest to try // comment this out tes.setTranslation(x, y, z); ResourceLocation textures = (new ResourceLocation(Reference.modid + ":textures/models/LEDStrip.png")); Minecraft.getMinecraft().renderEngine.bindTexture(textures); tes.addVertexWithUV(x, y, z, 0, 1); tes.addVertexWithUV(x, y+1, z, 0, 0); tes.addVertexWithUV(x, y+1, z+1, 1, 0); tes.addVertexWithUV(x, y, z+1, 1, 1); -TGG
December 2, 201311 yr Author Hi Sounds like it might be rendering but not in the place you expect. Suggest to try // comment this out tes.setTranslation(x, y, z); ResourceLocation textures = (new ResourceLocation(Reference.modid + ":textures/models/LEDStrip.png")); Minecraft.getMinecraft().renderEngine.bindTexture(textures); tes.addVertexWithUV(x, y, z, 0, 1); tes.addVertexWithUV(x, y+1, z, 0, 0); tes.addVertexWithUV(x, y+1, z+1, 1, 0); tes.addVertexWithUV(x, y, z+1, 1, 1); -TGG I've already done that Actual code: package morelights.renderers; import org.lwjgl.opengl.GL11; import morelights.lib.Reference; import morelights.proxy.ClientProxy; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.util.ResourceLocation; import net.minecraft.world.IBlockAccess; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; public class LEDStripRenderer implements ISimpleBlockRenderingHandler { @Override public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { Tessellator tes = Tessellator.instance; int lightValue = block.getMixedBrightnessForBlock(world, x, y, z); tes.setBrightness(lightValue); tes.setColorOpaque_F(1.0F, 1.0F, 1.0F); ResourceLocation texture = (new ResourceLocation(Reference.modid + ":textures/models/LEDStrip.png")); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); tes.addVertexWithUV(0, 0, 0, 0, 1); tes.addVertexWithUV(0, 1, 0, 0, 0); tes.addVertexWithUV(0, 1, 1, 1, 0); tes.addVertexWithUV(0, 0, 1, 1, 1); Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture); return true; } @Override public boolean shouldRender3DInInventory() { return true; } @Override public int getRenderId() { return ClientProxy.LEDStripRenderType; } } If someone helps you, click that thank you button EasyTessellator library: http://www.minecraftforge.net/forum/index.php/topic,14705.0.html
December 2, 201311 yr Hi Your code currently renders from [0,0,0] to [1,1,1] instead of from [x,y,z] to [x+1, y+1, z+1]. Did you try that [x,y,z] to [x+1, y+1, z+1] already? I think the tes.setTranslation(x, y, z) won't work because the caller has set the viewpoint and translation relative to the chunk coordinates, not relative to an origin of [0,0,0] -TGG
December 2, 201311 yr Also, if you want to change the texture, you need to do it while the tesselator is not tesselating, otherwise you'll mess up rendering of other blocks. You also need to restore the previous texture when you're finished, again while the tesselator is not tesselating. The correct procedure is: tes.draw(); /* bind your texture here */ tes.startDrawingQuads(); /* draw your block here */ test.draw(); /* restore the default texture */ tes.startDrawingQuads(); But note that using a custom texture for rendering blocks is no longer the recommended way of doing things. The modern way is to provide each of your block images as a separate image file, and let MC stitch them into the main texture. This eliminates the need to switch textures while rendering blocks, simplifying your rendering code and improving graphics performance. To see how it's done, take a look at the registerIcons() method of some of the vanilla blocks, and how RenderBlocks makes use of the Icon class.
December 3, 201311 yr Author Thanks! I didn't know it works like that EDIT: Can I rename the topic? If not, can someone rename it to [sOLVED] ? If someone helps you, click that thank you button EasyTessellator library: http://www.minecraftforge.net/forum/index.php/topic,14705.0.html
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.