Skip to main content

🛠️ Создаём НИПа

Шаблон

Прежде всего, у вас есть 2 способа получить Персонажа для дальнейшего использования.

Создать нового персонажа

Шаблон для создания Персонажа

Этот шаблон включает в себя все параметры, которые поддерживаются при создании Персонажа, они все не обязательные, оставляйте только те, которые будете менять:

val <npcID> by NPCEntity.creating {
name = "<name>" // Имя персонажа
model = "modid:path/to/model.gltf" // Путь к модели. Указывается в формате ResourceLocation.
textures["<original_texture>"] = "<new_texture>.png" // Устанавливает текстуру для модели. Примечание: получить оригинальные имена текстур можно командой `/hollowengine model <модель>`
animations[AnimationType.<animationID>] = "<animationName>" // Замена автоматически определённой анимации на свою (кастомную, другую)

// Атрибуты или же характеристики, вроде здоровья или защиты.
//Их можно получить через команду `/attribute <player>`
attributes = Attributes(
"<attribute>" to <значение>, // Если атрибутов больше одного, то не забывайте запятые. Типы аргуметов: String и Float.
)

size = <width> to <height> // Размер хитбокса. Тип аргуметов: Float.
showName = <false/true> // Отображение Ника НПС над его головой

transform = Transform( // Изменить Отображение модели (все параметры можно указать по имени и все они не обязательны)
tX = <значение>, tY = <значение>, tZ = <значение>, // Смещение | X, Y, Z
rX = <значение>, rY = <значение>, rZ = <значение>, // Поворот | X, Y, Z
sX = <значение>, sY = <значение>, sZ = <значение> // Размер | X, Y, Z
) // Все параметры имеют тип: Float

switchHeadRot = <false/true> // Меняет оси координат головы местами, используйте если голова поворачивается неправильно

world = "<dimensionID>" // Измерение, в котором должен появится НИП
pos = pos(<x>, <y>, <z>) // Позиция спавна. Все значения должны быть либо Целые, либо НЕ целые!
rotation = vec(<pitch>, <yaw>) // Поворот головы
}

Примечания:

  • textures - Поддерживает png и gif формат. Указывайте название текстуры без .png которая находится уже на НИПе.

Создать НИПа

настройка
Базовый НИП
// Для спавна базового NPC, будет достаточно указать: Имя и Позиция
val npc by NPCEntity.creating{
// name = "Николай"
pos = pos(0, -57, 0) // Если будет pos(<int>, <double>, <int>) - работать не будет
}

Базовый НИП


Получить существующего Персонажа

Если в мире уже есть нужный вам персонаж или вы создали его с помощью инструмента (см. вкладку мода), то получить его можно или по UUID или по Имени

val npc by NPCEntity.finding { uuid="<UUID вашего нпс>" }

val npc by NPCEntity.finding { name="<Имя вашего нпс>" }

Если нпс будет не найден, то скрипт будет мгновенно завершён с ошибкой.

Примеры

val jeka by NPCEntity.creating{
name = "Жека Хот-дог"
pos = pos(0, 54, 0)
}