You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Minecraft 1.20.1中用Fabric模组向服务器发送命令

在Minecraft 1.20.1 Fabric模组中向服务器发送命令的实现方法

核心思路

Fabric 1.20.1版本中,发送服务器命令需基于ServerCommandSource类,通过服务器命令管理器直接执行构造好的命令字符串,替代了旧版本已废弃的ICommandSender等类。以下分两种场景给出实现代码:

代码实现示例

1. 基于玩家上下文发送命令

若你的逻辑绑定在玩家操作(如事件触发、玩家指令)上,可通过玩家对象获取命令源:

import net.minecraft.server.MinecraftServer;
import net.minecraft.server.command.ServerCommandSource;
import net.minecraft.server.network.ServerPlayerEntity;

// 参数:触发命令的玩家对象、消息目标玩家名、消息内容
public void sendMsgCommand(ServerPlayerEntity senderPlayer, String targetName, String message) {
    MinecraftServer server = senderPlayer.getServer();
    if (server == null) return;

    // 构造完整命令字符串
    String command = String.format("msg %s %s", targetName, message);
    
    // 获取玩家的命令源(自动继承玩家权限)
    ServerCommandSource commandSource = senderPlayer.getCommandSource();
    
    // 执行命令
    server.getCommandManager().executeWithPrefix(commandSource, command);
}

2. 无玩家上下文(服务器后台发送)

若需模组后台主动发送(如定时通知、事件触发),可手动构造服务器级命令源:

import net.minecraft.server.MinecraftServer;
import net.minecraft.server.command.ServerCommandSource;
import net.minecraft.text.Text;
import net.minecraft.util.math.Vec2f;
import net.minecraft.util.math.Vec3d;

// 参数:服务器实例、消息目标玩家名、消息内容
public void sendMsgFromServer(MinecraftServer server, String targetName, String message) {
    if (server == null) return;

    // 构造无玩家的命令源,权限等级设为4(管理员权限)
    ServerCommandSource commandSource = new ServerCommandSource(
        server,
        Vec3d.ZERO,
        Vec2f.ZERO,
        null,
        4,
        "ModBackend",
        Text.literal("ModBackend"),
        server,
        null
    );

    String command = String.format("msg %s %s", targetName, message);
    server.getCommandManager().executeWithPrefix(commandSource, command);
}

关键说明

  • ServerCommandSource:1.20.1版本中负责命令执行的核心类,所有命令都需通过该类的实例触发。
  • executeWithPrefix:服务器命令管理器的执行方法,会自动处理命令前缀(如/),构造命令时带不带前缀都可正常执行。
  • 权限配置:无玩家上下文的命令源需手动指定权限等级,确保命令拥有足够权限被服务器执行。

内容的提问来源于stack exchange,提问作者Scrapmine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 05:12:41