Как отправить команду от имени игрока Fabric?

Версия Minecraft
1.20.1
API
Fabric
16
2
0
Как отправить команду от имени игрока на клиенте Fabric, чтоб работало на сервере. Я пытался найти и сделать, но у меня не получается.
вот что я попытался сделать:
Java:
    public static ClientPlayNetworkHandler player;

    public static void executeCommand(String command) {
        if (command.startsWith("/")) {
            command = command.substring(1);
            player.sendChatCommand(command);
        } else {
            player.sendChatCommand(command);
        }
    }
но мне выдавало что player = null, и я хз как его правильно вызвать
 
Решение
Java:
public static void send(@NotNull String text) {
        ClientPlayerEntity player = MinecraftClient.getInstance().player;
        if (player == null || text.trim().isEmpty()) {
            return;
        }
        if (text.startsWith("/")) {
            player.networkHandler.sendChatCommand(text.substring(1).trim());

        } else {
            player.networkHandler.sendChatMessage(text.trim());
        }

    }
кому надо вот рабочий код(вроде как)
Пока не знаешь основ языка - нечего лезть в моддинг
Ммм, спасибо.... Но я и не хотел далеко лезть в моддинг, я хотел написать мод чисто для себя и друзей, чтоб повеселиться, был бы похожий мод я бы и не начал писать свой, но к сожалению или к счастью таких модов с нужным мне функционалом попросту нету, ибо он никому не будет нужен, так что я еще раз вас попрошу, пожалуйста дайте мне пример определения игрока, ну или дайте ответ по теме "как отправить команду от имени игрока"
 
Но я и не хотел далеко лезть в моддинг, я хотел написать мод чисто для себя и друзей, чтоб повеселиться
Молодец. Но основы ЯП, на котором собираешься писать мод, знать надо.
Это как если бы ты захотел прокатить друзей на своей новой машине, а ПДД ты не знаешь и прав у тебя нет.
пожалуйста дайте мне пример определения игрока, ну или дайте ответ по теме "как отправить команду от имени игрока"
По тому отрывку кода кроме того, что я сказал, большего подсказать невозможно. Нужен контекст вызова метода (где находится метод и где он вызывается).
 
Java:
public static void send(@NotNull String text) {
        ClientPlayerEntity player = MinecraftClient.getInstance().player;
        if (player == null || text.trim().isEmpty()) {
            return;
        }
        if (text.startsWith("/")) {
            player.networkHandler.sendChatCommand(text.substring(1).trim());

        } else {
            player.networkHandler.sendChatMessage(text.trim());
        }

    }
кому надо вот рабочий код(вроде как)
 
Назад
Сверху