AI-Player avatar

AI-Player [1.20.6]

Описание мода

Мод для Minecraft, который предназначен для добавления «второго игрока» в игру, который будет действительно интеллектуальным.

Когда-либо чувствовали одиночество, играя в Minecraft в одиночку? Этот мод призван решить проблему одиночества, не только для этого конкретного случая, но и (надеюсь, в будущем) для игры на multiplayer серверах.

Обратите внимание, что это не какой-то коммерциализированный AI продукт. Этот проект — просто решение проблемы, с которой сталкивались и продолжают сталкиваться многие игроки Minecraft.


Что делает этот мод?

  Этот мод на данный момент добавляет второго спавнящегося игрока (или бота) через мод Carpet mod, и вы можете общаться с ним через большую языковую модель (LLM) через Ollama полностью оффлайн на вашем ПК. На данный момент также интегрировано обучение с подкреплением, чтобы бот мог взаимодействовать с окружающей средой и учиться на ней в контексте «рефлекторных действий».

Этот мод опирается на внутренний код мода Carpet mod, пожалуйста, отметьте репозиторий мода звёздочкой: https://github.com/gnembon/fabric-carpet (Отдаём должное, где это заслужено)

Этот мод также использует проект ollama4j. https://github.com/amithkoujalgi/ollama4j


Changelog v1.0.5.1-release+1.20.6-bugfix-2

  • Исправлено множество ошибок, которые были упущены на предыдущем этапе тестирования.

Changelog v1.0.5.1-release+1.20.6-bugfix

Было осознано, что многие обязательства, объявленные в предыдущем анонсе, были слишком амбициозны для реализации в одном обновлении. Для обеспечения плавной разработки этот релиз является первой частью двухчастного обновления.

Это обновление сосредоточено на переработке основных систем и улучшении принятия решений ИИ, закладывая основу для следующей волны функций.

Также поддержка версий ниже 1.20.6 была прекращена из-за изменений кодовой базы, которые я не в состоянии самостоятельно мигрировать. Однако другие могут портировать на более низкие версии.


Что нового в 1.0.5.1

Переработанная NLP система

  • Полностью переработанная система обработки естественного языка (NLP) — больше никаких «Я не смог вас понять.»
  • Это новая и экспериментальная система, которую я проектировал и тщательно тестировал в течение последнего месяца.
  • Результаты обнадёживают, но ещё не соответствуют моим личным стандартам — ожидайте дальнейших улучшений в будущих обновлениях.

Переписанная RAG & Database система (с веб-поиском)

  • Новая система Retrieval-Augmented Generation (RAG), интегрированная с базой данных и веб-поиском.
  • ИИ теперь предоставляет точную фактическую информацию о Minecraft, drastically reducing hallucinations.
  • Поддерживаемые поисковые провайдеры:
    • Gemini API
    • Serper API
    • Brave Search API (в разработке, будет добавлено в следующий патч)

Meta-Decision слой

  • Добавлена система цепочек задач:
    • Вы даёте инструкцию высокого уровня → бот автоматически разбивает её на smaller tasks → выполняет шаг за шагом.

Текущие поддерживаемые задачи:

  • Перейти в локацию
  • Перейти в локацию и добыть ресурсы
  • Обнаруживать nearby blocks & entities
  • Сообщать статистику (здоровье, кислород, голод и т.д.)

API интеграции

AI Player теперь поддерживает нескольких провайдеров LLM (настраивается через API keys):

  • OpenAI
  • Anthropic Claude
  • Google Gemini
  • xAI Grok

Инструмент веб-поиска

Если вы выберете Gemini Search в качестве инструмента веб-поиска для LLM, он автоматически использует API key, установленный для вашего провайдера LLM в файле settings.json5.

Для поиска https://serper.dev/, получите api key на serper.dev, затем перейдите в папку config в игре, откройте ai_search_config.json и вставьте ключ:

Web search json file contents

(Примечание: Я не смог протестировать всё это самостоятельно, кроме Gemini API, поскольку API keys стоят денег, но интеграции готовы.)


