User Tools

Site Tools


ru:tutorial:commands

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
ru:tutorial:commands [2022/02/28 12:58] furnygoru:tutorial:commands [2022/03/02 14:54] furnygo
Line 2: Line 2:
  
 Создание команд позволяет разработчику наращивать функционал и способ воздействия с пользователем через, собственно, команды. Создание команд позволяет разработчику наращивать функционал и способ воздействия с пользователем через, собственно, команды.
-Это руководство расскажет как регистрировать команды и общую инофрмацию о структуре Brigadier.+Это руководство расскажет как регистрировать команды и общую информацию о структуре Brigadier.
  
 Примечание: Весь код, описанный здесь, написан для 1.14.4. Что-то может быть изменено в yarn, но большая часть кода всё ещё применима и там. Примечание: Весь код, описанный здесь, написан для 1.14.4. Что-то может быть изменено в yarn, но большая часть кода всё ещё применима и там.
Line 100: Line 100:
 Примечание: Пожалуйста, убедитесь, что вы используете ''literal'' и ''argument'' из CommandManager, иначе у вас могут возникнуть проблемы с дженериками при попытке компиляции. Примечание: Пожалуйста, убедитесь, что вы используете ''literal'' и ''argument'' из CommandManager, иначе у вас могут возникнуть проблемы с дженериками при попытке компиляции.
  
-Аргументы бригадира по умолчанию находятся в ''com.mojang.brigadier.arguments''+Аргументы Brigadier по умолчанию находятся в ''com.mojang.brigadier.arguments''
  
 Аргументы Minecraft находятся в разделе ''net.minecraft.command.arguments''. Аргументы Minecraft находятся в разделе ''net.minecraft.command.arguments''.
 CommandManager находится в ''net.minecraft.server.command'' CommandManager находится в ''net.minecraft.server.command''
  
-==== Подкоманда ====+===== Подкоманда =====
  
 Чтобы добавить команде подкоманду, сначала необходимо зарегистрировать ветвь с буквальным вводом. Чтобы добавить команде подкоманду, сначала необходимо зарегистрировать ветвь с буквальным вводом.
Line 115: Line 115:
 В целом, чтобы получить подкоманду, нужно расширить текущую ветвь следующей, уже существующей ветвью. Это можно сделать с помощью метода ''then(ArgumentBuilder)'' который принимает в себя ''ArgumentBuilder''. В целом, чтобы получить подкоманду, нужно расширить текущую ветвь следующей, уже существующей ветвью. Это можно сделать с помощью метода ''then(ArgumentBuilder)'' который принимает в себя ''ArgumentBuilder''.
  
-То, что показано ниже, создаёт команду ''foo <bar>''.+То, что показано ниже, создаёт команду ''foo <bar>'':
  
 <code java [enable_line_numbers="true", highlight_lines_extra="2"]> <code java [enable_line_numbers="true", highlight_lines_extra="2"]>
Line 123: Line 123:
 </code> </code>
  
-It is advised to indent your code as you add nodes to the commandUsually the indentation corresponds to how many nodes deep one is on the command treeThe new line also makes it visible that another node is being addedThere are alternative styles to formatting the tree command that are shown later on in this tutorial.+Рекомендуется делать отступы в вашем коде при добавлении узлов в командуОбычно отступ соответствует количеству глубоких узлов в дереве командНовая строка также делает видимым, что добавляется еще один узелСуществуют альтернативные стили для форматирования команды дерева, которые будут показаны позже в этом руководстве.
  
-**So let's try running the command**+**Итак, давайте попробуем выполнить команду**
  
-Most likely if you typed ''/foo bar'' in gamethe command will fail to runThis is because there is no code for the game to execute when all the required arguments have been metTo fix thisyou need to tell the game what to run when the command is being executed using the ''executes(Command)'' method. Below is how the command should look as an example.+Скорее всего, если вы наберете ''/foo bar'' в игрекоманда не будет выполненаЭто происходит потому, что нет кода для игры, который выполнялся бы после выполнения всех требуемых аргументовЧтобы исправить этовам нужно указать игре, что запускать, когда выполняется команда, используя метод ''executes(Command)''Ниже в качестве примера показано, как должна выглядеть команда:
  
 <code java [enable_line_numbers="true", highlight_lines_extra="3,4,5,6,7"]> <code java [enable_line_numbers="true", highlight_lines_extra="3,4,5,6,7"]>
Line 141: Line 141:
 </code> </code>
  
-===== Registering the commands =====+===== Регистрация команд =====
  
-Registering commands is done by registering a callback using the ''CommandRegistrationCallback''For information on registering callbacksplease see the [[tutorial:callbacks|callbacks article]].+Регистрация команд выполняется путем регистрации обратного вызова с помощью ''CommandRegistrationCallback''Для получения информации о регистрации обратных вызововознакомьтесь с [[ru:tutorial:callbacks|статьёй об обратных вызовах]].
  
