From fe9ad4b29789d094cb691292b9022a6a4cd2d1af Mon Sep 17 00:00:00 2001 From: Nameless-123 <53367549+Nameless-123@users.noreply.github.com> Date: Sat, 18 Apr 2020 18:31:18 +0200 Subject: [PATCH] I hope this works I copy pasted above code and edited a bit to see if it works (Btw, that is basically how I did #224) --- .../java/carpet/commands/DrawCommand.java | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/src/main/java/carpet/commands/DrawCommand.java b/src/main/java/carpet/commands/DrawCommand.java index 6d726477..d1a561e8 100644 --- a/src/main/java/carpet/commands/DrawCommand.java +++ b/src/main/java/carpet/commands/DrawCommand.java @@ -45,21 +45,28 @@ public class DrawCommand { BlockStateArgumentType.getBlockState(c, "block"), BlockPredicateArgumentType.getBlockPredicate(c, "filter"))))))))) - .then(literal("diamond").then(argument("centre", BlockPosArgumentType.blockPos()) - .then(argument("radius", IntegerArgumentType.integer(1)).then( - argument("block", BlockStateArgumentType.blockState()).executes((c) -> drawDiamond( - c.getSource(), BlockPosArgumentType.getBlockPos(c, "centre"), - IntegerArgumentType.getInteger(c, "radius"), - BlockStateArgumentType.getBlockState(c, "block"), null) - .then(literal("replace").then( - argument("filter", BlockPredicateArgumentType.blockPredicate()) - .executes((c) -> drawDiamond(c.getSource(), - BlockPosArgumentType.getBlockPos(c, "centre"), - IntegerArgumentType.getInteger(c, "radius"), - BlockStateArgumentType.getBlockState(c, - "block"), - BlockPredicateArgumentType.getBlockPredicate(c, - "filter")))))))))); + .then(literal("diamond").then(argument("center", BlockPosArgumentType.blockPos()) + .then(argument("radius", IntegerArgumentType.integer(1)) + .then(argument("block", BlockStateArgumentType.blockState()) + .executes((c) -> drawDiamond(c.getSource(), + BlockPosArgumentType.getBlockPos(c, "center"), + IntegerArgumentType.getInteger(c, "radius"), + BlockStateArgumentType.getBlockState(c, "block"), null)) + .then(literal("replace") + .then(argument("filter", BlockPredicateArgumentType.blockPredicate()) + .executes((c) -> drawDiamond(c.getSource(), + BlockPosArgumentType.getBlockPos(c, "center"), + IntegerArgumentType.getInteger(c, "radius"), + BlockStateArgumentType.getBlockState(c, "block"), + BlockPredicateArgumentType.getBlockPredicate(c,"filter") + ) + ) + ) + ) + ) + ) + ) + ); dispatcher.register(command); } @@ -169,8 +176,7 @@ public class DrawCommand { return (int) drawDiamond(source, pos, radius, block, replacement, false); } - private static double drawDiamond(ServerCommandSource source, BlockPos pos, int radius, - BlockStateArgument block, + private static int drawDiamond(ServerCommandSource source, BlockPos pos, int radius,BlockStateArgument block, Predicate replacement, boolean solid) { int affected = 0;