Extended Scripts: Расширение возможностей скриптинга в Minecraft с CustomNpc+
Модификация Extended Scripts создана как мощное дополнение к популярному моду CustomNpc+, который позволяет игрокам и разработчикам серверов создавать собственных неигровых персонажей, квесты и диалоги. Если вы уже знакомы с базовым функционалом CustomNpc+, то Extended Scripts откроет перед вами двери в мир продвинутого скриптинга, где ограничения стандартного API перестают быть преградой. Этот аддон не просто добавляет несколько новых функций — он переосмысливает подход к написанию скриптов, делая процесс более гибким и интуитивным.
Революция в скриптинге: ключевые возможности Extended Scripts
Главная цель мода — предоставить скриптерам инструменты, которые ранее были недоступны в CustomNpc+. Благодаря новому ключевому слову extAPI вы получаете доступ к обширной библиотеке вспомогательных функций. Вот лишь некоторые из них:
- createIEntity(String name) — позволяет создавать нестандартные сущности, такие как огненные шары, стрелы и другие неживые объекты, прямо из скрипта. Это открывает безграничные возможности для создания уникальных механик боя или головоломок.
- createCustomParticlePreset(int particleIndex) — упрощает работу с кастомной системой частиц CustomNpc+, используя текстуры из ванильного Minecraft. Теперь визуальные эффекты можно настраивать без глубокого погружения в сложные параметры.
- registerAttribute(String key, String displayName, char colorCode, int attributeType, int section) — функция для создания собственных визуальных атрибутов. Хотя логика их работы должна быть реализована через скрипты, они полностью интегрируются в интерфейс и отображаются вместе с другими характеристиками.
- getStringPixelWidth() — возвращает ширину текста в пикселях, что критически важно для точного центрирования элементов в кастомных оверлеях.
Кроме того, мод вводит удобные перечисления (enums), среди которых особенно полезен Key. Теперь в обработчике событий нажатия клавиш можно писать условия вида if (event.key == Key.K_V), что делает код чище и понятнее. Полный список доступных клавиш и других перечислений можно найти в документации.
Улучшенные оверлеи и кастомные проджектайлы
Extended Scripts значительно расширяет возможности работы с графическим интерфейсом. Функция IPlayer.getScreenResolution() возвращает данные о масштабированном разрешении экрана игрока, что позволяет создавать адаптивные оверлеи, корректно отображающиеся на любых мониторах. Больше не нужно гадать с размерами — скрипты могут динамически подстраиваться под конкретного пользователя.
Особого внимания заслуживает система кастомных проджектайлов. Теперь вы можете создавать собственные снаряды с уникальной отрисовкой, гравитацией, системами частиц и событиями onTick и onImpact. Это делает возможным реализацию сложных механик, таких как самонаводящиеся заклинания или особые стрелы с нестандартным поведением. Раньше подобное было доступно только для NPC, но теперь скриптеры получили полный контроль.
ShapeMaker и инструменты для предметов
Класс ShapeMaker добавляет набор функций для получения всех точек внутри заданных фигур, что идеально подходит для рисования сложных узоров из частиц. С его помощью можно создавать впечатляющие визуальные эффекты: круги, спирали, многоугольники и даже анимированные паттерны.
Для скриптовых предметов появилась долгожданная функция SetHarvestLevel(String toolClass, int level). Без неё инструменты, созданные через скрипты, не могли добывать блоки вроде камня или руды — они просто не выпадали. Теперь достаточно задать уровень добычи, и ваш кастомный предмет станет полноценным инструментом, работающим по всем правилам Minecraft.
Ещё одно полезное событие — hotbarSlotChanged(event). Оно срабатывает при переключении слотов на панели быстрого доступа, что особенно важно для предметов с временными эффектами. Например, если ваш меч даёт бафф при удержании, теперь вы можете мгновенно отключить его, как только игрок перестанет держать предмет в руке.
Нескриптовые улучшения: атрибуты, инспектор и глобальные файлы
Extended Scripts добавляет собственные кастомные атрибуты, такие как гравитация, ускорение плавания и скорость полёта. Их можно применять к игрокам через команду /veil attribute apply-player или скрипты, причём они не зависят от надетых предметов. Атрибуты полностью визуальны, но интегрированы в стандартный интерфейс просмотра характеристик. Создать свой уникальный атрибут можно двумя способами: через скриптовую функцию extAPI.registerAttribute() или командой /veil attribute с удобными подсказками по табуляции.
Для отладки и исследования мод предлагает предмет World Clippers, доступный во вкладке инструментов CustomNpc+. Кликнув по мобу или блоку левой/правой кнопкой, вы привязываете к нему клиппер. Затем команда /inspect target покажет все NBT-данные цели, что бесценно при поиске ошибок в скриптах. Дополнительные подкоманды вроде /inspect tp телепортируют к цели, а /inspect hand анализирует предмет в руке. Если данных слишком много, можно указать конкретные теги: /inspect target subtag1 subtag2, а флаг -k выведет только имена вложенных тегов.
Ещё одно удобное нововведение — глобальное копирование файлов. В папке customnpcs появилась директория global, содержимое которой автоматически копируется в локальную папку каждого нового мира. Это значит, что все ваши квесты, диалоги, анимации и скрипты могут быть сразу доступны на свежесозданной карте, экономя часы рутинной настройки.
Удобство для скриптеров: кейбинды и скриптовая броня
Каждый, кто создавал скриптовые предметы, сталкивался с проблемой: правый клик для тестирования активирует скрипт, мешая редактированию. Extended Scripts решает это добавлением отдельной клавиши (по умолчанию backslash), которая открывает интерфейс скриптинга для предмета без запуска его логики. Теперь отладка стала значительно комфортнее.
Скриптовая броня получила серьёзное обновление. Теперь предметы с валидным типом брони экипируются обычным кликом или шифт-кликом в инвентаре, как стандартная броня. Новый атрибут Armor Value добавляет реальные очки защиты, делая кастомную экипировку полноценной. По умолчанию скриптовые предметы отображаются на игроке, а цвет и текстуру можно менять. Для ещё большей кастомизации доступен оверлей брони, не зависящий от цвета — аналогично кожаной броне с окрашиванием. Событие armorDamaged позволяет реагировать на получение урона, когда предмет надет или находится в руке.
Установка и совместимость
Extended Scripts разработан для работы с версией CustomNpc+ 1.11.1. Использование других версий может вызвать ошибки, поэтому строго соблюдайте соответствие. Сам мод не требует сложных манипуляций: достаточно поместить его в папку mods вместе с зависимостью. Для быстрой и удобной установки можно воспользоваться лаунчером foxygame.net, который предлагает встроенный менеджер модов и автоматически подгружает все необходимые файлы, избавляя от ручного поиска зависимостей. Этот лаунчер также поддерживает гибкую настройку профилей и современный интерфейс, что делает процесс сборки модифицированной версии Minecraft максимально простым.
Заключение
Extended Scripts — это незаменимый инструмент для любого скриптера, работающего с CustomNpc+. Он не только упрощает написание кода, но и открывает принципиально новые горизонты: от кастомных проджектайлов и адаптивных оверлеев до глобального копирования файлов и удобной отладки. Если вы стремитесь создавать по-настоящему уникальные механики на своём сервере или в одиночной игре, этот аддон станет вашим верным помощником. Скачайте его, установите через удобный лаунчер вроде foxygame.net, и начните превращать свои идеи в реальность внутри кубического мира.
--- **Обновление 01.07.2026:** Добавлено 1 файл для версии 1.7.10 (Forge).