public void draw(Graphics g) {
        //worldData.drawWorld(g, camera.getX(), camera.getY());
        int camx = camera.getX();
        int camy = camera.getY();
        WorldTiles worldTiles = worldData.getWorldTiles();
        Sprites sprites = entityData.getSprites();
        for (int x = 0; x < worldData.getWorldData().length; x++) {
            for (int y = 0; y < worldData.getWorldData().length; y++) {
                for (int z = 0; z < worldData.getHeight(); z++) {
                    //Handle tiles
                    int cartx = (x - camx)*32;
                    int carty = (y - camy)*32;
                    int isox = cartx - carty;
                    int isoy = (cartx + carty)/2;
                    // Handle entities
                    worldTiles.draw(g, worldData.getWorldData()[x][y][z], isox, isoy - (z*32));
                    Entity entity = entityData.getEntities()[x][y][z];
                    if (entity != null) {    
                        cartx = (int)((entity.getx() +  - camx)*32);
                        carty = (int)((entity.gety() - camy)*32);
                        isox = cartx - carty;
                        isoy = (cartx + carty)/2;
                        int ez = (int)(entity.getz() * 32);
                        sprites.draw(g, entity.getSpriteNo(), isox, isoy - ez);
                        if (entity.act(new int[] { 1 })) {
                            entityData.getEntities()[x][y][z] = null;
                            int[] pos = entity.getPos();
                            entityData.getEntities()[pos[0]][pos[1]][pos[2]] = entity;
                        }
                    }
                }
            }
        }
        worldData.drawHighlightTile(g, camx, camy);
    }