-The event should be registered in your mod's initializerThe callback has two parametersThe ''CommmandDispatcher<S>'' is used to registerparse and execute commands. ''S'' is the type of command source the command dispatcher supportsThe second parameter is a boolean which identifies the type of server the commands are being registeredon is an ''dedicated'' or ''integrated'' (false) server.+Событие должно быть зарегистрировано в инициализаторе вашего модаОбратный вызов имеет два параметра. ''CommmandDispatcher<S>'' используется для регистрациианализа и выполнения команд. ''S'' i- это тип источника команд, который поддерживает диспетчер командВторой параметр - это логическое значение, которое определяет тип сервера, на котором регистрируются командыЭто может быть ''dedicated'' (выделенный) или ''integrated''(интегрированный) (false) сервер:
  
  
Line 159: Line 159:
 </code> </code>
  
-Inside your lambdamethod reference or whatever you have chosenyou will register your commands.+Внутри вашего лямбда-выраженияссылки на метод или чего бы вы ни выбрализарегистрируете свои команды:
  
 <code java [enable_line_numbers="true", highlight_lines_extra="5,6,7,8"]> <code java [enable_line_numbers="true", highlight_lines_extra="5,6,7,8"]>
Line 175: Line 175:
 </code> </code>
  
-If desiredyou can make sure a command is only registered on a dedicated server by checking the ''dedicated'' flag+При желании вы можете убедитьсячто команда зарегистрирована только на выделенном сервере, установив флажок ''dedicated''(выделенный):
  
  
Line 191: Line 191:
 </code> </code>
  
-And vice versa+И наоборот:
  
 <code java [enable_line_numbers="true", highlight_lines_extra="5,6,7"]> <code java [enable_line_numbers="true", highlight_lines_extra="5,6,7"]>
Line 206: Line 206:
 </code> </code>
  
-===== Arguments =====+===== Аргументы =====
  
-Arguments in Brigadier both parse and error check any inputted arguments+Аргументы в Brigadier как анализируют, так и проверяют на ошибки любые введенные аргументы
-Minecraft creates some special argument types for it's own use such as the ''EntityArgumentType'' which represents the in-game entity selectors ''@a, @r, @p, @e[type=!player, limit=1, distance=..2]'', or an ''NbtTagArgumentType'' that parses stringified nbt (snbt) and verifies that the input is the correct syntax.+Minecraft создает некоторые специальные типы аргументов для собственного использования, такие как ''EntityArgumentType'', который представляет внутриигровые селекторы сущностей ''@a, @r, @p, @e[type=!player, limit=1, distance=..2]'', или ''NbtTagArgumentType'', который анализирует строковый nbt (snbt) и проверяет правильность ввода синтаксиса.
  
-**TODO:** Go into more detail on how to use arguments+**Будет сделано позже:** Подробнее о том, как использовать аргументы.
  
-====== Advanced concepts ======+====== Дополнительные концепции ======
  
-Below are links to the articles about more complex concepts used in brigadier.+Ниже приведены ссылки на статьи о более сложных концепциях, используемых в Brigadier.
  
-Page                                                           ^ Description                                                                     ^ +Страница                                                           ^ Описание                                                                     ^ 
-| [[tutorials:commands:requirements|Requirements]]               Only allow users to execute commands in certain scenarios                     +| [[ru:tutorials:commands:requirements|Требования]]| Разрешать пользователям выполнять команды только в определенных сценариях.| 
-| [[tutorials:commands:exceptions  |Exceptions]]                 Fail execution of a command with a descriptive message and in certain contexts. |                                                                   +| [[ru:tutorials:commands:exceptions|Исключения]]| Сбой выполнения команды с описательным сообщением и в определенных контекстах.|                                                                   
-| [[tutorial:command_suggestions|Suggestions]]                Suggesting input to be sent to the client                                     +| [[ru:tutorial:command_suggestions|Предложения]]| Предложение входных данных для отправки клиенту.| 
-| [[tutorials:commands:redirects_aliases|Redirects (Aliases)]]   Allow use of aliases to execute commands                                      +| [[ru:tutorials:commands:redirects_aliases|Перенаправления (Разные вариации)]]| Разрешить использование разновидностей команд.| 
-| [[tutorials:commands:redirects_chaining|Redirects (Chaining)]] | Allow commands to have repeating elements and flags                           +| [[ru:tutorials:commands:redirects_chaining|Перенаправления (Цепочки)]]| Разрешить командам иметь повторяющиеся элементы и флаги.| 
-| [[tutorials:commands:argument_types|Custom Argument Types]]    Parse your own arguments and return your own types                            |+| [[ru:tutorials:commands:argument_types|Свои типы аргументов]]| Анализируйте свои аргументы и возвращайте свои типы.|
  
-**TODO:** Sections are being moved to sub categories and will be added to their respective articles as they are migrated.+**Будет сделано позже:** Разделы перемещаются в подкатегории и будут добавлены в соответствующие статьи по мере их переноса.
  
-====== FAQ ======+====== Часто задаваемые вопросы ======
  
 ===== Why does my command not compile ===== ===== Why does my command not compile =====
ru/tutorial/commands.txt · Last modified: 2022/03/03 13:27 by furnygo