Как добавить команду в мод? Forge 1.16.5.

Версия Minecraft
1.16.5
API
Forge
Я пишу мод на 1.16.5. Раньше я просто пользовался ClientChatEvent для аназиза сообщения, но сейчас нужно именно "добавить" команду в игру. Важно, что бы были подсказки (после ввода в чат "/" была видна команда. Так же, после написания следующих аргуметов команды, нужно, что бы они были видимыми [как на скрине]). Я регестрирую команды через RegisterCommandsEvent, но после этого они видны и работают только в одиночном мире, а не на сервере. Нужно сделать так, что бы на сервере они так же показывались. Например как в читах, только вместо "/" должен быть другой символ,
 

Вложения

  • 1733944104358.png
    1733944104358.png
    35.3 KB · Просмотры: 7
  • 1733944121123.png
    1733944121123.png
    36 KB · Просмотры: 7
Вот тебе целый кусок кода, не проверял на работоспособность, писал с мобилы, но вроде должно все работать👍


Java:
public static void register(CommandDispatcher<CommandSource> dispatcher) {
        dispatcher.register(Commands.literal("mycommand")
            .requires(source -> source.hasPermissionLevel(2)) // какой нужен уровень привилегий для исполнения команды(в данном случае 2 оп)
            .then(Commands.argument("message", StringArgumentType.string())
                .executes(MyCustomCommand::execute))
        );
    }

    private static int execute(CommandContext<CommandSource> context) {
        String message = StringArgumentType.getString(context, "message");
        CommandSource source = context.getSource();
        source.sendFeedback(new StringTextComponent(message), true);
        return Command.SINGLE_SUCCESS;
    }
}
 
Я регестрирую команды через RegisterCommandsEvent, но после этого они видны и работают только в одиночном мире, а не на сервере
Ты хочешь сделать клиентсую команду, которая будет работать только на клиенской стороне?
 
На сервер надо устанавливать мод чтобы команда заработала.
А сделать команду чисто на клиенте так просто не получится. Чтобы можно было использовать CommandDispatcher, надо дублировать всю обработку команд на клиент. Ещё надо редактировать CommandScreen и т.д.
 
Назад
Сверху