gpt4 book ai didi

java - Minecraft 1.15.2 中的 Modded 命令在给出参数时不断显示未知命令

转载 作者:行者123 更新时间:2023-12-01 18:28:22 25 4
gpt4 key购买 nike

我目前正在尝试为 1.15.2 开发一个简单的 Minecraft 模组。我正在尝试创建一个命令,使您的消息匿名,例如在虚假选举期间。它基本上会获取您编写的消息,并将其匿名发送给服务器中的每个人。

这是处理该行为的命令类的代码:

public class CommandVote {
public static void register(CommandDispatcher<CommandSource> dispatcher) {
LiteralArgumentBuilder<CommandSource> builder = Commands.literal("vote").requires(source -> source.hasPermissionLevel(0));
builder.executes(context -> vote(context))
.then(Commands.argument("message", MessageArgument.message()))
.executes(context -> voteArgs(context));
dispatcher.register(builder);
}

private static int vote(CommandContext<CommandSource> context) throws CommandSyntaxException {
ServerPlayerEntity player = context.getSource().asPlayer();
player.sendMessage(new StringTextComponent("Por favor, introduzca su opcion en la votacion"));
return Command.SINGLE_SUCCESS;
}

private static int voteArgs(CommandContext<CommandSource> context) throws CommandSyntaxException {
ServerPlayerEntity player = context.getSource().asPlayer();

player.server.getPlayerList().sendMessage(MessageArgument.getMessage(context, "message"));
return Command.SINGLE_SUCCESS;
}
}

命令注册并显示在游戏中。当我尝试执行它时,问题就出现了,例如:“/vote hello”。每次向命令添加参数时,Minecraft 都会告诉我该命令不存在或“未知命令”

我不太明白我在这里搞砸了什么。非常感谢任何正确方向的建议。

提前谢谢

最佳答案

谢谢你的提问!作为顶部函数的主体,这可以更好地工作:

LiteralArgumentBuilder<CommandSource> builder = Commands.literal("vote")
.then(Commands.argument("number", IntegerArgumentType.integer())
.then(Commands.argument("message", MessageArgument.message())
.executes(context -> {
System.out.println("Level 3 " + context.getInput());
return Command.SINGLE_SUCCESS;
}))
.executes(context -> {
System.out.println("Level 2 " + context.getInput());
return Command.SINGLE_SUCCESS;
}))
.executes(context -> {
System.out.println("Level 1 " + context.getInput());
return Command.SINGLE_SUCCESS;
});
dispatcher.register(builder);

关于java - Minecraft 1.15.2 中的 Modded 命令在给出参数时不断显示未知命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60199211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com