▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/AutoSwitch
AutoSwitch

AutoSwitch

Мод AutoSwitch для Minecraft автоматически переключает инструменты в зависимости от того, что вы делаете - копаете, атакуете или взаимодействуете. Настраивается под себя и работает на Fabric и NeoForge.

Оцените первым
161.9K
370

AutoSwitch

AutoSwitch - мод для Майнкрафт (Fabric / NeoForge), который сам меняет предмет в руке в зависимости от того, что вы собираетесь сделать. Копаете камень кулаком? Моментально переключит на кирку. Атакуете моба мечом, но в руке лопата? Подменит на меч. Всё работает на основе правил, которые можно тонко настроить.

По сути, это решение вечной проблемы: вечно лазать по хотбару в поисках нужного инструмента. Особенно когда мобов много или ресурс надо добывать быстро. Мод смотрит на то, что вы бьёте (блок или моба), и сам подбирает лучший предмет из доступных на панели.

Настраивается через конфиг autoswitch.conf в папке config (рядом с папкой ресурспаков). Быстрый путь: Options > Resource Packs > подняться на папку вверх. В игре мод можно включить/выключить клавишей R.


Настройка

Этот раздел актуален для AutoSwitch 12+. В ранних версиях конфиг был другим.

В конфиге четыре секции:

  • attack-action - правила для атаки (мобов или блоков).
  • interact-action - правила для взаимодействия (правый клик).
  • stat-change-action - правила для событий статистики (например, использование тотема бессмертия).
  • feature-config - общие настройки поведения мода.

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

  • priority - число; чем выше, тем приоритетнее правило, если несколько целей подходят.
  • target - что именно правило ищет (типы: BLOCK, ENTITY, STAT или EXPRESSION для комбинаций). Цели могут ссылаться на теги или конкретные ID (minecraft:ender_chest, sugar_cane).
  • tools - упорядоченный список кандидатов для переключения. Каждый должен быть ITEM или EXPRESSION из ITEM, либо пустой список (отключает переключение для этой цели).

EXPRESSION можно вкладывать сколько угодно - гибкость огромная. Дефолтный конфиг покрывает большинство ситуаций, его можно расширять.

У инструментов и целей есть опциональное поле data, чтобы учитывать зачарования или состояния блоков.

Живое редактирование

Просто сохраните конфиг заново в игре - он перезагрузится автоматически.

Технические детали

Выражения

Выражения можно вкладывать как угодно. Поддерживаются операции:

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

Данные

Сейчас поддерживаются такие типы данных:

  • BlockState - состояние блока для сопоставления.
  • Component - пока только POTION_CONTENTS на предметах.
  • Enchantment - зачарования предмета.
  • EntityEquipment - экипировка существа (например, седло на свинье).

Приоритет выбора

Порядок принятия решения (первое различие побеждает):

  1. Приоритет цели - правила с большим приоритетом предпочтительнее.
  2. Рейтинг цели (многоуровневый) - сравнение уровней рейтинга 0..N до максимума. На каждом уровне сравниваются:
    • isGroup (предпочтение не-группам)
    • hasData (предпочтение тем, у кого есть данные)
    • typeRating (выше - лучше, например DPS оружия или уровень добычи)
    • dataRating (выше - лучше, например нормализованный уровень зачарования)
  3. Приоритет инструмента - предпочтение инструментам с более высоким внутренним приоритетом.
  4. Рейтинг инструмента (многоуровневый) - та же логика, что и у цели.
  5. Текущий выбранный слот? - если всё ещё ничья, предпочитается текущий слот.
  6. Наименьший индекс слота - финальный тай-брейк: самый левый слот инвентаря побеждает.
Текстовая блок-схема
СТАРТ: слоты-кандидаты (все слоты, подошедшие под селектор)
|
v
Сравнить приоритет цели
|-- если разный --> выбрать наивысший --> КОНЕЦ
|
v (одинаковый)
Сравнить рейтинг цели (уровни 0..N)
Для каждого уровня:
- сравнить: isGroup? (не-группа предпочтительнее)
- сравнить: hasData? (с данными предпочтительнее)
- сравнить: typeRating (выше побеждает)
- сравнить: dataRating (выше побеждает)
|-- если разница --> выбрать победителя --> КОНЕЦ
|
v (нет разницы)
Сравнить приоритет инструмента
|-- если разный --> выбрать наивысший --> КОНЕЦ
|
v (одинаковый)
Сравнить рейтинг инструмента (уровни 0..N)
(те же правила на уровне)
|-- если разница --> выбрать победителя --> КОНЕЦ
|
v (всё ещё ничья)
Предпочесть текущий выбранный слот?
|-- Да --> выбрать текущий --> КОНЕЦ
|-- Нет  --> выбрать наименьший (самый левый) слот --> КОНЕЦ

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26w14a26.2.x26.1.x1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x

Платформы

Поддерживаемые окружения

Клиент

Зависимости

Ссылки

Создатели

Детали

Лицензия:
Опубликован:5 лет назад
Обновлён:1 месяц назад
Главная