Исправления ошибок

  • Исправлена ошибка, при которой аргументы JVM не считывались.
  • Удалена owo-lib. AI-Player теперь использует собственную систему конфигурации.
  • Исправлены проблемы с сохранением API keys.
  • Добавлена новая система обнаружения лаунчеров. Поскольку лаунчер Modrinth конфликтовал собственной системой переменных пути, поэтому QTable не загружалась. Поддерживаются: Vanilla MC Launcher, Modrinth App, MultiMC, Prism Launcher, Curseforge launcher, ATLauncher, и даже неизвестные лаунчеры, которые по умолчанию будут неподдерживаемыми, при условии, что они следуют схеме путей ванильного лаунчера MC.
  • Переработан UI Config Manager с отзывчивым интерфейсом и опцией поиска для провайдеров с большим количеством моделей (как gemini).

Config Manager New UI with search options and responsive UI


Заметки о разработке

  • Хотя это обновление может показаться небольшим на поверхности, проектирование систем, написание кода и отладка заняли огромное количество времени.
  • В дополнение к этому, я взял больше фриланс-контрактов и мне нужно сосредоточиться на дипломном проекте.
  • Обновления будут продолжаться — просто в более медленном темпе.

Скоро во второй части

Вот что запланировано для следующего патча:

  • Улучшения боя и выживания

    • Бот использует оружие (включая дальнобойное) для отражения мобов.
    • Обновления reflex module.
    • Более естественные взаимодействия с миром (например, сон ночью).
  • Улучшенный Path Tracer

    • Более умная навигация по воде и сложной местности.
  • Система самостоятельной постановки целей

    • Бот самостоятельно ставит себе цели, как настоящий игрок.
    • Будет инициировать разговоры с игроками и перемещаться автономно.
  • Система настроения (фаза проектирования)

    • Добавляет эмоциональный контекст и varied behavior.
  • Интеграция Player2

    • Пользующаяся большим спросом — это будет первой крупной функцией второго обновления.

Предстоящие изменения (некоторые из них могут появиться во втором патче).

  1. Переход на Deep-Q learning вместо traditonal q-learning (TLDR: использование нейронной сети вместо таблицы)
  2. Создание пользовательского кода движения для бота для precise movement вместо server sided movement code carpet.
  3. Реализация human consciousness level reasoning??? (в некоторой степени, возможно) (БОЛЬШОЕ ВОЗМОЖНО)

Пример видео работы мода (на версии 1.0.3-alpha-1)

Видео changelog (на текущей версии 1.0.3-alpha-2)

better and faster reflex actions, reduced training time.

environmental reaction

Youtube tutorial скоро


Руководство по установке и настройке

Шаг 1: Установите Java 21

Для этого проекта требуется Java 21.

  • Скачайте Java 21 с BellSoft JDK 21 LTS.

  • В Windows: нажмите Download MSI и завершите установку.

  • В Linux: установите через ваш пакетный менеджер, например:

  sudo apt install openjdk-21-jdk

Шаг 2: Установите Ollama

Перейдите на

https://ollama.com/

Скачайте в соответствии с вашей операционной системой.

После установки запустите ollama с вашего рабочего стола. Это запустит сервер ollama.

Его можно найти в системном трее


Шаг 3: Настройте модели Ollama

Откройте вашу командную строку (CMD/Терминал) и выполните:

ollama pull nomic-embed-text   # Модель для эмбеддингов (требуется)
ollama pull qwen3:8b           # Предпочтительная языковая модель (использовалась при тестировании)

Для предыдущих пользователей:

ollama rm gemma2               # Удалите старую модель, если установлена
ollama rm llama2               # Удалите старую модель, если установлена
ollama rm llama3.2             # Удалите старую модель, если установлена

Если вы уже запускали мод ранее, удалите старый конфиг:

.minecraft/config/settings.json5

✅ Убедитесь, что сервер Ollama запущен перед запуском игры.


Шаг 4: Скачайте зависимости

Убедитесь, что все необходимые зависимости (включая Carpet mod) установлены.


Шаг 5: Настройка аргументов JVM

Перед запуском игры вы должны предоставить следующий аргумент JVM:

-Daiplayer.llmMode=<provider>

Примеры:

  • Локальный Ollama (по умолчанию):
  -Daiplayer.llmMode=ollama
  • OpenAI:
  -Daiplayer.llmMode=openai
  • Anthropic Claude:
  -Daiplayer.llmMode=claude
  • Google Gemini:
  -Daiplayer.llmMode=gemini
  • xAI Grok:
  -Daiplayer.llmMode=grok

Шаг 6: Настройка API ключей

Внутри Config Manager теперь есть dedicated section для ввода API ключей для всех поддерживаемых провайдеров.

  • Для локальных моделей вы можете выбрать предпочтительную Ollama LLM.
  • Для hosted провайдеров введите ваши API keys соответствующим образом.

⚠️ Примечание: Ollama должен быть всегда запущен, поскольку модель для эмбеддингов (nomic-embed-text) локальна и требуется.


Шаг 7: Запуск игры

  • Запустите Minecraft.
  • Перед загрузкой мира (если вы в одиночной игре), когда экран загрузки мира достигнет 100%, может возникнуть небольшая задержка (или нет) из-за загрузки NLP модели в игре.
  • Перед загрузкой мира, пожалуйста, подождите, пока вы не увидите все папки в структуре с файлами, как здесь: NLP Models directory structure
  • Эти файлы предназначены для одноразовой загрузки, только для первого использования этой версии.
  • Оказавшись в игре, если вы использовали провайдера, отличного от ollama, в аргументе JVM, используйте config manager для выбора желаемого LLM/провайдера и установите их API keys.
  • Введите следующую команду, чтобы заспавнить вашего бота:
/bot spawn <yourBotName> <training|play>
  • training → Спавнит бота в режиме обучения (не подключается к LLM).
  • play → Нормальный режим с полным функционалом ИИ.

Важные примечания

  • Лучше создать отдельный модпак для этого мода, поскольку Ollama должна работать в фоновом режиме, когда вы играете.
  • Сама Ollama использует минимальную память, поэтому это не должно значительно влиять на производительность.

Инструмент веб-поиска

Если вы выберете Gemini Search в качестве инструмента веб-поиска для LLM, он автоматически использует API key, установленный для вашего провайдера LLM в файле settings.json5.

Для поиска https://serper.dev/, получите api key на serper.dev, затем перейдите в папку config в игре, откройте ai_search_config.json и вставьте ключ:

Web search json file contents



Команды мода

/bot spawn <bot> <mode: training or play>, если вы введёте что-то ещё в параметре mode, вы получите сообщение в чате с правильным использованием этой команды

/bot use-key <W,S, A, D, LSHIFT, SPRINT, UNSNEAK, UNSPRINT> <bot>

/bot release-all-keys <bot> <botName>

/bot look <north, south, east, west>

/bot detectDangerZone // Обнаруживает nearby lava pools и cliffs

/bot getHotBarItems // возвращает список предметов в его горячей панели

/bot getSelectedItem // получает currently selected item

/bot getHungerLevel // получает его уровень голода

/bot getOxygenLevel // получает уровень кислорода бота

/bot equipArmor // заставляет бота надеть лучшую броню в его инвентаре

/bot removeArmor // снимает броню с бота.


Требуемые зависимости

Fabric API avatarFabric APImodmuss50
Carpet avatarCarpetgnembon

Скачать AI-Player

 
Тип Скачать Версия Загрузчик Обновлено Размер
ReleaseAI Player v1.0.5.1-release+1.20.6-bugfix1.20.6Fabric22 августа 202539,3 МБ
ReleaseAI Player v1.0.5.1-release+1.20.6-bugfix-21.20.6Fabric22 августа 202539,3 МБ
ReleaseAI-Player v1.0.4-release+1.20.6-bugfix1.20.6Fabric23 марта 202515,9 МБ
ReleaseAI-Player-1.0.4-release+1.20.4-bugfix1.20.4Fabric23 марта 202515,8 МБ
ReleaseAI-Player 1.0.4-release+1.20.11.20.1Fabric23 марта 202515,8 МБ
ReleaseAI-Player 1.0.4-release+1.20.61.20.6Fabric21 марта 202515,9 МБ
ReleaseAI-Player v.1.0.4-release+1.20.41.20.4Fabric21 марта 202515,8 МБ
BetaAI-Player 1.0.4-beta-11.20.4Fabric17 марта 202515,9 МБ
Alphaai-player-1.0.3-alpha-2-hotfix-1.jar1.20.4Fabric6 марта 202515,8 МБ
Alphaai-player-1.0.3-alpha-2.jar1.20.4Fabric13 февраля 202515,8 МБ
Пожалуйста авторизуйтесь, чтобы оставить свой комментарий.