@@ -116,46 +116,45 @@ public void drawScreen(int mouseX, int mouseY, float partialTicks) {
116116 return ;
117117 }
118118
119- List <BlockPos > toRenderCopy = CompactMachines3 .clientWorldData .worldClone .providerClient .getRenderListForChunk (GuiMachineData .coords * 64 , 0 );
120- if (GuiMachineData .requiresNewDisplayList && toRenderCopy != null ) {
121- TileEntityRendererDispatcher .instance .setWorld (CompactMachines3 .clientWorldData .worldClone );
119+ if (GuiMachineData .requiresNewDisplayList ) {
120+ List <BlockPos > toRenderCopy = CompactMachines3 .clientWorldData .worldClone .providerClient .getRenderListForChunk (GuiMachineData .coords * 64 , 0 );
121+ if (toRenderCopy != null ) {
122+ TileEntityRendererDispatcher .instance .setWorld (CompactMachines3 .clientWorldData .worldClone );
122123
123- if (glListId != -1 ) {
124- GLAllocation .deleteDisplayLists (glListId );
125- }
126-
127- glListId = GLAllocation .generateDisplayLists (1 );
128- GlStateManager .glNewList (glListId , GL11 .GL_COMPILE );
129-
130- GlStateManager .pushAttrib ();
131- GlStateManager .pushMatrix ();
124+ if (glListId != -1 ) {
125+ GLAllocation .deleteDisplayLists (glListId );
126+ }
132127
133- GlStateManager .translate (-GuiMachineData .coords *1024 , -40 , 0 );
134- Tessellator tessellator = Tessellator .getInstance ();
135- BufferBuilder buffer = tessellator .getBuffer ();
128+ glListId = GLAllocation .generateDisplayLists (1 );
129+ GlStateManager .glNewList (glListId , GL11 .GL_COMPILE );
136130
137- // Aaaand render
138- BlockRendererDispatcher blockrendererdispatcher = Minecraft . getMinecraft (). getBlockRendererDispatcher ();
131+ GlStateManager . pushAttrib ();
132+ GlStateManager . pushMatrix ();
139133
140- //List<BlockPos> toRenderCopy = new ArrayList<>(GuiMachineData.toRender);
134+ GlStateManager .translate (-GuiMachineData .coords * 1024 , -40 , 0 );
135+ Tessellator tessellator = Tessellator .getInstance ();
136+ BufferBuilder buffer = tessellator .getBuffer ();
141137
138+ // Aaaand render
139+ BlockRendererDispatcher blockrendererdispatcher = Minecraft .getMinecraft ().getBlockRendererDispatcher ();
142140
143- buffer .begin (GL11 .GL_QUADS , DefaultVertexFormats .BLOCK );
144- GlStateManager .disableAlpha ();
145- this .renderLayer (blockrendererdispatcher , buffer , BlockRenderLayer .SOLID , toRenderCopy );
146- GlStateManager .enableAlpha ();
147- this .renderLayer (blockrendererdispatcher , buffer , BlockRenderLayer .CUTOUT_MIPPED , toRenderCopy );
148- this .renderLayer (blockrendererdispatcher , buffer , BlockRenderLayer .CUTOUT , toRenderCopy );
149- GlStateManager .shadeModel (GL11 .GL_FLAT );
150- this .renderLayer (blockrendererdispatcher , buffer , BlockRenderLayer .TRANSLUCENT , toRenderCopy );
141+ buffer .begin (GL11 .GL_QUADS , DefaultVertexFormats .BLOCK );
142+ GlStateManager .disableAlpha ();
143+ this .renderLayer (blockrendererdispatcher , buffer , BlockRenderLayer .SOLID , toRenderCopy );
144+ GlStateManager .enableAlpha ();
145+ this .renderLayer (blockrendererdispatcher , buffer , BlockRenderLayer .CUTOUT_MIPPED , toRenderCopy );
146+ this .renderLayer (blockrendererdispatcher , buffer , BlockRenderLayer .CUTOUT , toRenderCopy );
147+ GlStateManager .shadeModel (GL11 .GL_FLAT );
148+ this .renderLayer (blockrendererdispatcher , buffer , BlockRenderLayer .TRANSLUCENT , toRenderCopy );
151149
152- tessellator .draw ();
150+ tessellator .draw ();
153151
154152
155- GlStateManager .popMatrix ();
156- GlStateManager .popAttrib ();
153+ GlStateManager .popMatrix ();
154+ GlStateManager .popAttrib ();
157155
158- GlStateManager .glEndList ();
156+ GlStateManager .glEndList ();
157+ }
159158 }
160159
161160 if (CompactMachines3 .clientWorldData .worldClone != null && activeTab == 0 ) {
@@ -563,36 +562,13 @@ public void renderLayer(BlockRendererDispatcher blockrendererdispatcher, BufferB
563562
564563 ForgeHooksClient .setRenderLayer (null );
565564 }
566-
567- /*
568- IBlockAccess blockAccess = ChunkUtils.getBlockAccessFromChunk(GuiMachineData.chunk);
569- for (BlockPos pos : toRender) {
570- IBlockState state = blockAccess.getBlockState(pos);
571-
572- if (!state.getBlock().canRenderInLayer(state, renderLayer)) {
573- continue;
574- }
575-
576- try {
577- state = state.getActualState(blockAccess, pos);
578- } catch (Exception e) {
579- Logz.debug("Could not determine actual state of block: %s", state.getBlock());
580- }
581-
582- ForgeHooksClient.setRenderLayer(renderLayer);
583-
584- try {
585- blockrendererdispatcher.renderBlock(state, pos, blockAccess, buffer);
586- } catch (Exception e) {
587- e.printStackTrace();
588- }
589-
590- ForgeHooksClient.setRenderLayer(null);
591- }
592- */
593565 }
594566
595567 private void renderEntities () {
568+ if (CompactMachines3 .clientWorldData == null || CompactMachines3 .clientWorldData .worldClone == null ) {
569+ return ;
570+ }
571+
596572 ClassInheritanceMultiMap <Entity > entities = CompactMachines3 .clientWorldData .worldClone .getChunk (GuiMachineData .coords * 16 , 0 ).getEntityLists ()[2 ];
597573 for (Entity entity : entities ) {
598574 renderEntity (entity );
0 commit comments