/** * Render the map * * @param world * @param renderBuffer * @param renderer * @param selection */ public void render( World world, RenderBuffer renderBuffer, Chunk.Renderer renderer, ChunkSelectionTracker selection) { int width = renderBuffer.getWidth(); int height = renderBuffer.getHeight(); Graphics g = renderBuffer.getGraphics(); if (world.isEmptyWorld()) { renderEmpty(g, width, height); return; } ChunkView view = renderBuffer.getView(); ChunkIterator iter = renderBuffer.getChunkIterator(); while (iter.hasNext()) { ChunkPosition pos = iter.next(); int x = pos.x; int z = pos.z; if (!view.isChunkVisible(x, z)) continue; Chunk chunk = world.getChunk(pos); renderer.render(chunk, renderBuffer, x, z); if (highlightEnabled) chunk.renderHighlight(renderBuffer, x, z, hlBlock, hlColor); if (selection.isSelected(pos)) { renderBuffer.fillRectAlpha( view.chunkScale * (x - view.ix0), view.chunkScale * (z - view.iz0), view.chunkScale, view.chunkScale, Layer.selectionColor); } } }