User Tools

Site Tools


ru:tutorial:commands:redirects_aliases

Редиректы (Разновидности)

Примечание: статья в разработке.

Редиректы - это форма Brigadier для псевдонимов. Ниже показано, как Minecraft обрабатывает /msg с псевдонимами /tell и /w:

  1. public static void register(CommandDispatcher<ServerCommandSource> dispatcher) {
  2. LiteralCommandNode node = registerMain(dispatcher); // Регистрирует основную команду
  3. dispatcher.register(literal("tell")
  4. .redirect(node)); // Псевдоним 1, перенаправление на главную команду
  5. dispatcher.register(literal("w")
  6. .redirect(node)); // Псевдоним 2, перенаправление на главную команду
  7. }
  8.  
  9. public static LiteralCommandNode registerMain(CommandDispatcher<ServerCommandSource> dispatcher) {
  10. return dispatcher.register(literal("msg")
  11. .then(argument("targets", EntityArgumentType.players())
  12. .then(argument("message", MessageArgumentType.message())
  13. .executes(ctx -> {
  14. return execute(ctx.getSource(), getPlayers(ctx, "targets"), getMessage(ctx, "message"));
  15. }))));
  16. }

Редирект сообщает Brigadier'у продолжить синтаксический анализ команды на другом командном узле.

ru/tutorial/commands/redirects_aliases.txt · Last modified: 2022/03/03 12:58 by furnygo