
NPC Plugin
Мощный плагин для создания и управления NPC на серверах Minecraft. Встроенный GUI-редактор, цепочки действий, система путей и AI-цели. Поддержка Spigot и Paper 1.17-1.21.
NPC Plugin - это плагин для серверов Minecraft (Spigot/Paper), который позволяет создавать полноценных NPC прямо в игре через удобный графический интерфейс. Никаких сторонних редакторов или сложных конфигов - всё делается через меню и команды.
Если вы администрируете сервер и хотите добавить торговцев, квестгиверов, гидов или просто декоративных персонажей - этот плагин здорово упрощает жизнь. Он решает проблему отсутствия гибкого инструмента для создания NPC без программирования.
Основные возможности
- Встроенный редактор - создавайте и настраивайте NPC прямо на сервере, кликая по ним в режиме редактирования.
- Действия по клику - стройте цепочки действий для левого, правого или любого клика: команды, телепортация на другой сервер (BungeeCord), анимации, ожидание, установка переменных, условия, циклы и многое другое.
- Система путей - создавайте маршруты из точек или записывайте их в реальном времени, визуализируйте и тестируйте. NPC может ходить по этим путям как часть действий.
- AI-цели - настраивайте автономное поведение NPC: ходьба к точке, следование за игроком, атака мобов, случайное блуждание, ожидание. Цели используют выражения для гибкого выбора целей.
- Парсер выражений - математические и логические выражения с переменными (локальными, на NPC, глобальными), поддержка команд внутри выражений. Используется в действиях, условиях и целях.
- Локализация и PlaceholderAPI - встроенные языковые файлы (по умолчанию английский), поддержка плейсхолдеров.
Редактор NPC
Включите режим редактирования командой /npc edit и кликните по любому NPC - откроется GUI. Там можно менять:
- имя, скин (по имени игрока, UUID или локальному .png файлу),
- экипировку, свечение, видимость, отображение в таб-листе,
- позу, части тела, масштаб,
- радиус и интервал взгляда на игрока,
- телепортировать NPC к себе или себя к NPC,
- удалить NPC.
Система действий (Click Actions)
Для каждого NPC можно настроить цепочки действий на левый, правый или любой клик. Действия выполняются последовательно. Основные типы:
- Command - выполняет команду с поддержкой плейсхолдеров (
{player},%player_name%) и переменных. - Server - отправляет игрока на другой сервер через BungeeCord.
- Wait - пауза на время (от 0.05 до 600 секунд) или до команды
/npc wait. - Path - заставляет NPC идти по сохранённому пути.
- Animation - проигрывает анимацию для кликнувшего игрока.
- SetVariable - устанавливает числовую переменную (локальную, на NPC или глобальную).
- Condition - выполняет подцепочку, если выражение истинно.
- Loop - повторяет подцепочку (while или for).
- Npc - применяет настройки NPC (глобально или для конкретного игрока).
- Stop - немедленно останавливает цепочку.
Также есть опция "Run on show" - цепочка срабатывает, когда NPC появляется перед игроком.
Система путей
Пути хранятся в paths.yml. Создавать можно двумя способами:
- вручную добавлять точки через
/npc path point add, - записать маршрут, пройдя его самому (
/npc path record start/stop).
После создания путь можно визуализировать (частицы), протестировать на временном NPC, а затем использовать в действии Path. Поддерживаются настройки скорости и диагонального движения.
AI-цели
Цели задают автономное поведение NPC. Доступны:
- Walk to Location - идти к координатам,
- Follow Entity - следовать за сущностью по UUID,
- Attack Entity - атаковать ближайших мобов, соответствующих предикату,
- Look Around - оглядываться (бездействие),
- Wait - ждать заданное время,
- Wander - случайно бродить в радиусе.
Для атаки можно задать условия через выражения: расстояние, здоровье, тип моба (например, $distance < 5 && $entity.health < 10).
Парсер выражений
Используется в действиях, целях и переменных. Поддерживает:
- операторы: +, -, *, /, ^, &&, ||, !, ==, !=, <, >, <=, >=,
- функции: sin, cos, sqrt, log, abs, round и другие,
- константы: PI, E,
- переменные:
$local.var,$instance.var,$global.var, а также специальные ($self.sneaking,$loop.index), - выполнение команд внутри выражения:
(/count players)- результат подставляется в выражение.
Команды
Основные:
/npc create- создать NPC,/npc edit- включить/выключить режим редактирования,/npc list- открыть список NPC,/npc tp <uuid>- телепортироваться к NPC,/npc tphere <uuid>- телепортировать NPC к себе,/npc reload- перезагрузить плагин,/npc config ...- управление настройками,/npc path ...- все команды для путей,/npc variable ...- управление глобальными переменными.
Конфигурация
Файл config.yml позволяет настроить:
look-at-update-interval- интервал обновления взгляда NPC (в тиках),avoid-command-check- отключить строгую проверку команд,debug- включить отладочный лог,input-time- таймаут ввода (в секундах),auto-update- автоматическое обновление NPC после изменений,placeholderTimer- интервал обновления плейсхолдеров.
Совместимость
Плагин работает на Spigot 1.17.1 - 1.21 и Paper 1.21 - 1.26.1.2. Для Paper есть отдельная сборка. Установка стандартная: jar в папку plugins, перезапуск сервера. После первого запуска можно настроить язык и конфиг.
NPC Plugin - это, по сути, must-have для серверов, где нужны интерактивные NPC без написания сложных скриптов. Всё делается через GUI и команды, а система выражений даёт гибкость для продвинутых сценариев. Если вы собираете сервер с квестами, магазинами или ролевыми элементами - присмотритесь к этому плагину.
