作为播放器结构模型发送命令

问题描述 投票:0回答:0

我目前正在尝试制作一个简单的起始客户端 mod,并正在寻找如何以玩家身份发送命令。

这是我目前的代码:

@Override
public void onInitialize()
{
    ClientReceiveMessageEvents.GAME.register((message, overlay) ->
    {
        if (message.contains(Text.literal("vote party"))){
            MinecraftClient mc = MinecraftClient.getInstance();
            CommandManager commandManager = mc.player.getServer().getCommandManager();
            commandManager.execute(new ParseResults<ServerCommandSource>(mc.player.getCommandSource()), "vp");
//          mc.inGameHud.getChatHud().addMessage(message);
        }
    });
    // This code runs as soon as Minecraft is in a mod-load-ready state.
    // However, some things (like resources) may still be uninitialized.
    // Proceed with mild caution.
    LOGGER.info("Hello Fabric world!");
}

这是实现 ModInitializer 的主类的内部。

一切似乎都有效。我添加了 addMessage 来检查它是否做了任何事情。但是,我无法开始工作的 commandManager.execute() 部分。它要求一个 ParseResults。从我所看到的情况来看,我可以通过使用 mc.player.getCommandSource() 来通过播放器。但无论我以何种方式尝试格式化该行。它一直显示我给它错误值的相同错误。

java minecraft minecraft-fabric minecraft-commands
© www.soinside.com 2019 - 2024. All rights reserved.