Потому что печатать — слишком много усилий
📖 О модификации
Клиентский мод, предоставляющий улучшенные подсказки автодополнения для команд.
Поддерживает модифицированные и пользовательские команды из датапаков или серверных плагинов. Для работы не требуется на сервере.
💡 Использование
Чтобы ввести команду/аргумент, состоящий из нескольких слов, достаточно ввести только первые буквы этих слов.
Например, чтобы ввести /gamerule doDaylightCycle true, можно ввести /gr dc t
⌨ Горячие клавиши
В дополнение к
Кроме того, если текущая команда считается неполной (текст красный), нажатие
По умолчанию, принятие подсказки с помощью
🔀 Различение подсказок
Для различения похожих подсказок может потребоваться ввести более одной буквы для каждого слова.
Например, чтобы ввести fireDamage вместо fallDamage, которая появляется первой при вводе fd, можно ввести fid.
Как правило, быстрее ввести несколько дополнительных букв, чтобы нужная подсказка оказалась в начале списка, чем использовать стрелки или перебирать варианты с помощью
Со временем вы запомните минимальное количество букв, необходимое для ввода часто используемых команд, и их ввод станет очень быстрым.
🔍 Просмотр подсказок
Поскольку введённые слова не обязательно должны находиться в начале названия, вы увидите гораздо больше полезных подсказок по сравнению со стандартными предложениями Minecraft.
Например, если ввести /give @p wood, появятся подсказки для всех предметов, содержащих слово, начинающееся с wood.
Кроме того, если запрос не совпадает с начальными буквами ни одной подсказки, поиск также будет выполнен по всему содержимому предложений для нечёткого соответствия (fuzzy matches), которые отображаются после «умных» совпадений. Это полезно, когда вы не знаете точно, что ищете.
🎁 Дополнительные возможности
По умолчанию этот мод также меняет порядок подсказок на обратный, чтобы наиболее релевантное предложение находилось ближе всего к строке ввода, куда вы уже смотрите.
Если это кажется неудобным, можно отключить данную функцию следующей командой:
/smartcompletion invert_suggestion_order falseТакже мод предотвращает случайный выбор подсказок мышью при их появлении под курсором — это старый баг, который усложняет ввод команд в небольших окнах.
✨ Как это работает?
Для каждой вводимой команды мы запрашиваем подсказки у сервера дважды. Один раз, опуская то, что вы ввели для последнего аргумента (слепой запрос), и другой раз, включая всё (информированный запрос). В большинстве случаев отправляется только один запрос, так как запросы кэшируются во время ввода, чтобы уменьшить задержку и мерцание списка подсказок.
Затем мы предполагаем, что сервер ответит всеми возможными подсказками на слепой запрос, и выполняем умную фильтрацию и сортировку предложений на стороне клиента.
Если в информированном списке есть неожиданные подсказки, которые не были сопоставлены нашей фильтрацией, они также будут показаны другим цветом, чтобы вы никогда не пропустили предложения от потенциально сложных команд, предоставляющих свои собственные умные подсказки.
Для фильтрации предложений используются два подхода:
- Умное сопоставление сегментов вашего запроса с начальными буквами частей предложения (gr соответствует gamerule) (как работает автодополнение в любом редакторе кода)
- Слабый поиск каждой части вашего запроса внутри предложения (lock on соответствует blockExplosionDropDecay) (полезно, когда вы не знаете, что ищете)
✂ Как разделяются слова?
Слова разделяются по любому неалфавитному символу, а также по границам camelCase слов.
Кроме того, если команду нельзя разделить таким образом, предполагается, что она написана в flatcase, как большинство команд Minecraft.
К сожалению, без словаря систематически разбить flatcase невозможно. Поэтому используется небольшой словарь слов, используемых командами Minecraft, Fabric, (Neo)Forge и WorldEdit, чтобы попытаться разбить команды на слова.
Этот словарь может быть переопределён с помощью ресурспаков (см. вики). Сообщайте о любых проблемах с некорректным разделением слов.
📋 Как сортируются подсказки?
Подсказки сортируются согласно следующим критериям (в порядке приоритета):
- Подсказки ближе к курсору показываются первыми (/give @p chest предлагает [ перед minecart_chest)
- Совпадения по начальным буквам слов показываются перед резервными совпадениями (doWeatherCycle > sendCommandFeedback)
- Значимые совпадения, превышающие определённые пороги, показываются первыми (apple > acacia_pressure_plate)
- Совпадения с большим количеством совпавших начальных букв показываются первыми (doInsomnia > disableRaids)
- Совпадения, где некоторые начальные буквы могли соответствовать более чем одному слову, показываются первыми (doDaylightCycle > doWeatherCycle)
- Подсказки с меньшим количеством слов показываются первыми (doInsomnia > doImmediateRespawn)
- Совпадения ближе к началу предложения показываются первыми (gamemode > defaultgamemode)
- Более короткие предложения показываются первыми (tp > tell)
В остальных случаях подсказки отображаются в исходном порядке, предоставленном сервером (обычно алфавитном) (fallDamage > fireDamage).
В настоящее время нет возможности настроить этот порядок. Если у вас есть предложения по его улучшению, сообщите о них. Критерии основаны на естественных ожиданиях и позволяют разрешать неоднозначности путём ввода дополнительных начальных букв.
🎨 Настройка
Подсказки выделяются в соответствии со стилями, определёнными в файле style.json, который может быть переопределён с помощью ресурспаков (см. вики).
По умолчанию совпадения внутри подсказки выделяются синим цветом.
Альтернативные совпадения для части запроса (doDaylightCycle), резервные совпадения (sendCommandFeedback) и неожиданные серверные подсказки выделяются тёмно-бирюзовым цветом.
Кроме того, если предложение начинается с префикса слов, за которым следует двоеточие (например, пространство имён ресурса), оно будет выделено тёмно-серым цветом, если не совпадает с запросом (minecraft:golden_apple).
❓ Помощь
У этого мода есть вики, которую можно изучить.












