Сфера. Нарисовать

Версия Minecraft
1.12.2
5,018
47
783
Решил немного оптимизировать свои три цикла и сделать сферу, чтобы прям идеально было.
Короче это выглядит как то так, но рисуется она неправильно - по нескольку сфер на один блок, в результате либо на каком то из блоков не оказывается текстуры вообще, а на каком то их по 3+ штук.
Как сделать чтобы на 1 сферу из блоков рисовалась одна сфера математически?
Вообще хз

Java:
    oldpos  = mc.player.getPosition();
            block = mc.world.getBlockState(oldpos).getBlock();
            if(oldpos == null || !oldpos.equals(playerpos.down())) {


                int x = oldpos.getX();
                int y = oldpos.getY();
                int z = oldpos.getZ();


                int x1;
                int y1;
                int z1;
                float r = 10;
                float i;
           
                while(r > 0) {
                    float dn = (float)(1/(r*Math.PI));
                    float j = 0;
                    while(j < 2*Math.PI) {
                        i = 0;
                        z1 = (int)Math.round(r*Math.sin(j)) + z;
                        while(i < 2*Math.PI) {
                            x1 = (int)Math.round(r*Math.cos(i)*Math.cos(j)) + x;
                            y1 = (int)Math.round(r*Math.sin(i)*Math.cos(j)) + y;
                            drawBlockTexture(mc.player, mc.getRenderPartialTicks(), new BlockPos(x1,y1,z1), mc.world,"double_plant_syringa_top");
                            i=i+dn;
                        }
                        j=j+dn;
                    }
                    r = r - 1;
                }
 
2,505
81
397
Твой алгоритм плох даже просто для одной плоскости. Один и тот же блок будет сетаться по несколько раз. Лучший способ - алгоритм Брезенхэма.
А еще, на моем пк Math.sin работает немного медленнее (в 5 раз), чем MathHelper.sin.
 
5,018
47
783
Твой алгоритм плох даже просто для одной плоскости. Один и тот же блок будет сетаться по несколько раз. Лучший способ - алгоритм Брезенхэма.
А еще, на моем пк Math.sin работает немного медленнее (в 5 раз), чем MathHelper.sin.
Загуглю, спасибо!
 
5,018
47
783
5,018
47
783
Сверху