Перейти к содержимому

AutoSwitch

Автоматическое переключение инструментов при выполнении действия.

FabricNeoForge
Загрузчики
FabricNeoForge
Скачиваний на Modrinth
185 тыс.
Подписчиков на Modrinth
367
версии
142
Обновлён
15 сентября 202615 сент.
Опубликован
в 2020

Коротко о моде

Работает на Fabric и NeoForge
Для Minecraft 1.20–1.20.5, 1.21–26.3 …
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 17.0.0 от 15 сентября 2026
Лицензия LGPL-3.0-only — бесплатно
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.16–1.19.3, 1.20–1.20.5, 1.21–26.3
Описание переведено автоматическиПоказать оригинал (EN)

client Fabric API

AutoSwitch — это мод для Minecraft, доступный на Fabric и NeoForge, который автоматически переключает активный инструмент на подходящий при атаке или взаимодействии с блоками или сущностями: вы бьёте по каменному блоку — он переключается на кирку, затем, когда вы попадаете по надоедливому участку гравия, он переключается на лопату. Какой инструмент выбирается и когда — всё настраивается с учётом такой информации, как текущие зачарования на инструменте, blockstate цели или снаряжение сущности.

AutoSwitch использует конфигурационный файл в формате HOCON autoswitch.conf, расположенный в папке config, которая находится рядом с папкой ресурспаков. Быстрый способ добраться туда — зайти в Options > Resource Packs > navigate up one folder.

Мод можно включать/выключать прямо в игре нажатием R (по умолчанию).


Настройка

Этот раздел относится только к AutoSwitch 12+. Более ранние версии использовали другой формат конфигурации.

В конфигурационном файле есть четыре раздела — три для определения селекторов и целей при различных действиях и один для общей настройки функций:

  • attack-action — правила, используемые при атаке (по сущностям или блокам).
  • interact-action — правила, используемые при взаимодействии (ПКМ по сущностям или блокам).
  • stat-change-action — правила, срабатывающие по событиям статов (например, активация тотема бессмертия, работает только в одиночной игре).
  • feature-config — управляет общим поведением мода.

Каждое правило содержит:

  • priority — целое число; более высокие значения имеют приоритет, когда совпадает несколько целей.
  • target — IdSelector типа BLOCK, ENTITY, STAT или EXPRESSION, позволяющий комбинировать другие цели).
  • tools — упорядоченный массив IdSelector или EXPRESSION с типом ITEM для переключения, либо пустой список (чтобы отключить переключение для этой цели).

IdSelector может ссылаться на теги или конкретные явные ID (#minecraft:stone, minecraft:ender_chest). У них есть необязательное поле data, позволяющее сопоставлять такие вещи, как конкретные зачарования предметов или blockstate. Поле данных player можно применить к любому типу селектора, что позволяет сопоставлять по состоянию игрока, например, приседает ли он или находится на определённом расстоянии от цели.

EXPRESSION может содержать сколько угодно элементов или уровней вложенности, что даёт большую гибкость в управлении. Конфигурация по умолчанию охватывает широкий спектр случаев и послужит отличной основой для расширения.

Правки на лету

Просто сохраните конфигурационный файл заново, пока игра запущена, и он автоматически перезагрузится.

Подробности настройки

Выражения

Выражения можно вкладывать на любую глубину.

Выражения поддерживают следующие операции:

  • OR — совпадение с любым из дочерних элементов
  • AND — совпадение со всеми дочерними элементами
  • NOT — совпадение ни с одним из дочерних элементов
  • XOR — совпадение только с одним из дочерних элементов
Данные

В настоящее время поддерживаются следующие типы данных:

  • BlockState — block state для сопоставления
  • Component — на данный момент поддерживает только POTION_CONTENTS на предметах
  • Enchantment — зачарования, которые есть у предмета
  • EntityEquipment — снаряжение, которое носит сущность, например свинья с седлом
  • Player — состояние игрока, например, крадётся ли он, есть ли у него определённый предмет, едет ли он на чём-то или находится на определённом расстоянии от цели.
Приоритет выбора

Сначала AutoSwitch проверяет цель на любое совпадение, отдавая предпочтение совпадению с наивысшим приоритетом и подходящими инструментами. Если есть несколько совпадений с одинаковым приоритетом, он начинает смотреть, насколько конкретна конфигурация — например, если в конфиге определены цели #minecraft:stone (тег) и minecraft:stone (блок), и обе совпадают и имеют одинаковый приоритет, он предпочтёт цель minecraft:stone без тега. Если у этой цели не было подходящих инструментов, тогда он посмотрит на инструменты, указанные у цели-тега. Если указаны какие-либо необязательные данные, это также учитывается, чтобы сделать совпадение более конкретным. Чем больше данных указано, тем более конкретным считается совпадение.

Если у совпавших целей одинаковые приоритет и специфичность, то для выбора используется оценка типа с учётом контекста. Для блоков у всех одинаковая оценка, но у зачарований она зависит от уровня зачарования, а для предметов при атаке на моба — от предполагаемого наносимого урона. У указанных данных тоже может быть своя оценка (например, зачарования на инструменте). Оценка типа имеет приоритет над оценкой данных.

После выбора цели выбор инструмента происходит примерно по тому же принципу. Приоритет инструмента зависит от того, насколько рано он появляется в списке инструментов для данной цели; в остальном специфичность, оценка типа и оценка данных такие же, как у целей.

Если на этом этапе предпочтительного инструмента нет и удерживаемый предмет входит в число этих равнозначных инструментов, то предпочтение отдаётся ему. В противном случае предпочтение отдаётся равнозначному инструменту в самой левой ячейке хотбара.

Тектовая блок-схема
START: candidate inventory slots (all slots that matched a selector)
|
v
Compare Target Priority
|-- if different --> choose highest Target Priority --> END
|
v (same)
Compare Target Rating (levels 0..N)
For each level:
- compare: isGroup? (non-group preferred)
- compare: hasData? (with data preferred)
- compare: typeRating (higher wins)
- compare: dataRating (higher wins)
|-- if difference found --> choose winner --> END
|
v (no difference)
Compare Tool Priority
|-- if different --> choose highest Tool Priority --> END
|
v (same)
Compare Tool Rating (levels 0..N)
(same per-level rules as Target Rating)
|-- if difference found --> choose winner --> END
|
v (still tied)
Prefer currently selected slot?
|-- Yes --> choose currently selected --> END
|-- No  --> choose smallest (leftmost) slot --> END

Частые вопросы

Как установить AutoSwitch?

Установите Fabric под свою версию Minecraft, скачайте AutoSwitch под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть AutoSwitch?

У AutoSwitch есть сборки для Minecraft 1.16–1.19.3, 1.20–1.20.5, 1.21–26.3.

Нужен ли AutoSwitch на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
GNU Lesser General Public License v3.0 onlyможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее