AIPC — это плагин для серверов Spigot/Paper, позволяющий создавать настраиваемых NPC, с которыми игроки могут взаимодействовать и общаться. Эти NPC управляются ИИ, обеспечивая динамичные и увлекательные диалоги. Настройте их внешний вид, профессии, роли и даже добавьте специальные триггеры диалогов.
Возможности
- Чат с ИИ: NPC разумно отвечают на сообщения игроков, используя технологии ИИ.
- Настраиваемые промпты: Определите личность и знания ваших NPC с помощью промптов (системных сообщений).
- Профили NPC: Создавайте многоразовые профили с конкретными именами, промптами и профессиями.
- Пользовательские триггеры диалогов: Настройте ключевые слова, которые запускают определенные, заранее заданные ответы от NPC.
- Действия по тегам: Встраивайте специальные теги в ответы ИИ для запуска серверных команд (например, выдача предметов, телепортация игроков). {give_diamond} выполнит /give %player% diamond 1.
- История диалогов: Разговоры контекстно-зависимы, ИИ запоминает предыдущие сообщения в текущем диалоге.
- Настраиваемый: Настройте расстояние диалога, задержку взаимодействия, неуязвимость NPC и поведение ИИ.
- Простые команды: Создавайте, удаляйте и просматривайте NPC с помощью простых команд.
- Сохраняемые NPC: Данные NPC сохраняются и перезагружаются при перезапуске сервера.
- Управление диалогом: Игроки могут начинать и заканчивать диалоги с NPC. Диалоги автоматически завершаются, если игрок отходит слишком далеко.
- Кулдаун: предотвращает спам запросов игроками.
Команды
- /aipc spawn [профиль] [имя] : Создает NPC, управляемого ИИ, в вашем местоположении.
- [профиль] (Необязательно): Имя предопределенного профиля NPC (из конфигурации).
- [имя] (Необязательно): Имя NPC. Если опущено, по умолчанию используется имя профиля или «AI Helper». Поддерживает пробелы. Пример: /aipc spawn blacksmith Боб Кузнец
- /aipc remove <имя>: Удаляет NPC по его имени.
- /aipc list: Выводит список всех активных ИИ NPC и их местоположения.
- /aipc reload: Перезагружает конфигурацию плагина.
Права
- aipc.spawn: Позволяет игрокам использовать команду /aipc spawn.
- aipc.remove: Позволяет игрокам использовать команду /aipc remove.
- aipc.list: Позволяет игрокам использовать команду /aipc list.
- aipc.reload: Позволяет игрокам использовать команду /aipc reload.
Конфигурация (config.yml)
config.yml:
dialogue_distance: 10 # На каком расстоянии игроки могут взаимодействовать
default_prompt: "Ты полезный житель в Minecraft." # Роль по умолчанию для NPC
npcs_invulnerable: true # Неуязвимы ли NPC
npcs_ai_disabled: true # Отключено ли перемещение NPC (AI)
interaction_cooldown: 0 # Задержка в секундах между взаимодействиями (0 = нет задержки)
# Предопределенные профили NPC
npc_profiles:
blacksmith:
name: "Кузнец"
prompt: "Ты кузнец в средневековой деревне. Ты грубый и говоришь по делу."
profession: BLACKSMITH
librarian:
name: "Библиотекарь"
prompt: "Ты мудрый и знающий библиотекарь. Ты любишь делиться информацией."
profession: LIBRARIAN
# Пользовательские ответы, запускаемые ключевыми словами (без учета регистра)
custom_dialogue_triggers:
привет: "Приветствую, путник!"
"как тебя зовут": "Я скромный ИИ-помощник этой деревни."
"ты можешь мне помочь": "Конечно! Что тебе нужно?"
# Действия, запускаемые тегами в ответах ИИ. %player% заменяется на имя игрока.
tag_actions:
give_diamond: "give %player% diamond 1"
teleport_home: "tp %player% 0 64 0"
heal_player: "effect give %player% minecraft:regeneration 5 1"
Установка
- Купите и скачайте плагин AIPC (jar-файл).
- Поместите jar-файл в папку plugins вашего сервера.
- Запустите или перезапустите сервер.
- Настройте файл config.yml в папке plugins/AIPC. Вы должны получить свой собственный ключ API Google Gemini и добавить его в код плагина, изменив функцию deobfuscateApiKey. Этот шаг необходим и требует базовых знаний Java.
- Перезапустите сервер или используйте /aipc reload.
Важные замечания
- Ответственность: Вы несете ответственность за то, как игроки взаимодействуют со сгенерированным контентом.
- Производительность: Этот плагин выполняет асинхронные вызовы API, но частые запросы могут повлиять на производительность сервера. Параметр interaction_cooldown помогает управлять этим.
Поддержка
Если вы столкнулись с какими-либо проблемами или у вас есть предложения, пишите мне в ЛС на BlackMinecraft. Предоставление подробной информации о проблеме, включая любые сообщения об ошибках, поможет в устранении неполадок.Пример использования
- Создайте профиль кузнеца в config.yml.
- В игре введите /aipc spawn blacksmith Боб.
- Щелкните правой кнопкой мыши по Бобу, чтобы начать разговор.
- Спросите Боба: «Можешь ли ты рассказать мне о своей работе?»
- Боб ответитi на основе своего промпта кузнеца.
- Используйте фразу-триггер, такую как /say привет, и NPC ответит заготовленной фразой.
- Если ответ Боба включает {give_diamond}, сервер выполнит настроенную команду.