Made cone actually return affected blocks
I forgot for some reason
This commit is contained in:
1 parent
94a0f55840
commit
36797a79e2
1 file changed
+6
-6
@@ -326,14 +326,14 @@ public class DrawCommand {
|
|||||||
|
|
||||||
private static int drawCircle(ServerCommandSource source, BlockPos pos, int offset, int radius, int height, boolean pointup, BlockStateArgument block, String orientation,
|
private static int drawCircle(ServerCommandSource source, BlockPos pos, int offset, int radius, int height, boolean pointup, BlockStateArgument block, String orientation,
|
||||||
Predicate<CachedBlockPosition> replacement, List<BlockPos> list, BlockPos.Mutable mbpos){
|
Predicate<CachedBlockPosition> replacement, List<BlockPos> list, BlockPos.Mutable mbpos){
|
||||||
|
int successes=0;
|
||||||
if(orientation=="x"){
|
if(orientation=="x"){
|
||||||
for(int y=-radius;y<=radius;++y){
|
for(int y=-radius;y<=radius;++y){
|
||||||
|
|
||||||
for(int z=-radius;z<=radius;++z){
|
for(int z=-radius;z<=radius;++z){
|
||||||
|
|
||||||
if(y*y+z*z<=radius*radius){
|
if(y*y+z*z<=radius*radius){
|
||||||
blockset(source, pos.getX()+offset, pos.getY()+y, pos.getZ()+z, replacement, list, mbpos, block);
|
successes+=blockset(source, pos.getX()+offset, pos.getY()+y, pos.getZ()+z, replacement, list, mbpos, block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -345,7 +345,7 @@ public class DrawCommand {
|
|||||||
for(int z=-radius;z<=radius;++z){
|
for(int z=-radius;z<=radius;++z){
|
||||||
|
|
||||||
if(x*x+z*z<=radius*radius){
|
if(x*x+z*z<=radius*radius){
|
||||||
blockset(source, pos.getX()+x, pos.getY()+offset, pos.getZ()+z, replacement, list, mbpos, block);
|
successes+=blockset(source, pos.getX()+x, pos.getY()+offset, pos.getZ()+z, replacement, list, mbpos, block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -357,13 +357,13 @@ public class DrawCommand {
|
|||||||
for(int x=-radius;x<=radius;++x){
|
for(int x=-radius;x<=radius;++x){
|
||||||
|
|
||||||
if(y*y+x*x<=radius*radius){
|
if(y*y+x*x<=radius*radius){
|
||||||
blockset(source, pos.getX()+x, pos.getY()+y, pos.getZ()+offset, replacement, list, mbpos, block);
|
successes+=blockset(source, pos.getX()+x, pos.getY()+y, pos.getZ()+offset, replacement, list, mbpos, block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return successes;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int drawCone(ServerCommandSource source, BlockPos pos, int radius, int height, boolean pointup, String orientation, BlockStateArgument block,
|
private static int drawCone(ServerCommandSource source, BlockPos pos, int radius, int height, boolean pointup, String orientation, BlockStateArgument block,
|
||||||
@@ -391,7 +391,7 @@ public class DrawCommand {
|
|||||||
if(pointup==false){
|
if(pointup==false){
|
||||||
r=radius*i/height;
|
r=radius*i/height;
|
||||||
}
|
}
|
||||||
drawCircle(source, pos, i, (int) Math.round(r), height, pointup, block, orientation, replacement, list, mbpos);
|
affected=drawCircle(source, pos, i, (int) Math.round(r), height, pointup, block, orientation, replacement, list, mbpos);
|
||||||
//circle(cx+_,cy,cz,'x',ceil(r),block) in scarpet implementation, _ is i here, and is added in offset parameter
|
//circle(cx+_,cy,cz,'x',ceil(r),block) in scarpet implementation, _ is i here, and is added in offset parameter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user