====== Условия ====== **Примечание:** статья в разработке. Допустим, у вас есть команда, которую вы хотите, чтобы могли выполнять только операторы. Вот тут-то и вступает в игру метод ''requires''. Метод ''requires'' имеет один аргумент ''Predicate'', который предоставит ''ServerCommandSource'' для тестирования и определения того, может ли ''CommandSource'' выполнить команду. Например, это может выглядеть следующим образом: dispatcher.register(literal("foo") .requires(source -> source.hasPermissionLevel(4)) .executes(ctx -> { ctx.getSource().sendFeedback(new LiteralText("Ты оператор"), false); return 1; }); Эта команда будет выполняться только в том случае, если источником команды является оператор 4-го уровня как минимум. Если предикат возвращает значение false, то команда не будет выполнена. Также это имеет побочный эффект, заключающийся в том, что эта команда не отображается при завершении вкладки никому, кто не является оператором 4-го уровня. Ничто не мешает кому-либо указывать вызовы реализаций разрешений в блоке ''requires''. Просто обратите внимание, что если разрешения изменятся, вам необходимо повторно отправить дерево команд.