The stupid way
At least it works
This commit is contained in:
1 parent
b16c0abc54
commit
4a02bb1572
1 file changed
+51
-34
@@ -8,7 +8,6 @@ import com.mojang.brigadier.CommandDispatcher;
|
|||||||
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
||||||
import com.mojang.brigadier.arguments.BoolArgumentType;
|
import com.mojang.brigadier.arguments.BoolArgumentType;
|
||||||
import com.mojang.brigadier.arguments.IntegerArgumentType;
|
import com.mojang.brigadier.arguments.IntegerArgumentType;
|
||||||
import com.mojang.brigadier.arguments.StringArgumentType;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.pattern.CachedBlockPosition;
|
import net.minecraft.block.pattern.CachedBlockPosition;
|
||||||
@@ -75,24 +74,70 @@ public class DrawCommand {
|
|||||||
.then(argument("radius", IntegerArgumentType.integer(1))
|
.then(argument("radius", IntegerArgumentType.integer(1))
|
||||||
.then(argument("height",IntegerArgumentType.integer(1))
|
.then(argument("height",IntegerArgumentType.integer(1))
|
||||||
.then(argument("pointing up?",BoolArgumentType.bool())
|
.then(argument("pointing up?",BoolArgumentType.bool())
|
||||||
.then(argument("which direction?", StringArgumentType.string())
|
.then(literal("x")
|
||||||
.then(argument("block", BlockStateArgumentType.blockState())
|
.then(argument("block", BlockStateArgumentType.blockState())
|
||||||
.executes((c) -> selectCone(c.getSource(),
|
.executes((c) -> drawConex(c.getSource(),
|
||||||
BlockPosArgumentType.getBlockPos(c, "center"),
|
BlockPosArgumentType.getBlockPos(c, "center"),
|
||||||
IntegerArgumentType.getInteger(c, "radius"),
|
IntegerArgumentType.getInteger(c, "radius"),
|
||||||
IntegerArgumentType.getInteger(c, "height"),
|
IntegerArgumentType.getInteger(c, "height"),
|
||||||
BoolArgumentType.getBool(c,"pointing up?"),
|
BoolArgumentType.getBool(c,"pointing up?"),
|
||||||
StringArgumentType.getString(c,"which direction?"),
|
|
||||||
BlockStateArgumentType.getBlockState(c, "block"), null)
|
BlockStateArgumentType.getBlockState(c, "block"), null)
|
||||||
)
|
)
|
||||||
.then(literal("replace")
|
.then(literal("replace")
|
||||||
.then(argument("filter", BlockPredicateArgumentType.blockPredicate())
|
.then(argument("filter", BlockPredicateArgumentType.blockPredicate())
|
||||||
.executes((c) -> selectCone(c.getSource(),
|
.executes((c) -> drawConex(c.getSource(),
|
||||||
|
BlockPosArgumentType.getBlockPos(c, "center"),
|
||||||
|
IntegerArgumentType.getInteger(c, "radius"),
|
||||||
|
IntegerArgumentType.getInteger(c, "height"),
|
||||||
|
BoolArgumentType.getBool(c,"pointing up?"),
|
||||||
|
BlockStateArgumentType.getBlockState(c, "block"),
|
||||||
|
BlockPredicateArgumentType.getBlockPredicate(c,"filter")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.then(literal("y")
|
||||||
|
.then(argument("block", BlockStateArgumentType.blockState())
|
||||||
|
.executes((c) -> drawConey(c.getSource(),
|
||||||
|
BlockPosArgumentType.getBlockPos(c, "center"),
|
||||||
|
IntegerArgumentType.getInteger(c, "radius"),
|
||||||
|
IntegerArgumentType.getInteger(c, "height"),
|
||||||
|
BoolArgumentType.getBool(c,"pointing up?"),
|
||||||
|
BlockStateArgumentType.getBlockState(c, "block"), null)
|
||||||
|
)
|
||||||
|
.then(literal("replace")
|
||||||
|
.then(argument("filter", BlockPredicateArgumentType.blockPredicate())
|
||||||
|
.executes((c) -> drawConey(c.getSource(),
|
||||||
|
BlockPosArgumentType.getBlockPos(c, "center"),
|
||||||
|
IntegerArgumentType.getInteger(c, "radius"),
|
||||||
|
IntegerArgumentType.getInteger(c, "height"),
|
||||||
|
BoolArgumentType.getBool(c,"pointing up?"),
|
||||||
|
BlockStateArgumentType.getBlockState(c, "block"),
|
||||||
|
BlockPredicateArgumentType.getBlockPredicate(c,"filter")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.then(literal("z")
|
||||||
|
.then(argument("block", BlockStateArgumentType.blockState())
|
||||||
|
.executes((c) -> drawConez(c.getSource(),
|
||||||
|
BlockPosArgumentType.getBlockPos(c, "center"),
|
||||||
|
IntegerArgumentType.getInteger(c, "radius"),
|
||||||
|
IntegerArgumentType.getInteger(c, "height"),
|
||||||
|
BoolArgumentType.getBool(c,"pointing up?"),
|
||||||
|
BlockStateArgumentType.getBlockState(c, "block"), null)
|
||||||
|
)
|
||||||
|
.then(literal("replace")
|
||||||
|
.then(argument("filter", BlockPredicateArgumentType.blockPredicate())
|
||||||
|
.executes((c) -> drawConez(c.getSource(),
|
||||||
BlockPosArgumentType.getBlockPos(c, "center"),
|
BlockPosArgumentType.getBlockPos(c, "center"),
|
||||||
IntegerArgumentType.getInteger(c, "radius"),
|
IntegerArgumentType.getInteger(c, "radius"),
|
||||||
IntegerArgumentType.getInteger(c, "height"),
|
IntegerArgumentType.getInteger(c, "height"),
|
||||||
BoolArgumentType.getBool(c,"pointing up?"),
|
BoolArgumentType.getBool(c,"pointing up?"),
|
||||||
StringArgumentType.getString(c,"which direction?"),
|
|
||||||
BlockStateArgumentType.getBlockState(c, "block"),
|
BlockStateArgumentType.getBlockState(c, "block"),
|
||||||
BlockPredicateArgumentType.getBlockPredicate(c,"filter")
|
BlockPredicateArgumentType.getBlockPredicate(c,"filter")
|
||||||
)
|
)
|
||||||
@@ -270,34 +315,6 @@ public class DrawCommand {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int selectCone(ServerCommandSource source, BlockPos pos, int radius, int height, boolean pointup, String direction, BlockStateArgument block,
|
|
||||||
Predicate<CachedBlockPosition> replacement){
|
|
||||||
int succeeded=0;
|
|
||||||
|
|
||||||
direction=direction.toLowerCase().replaceAll("\\s","");
|
|
||||||
|
|
||||||
if(direction=="x"){
|
|
||||||
drawConex(source, pos, radius, height, pointup, block, replacement);
|
|
||||||
succeeded=1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(direction=="y"){
|
|
||||||
drawConey(source, pos, radius, height, pointup, block, replacement);
|
|
||||||
succeeded=1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(direction=="z"){
|
|
||||||
drawConez(source, pos, radius, height, pointup, block, replacement);
|
|
||||||
succeeded=1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(direction!="x" && direction!="y" && direction!="z"){
|
|
||||||
Messenger.m(source,"gi "+direction+" is an invalid direction, must be x, y or z");
|
|
||||||
System.out.println(direction);
|
|
||||||
}
|
|
||||||
return succeeded;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static int drawConey(ServerCommandSource source, BlockPos pos, int radius, int height, boolean pointup, BlockStateArgument block,
|
private static int drawConey(ServerCommandSource source, BlockPos pos, int radius, int height, boolean pointup, BlockStateArgument block,
|
||||||
Predicate<CachedBlockPosition> replacement) {
|
Predicate<CachedBlockPosition> replacement) {
|
||||||
return (int) drawConey(source, pos, radius, height, block, replacement, pointup, false);
|
return (int) drawConey(source, pos, radius, height, block, replacement, pointup, false);
|
||||||
|
|||||||
Reference in new issue
Block a user