Создание предметов
Создание Кастомных предметов
Что такое Кастомные предметы?
Кастомные предметы — это предметы, определённые EliteMobs через конфигурационные файлы. Вы можете настраивать несколько аспектов этих предметов, таких как уровень предмета, зачарования, имя, лор, текстура и многое другое!
Webapp
Вы можете легко и быстро создавать Кастомную добычу здесь!
Прежде чем начать
Куда помещаются Кастомные предметы?
Файлы кастомных предметов помещаются в конфигурационную папку ~/plugins/EliteMobs/customitems
Можно создавать подпапки, такие как ~/plugins/EliteMobs/customitems/myitems. Это рекомендуется для поддержания порядка.
Файлы хранятся в формате файлов .yml, и Notepad++ — рекомендуемое ПО для редактирования файлов при работе с конфигурацией. Один файл определяет одного босса, хотя можно спавнить одного и того же босса несколько раз и даже задавать несколько мест спавна для одного файла босса.
Можно использовать webapp, чтобы быстро и легко создавать кастомных боссов и многое другое.
Минимально возможная конфигурация
Обратите внимание, что минимально возможный конфигурационный файл для Кастомного предмета:
Обратите внимание, что это просто пустой файл. По умолчанию это будет деревянный меч под названием «Default name». Всё на этой странице необязательно!
Пример предмета
Давайте посмотрим на пример того, как выглядит файл предмета.
Пример
isEnabled: true
material: WOODEN_AXE
name: '&4Test item'
lore:
- This is a cool item
- It has cool lore
enchantments:
- DAMAGE_ALL,4
- FLAMETHROWER,1
potionEffects:
- FAST_DIGGING,0,self,onHit
- POISON,0,target,onHit
- GLOWING,0,self,continuous
dropWeight: dynamic
scalability: scalable
itemType: custom
Настройки Кастомного предмета
Ниже приведён список всего, что вы можете настроить для кастомных предметов:
isEnabled
Задаёт, включён ли предмет. Не влияет на уже сгенерированные предметы.
| Key | Values | Default |
|---|---|---|
isEnabled | true / false | true |
Пример
isEnabled: true
material
Задаёт материал предмета.
| Key | Values | Default |
|---|---|---|
material | Выберите из этого списка! | WOODEN_SWORD |
Пример
material: DIAMOND_SWORD
level
Задаёт уровень предмета.
| Key | Values | Default |
|---|---|---|
level | Integer | 0 |
Если оставить значение по умолчанию 0, EliteMobs выведет уровень из материала вместо использования фиксированного.
Учтите, что эта настройка не релевантна, если вы задаёте scalability предмета равной scalable, поскольку уровень тогда полностью берётся от босса. Если вы зададите её равной limited, это будет наивысший возможный уровень предмета.
У материалов брони также есть встроенная базовая защита, выраженная в виде уровня: кожа и золото считаются за 3, кольчуга — за 5, железо — за 6, алмаз — за 7, а незерит — за 8. Уровень, который вы задаёте здесь, всегда является тем, что хранится на предмете и показывается в его лоре, но задание его ниже собственного значения материала не даёт вообще никакого элитного бонуса к защите — деталь просто работает как обычный ванильный материал.
Пример
level: 100
name
Задаёт отображаемое имя предмета.
| Key | Values | Default |
|---|---|---|
name | String с цветовыми кодами | "Default name" |
Пример
name: "&2Cool item"
lore
Задаёт лор предмета.
| Key | Values | Default |
|---|---|---|
lore | List с цветовыми кодами | none |
Пример
lore:
- "&2This is the coolest sword"
- "&2of all time!"

enchantments
Задаёт зачарования на предмете.
| Key | Values | Default |
|---|---|---|
enchantments | List с зачарованиями Minecraft или Кастомными зачарованиями EliteMobs | none |
Учтите, что эти записи следуют формату enchantmentName,enchantmentLevel. Смотрите пример ниже!
Пример
enchantments:
- "DAMAGE_UNDEAD,8"
- "DURABILITY,4"
- "DAMAGE_ALL,7"
- "LOUD_STRIKES,3"

Также учтите, что зачарования вроде остроты (sharpness) по умолчанию становятся элитной остротой, если уровень начинает превышать лимиты ванильного Minecraft.
Имейте в виду, что предметы со scalable и limited перетасовывают уровни своих зачарований при каждом выпадении. Общее количество уровней зачарований, которое вы настроили, сохраняется, но случайным образом перераспределяется между перечисленными вами зачарованиями, поэтому две копии одного и того же предмета могут получить разные разбивки. Только предметы со scalability равной fixed всегда используют точные уровни, записанные в файле.
potionEffects
Задаёт эффекты зелий, которые будет иметь предмет. Они могут применяться к игроку или к сущности, получившей урон от игрока.
| Key | Values | Default |
|---|---|---|
potionEffects | List с эффектами зелий Minecraft | none |
Кроме того, эффекты зелий используют особый формат, который позволяет администраторам выбирать, на кого и когда влияет эффект:
| Setting | Description | Values | Default |
|---|---|---|---|
| Уровень эффекта зелья | Задаёт уровень эффекта зелья. Эффекты зелий начинаются с уровня 0! | Integer | none |
| Затрагиваемая сущность | Задаёт, на кого влияет эффект зелья. | self (игрок) / target (сущность, по которой ударили) | none |
| Метод применения | Задаёт, когда применяется эффект зелья. | onHit / continuous (постоянно применяется заново) | none |
Формат для эффектов зелий — potionEffectName,potionEffectLevel,affectedEntity,applicationMethod. Последние два параметра (affectedEntity и applicationMethod) необязательны и по умолчанию равны self и continuous, если не указаны. Смотрите пример ниже!
Длительность эффектов зелий:
- Постоянные эффекты обновляются каждую секунду, пока предмет держится или надет (каждое применение длится 2 секунды, поэтому эффект никогда не прерывается)
- Ночное зрение получает особую длительность 15 секунд
- Эффекты при ударе используют длительности на основе конфигурации сервера
При осмотре предмета с эффектами зелий вы увидите значки, указывающие, как применяется эффект:
- ☠️ Череп — нацелен на врагов.
- 🛡️ Щит — нацелен на пользователя/игрока.
- ⚔️ Мечи — активируется при ударе.
- 🔄 Повторяющийся круг — применяется постоянно, пока предмет надет или держится.
EliteMobs также включает кастомные предметы, функционирующие как обереги. Эти предметы не делают ничего другого, кроме как дают игроку эффекты зелий, пока предмет держится или экипирован в слоте.
ПРЕДУПРЕЖДЕНИЕ: использование эффекта зелья INSTANT_DAMAGE будет исцелять мобов-нежить при попадании, поскольку это стандартная механика в ванильном Minecraft.
Эффекты, которые не работают:
ABSORPTIONиHEALTH_BOOSTполностью пропускаются системой эффектов зелий на предметах. Они никогда не применяются, независимо от того, задали ли вы имcontinuousилиonHit.LEVITATION,SLOWNESSиBLINDNESS, применяемые кtargetпри ударе, игнорируются, когда сущность, по которой вы ударили, является элитным мобом с множителем здоровья выше 1, что охватывает практически всех Кастомных боссов. На обычных элитных мобах и на ванильных мобах они по-прежнему работают.
Пример
potionEffects:
- "POISON,0,target,onHit"
- "HEAL,1,self,onHit"
- "NIGHT_VISION,0,self,continuous"

С этим набором эффектов зелий будет происходить следующее:
При ударе эффект зелья яда (уровень 1) будет применён к сущности, по которой ударил игрок. Кроме того, игрок будет затронут эффектом мгновенного исцеления 2-го уровня.
Постоянно игрок будет получать ночное зрение. Это означает, что у игрока будет ночное зрение до тех пор, пока он носит или держит предмет.
scalability
Задаёт, как уровень предмета растёт с уровнем босса, который его роняет.
| Key | Values | Default |
|---|---|---|
scalability | fixed, limited или scalable. Смотрите ниже! | scalable |
Изучите этот список, чтобы понять, что делают разные варианты!
| Setting | Description |
|---|---|
fixed | Уровень предмета всегда будет равен уровню, заданному в конфигурационном файле. |
limited | Максимальный уровень предмета будет ограничен заданным в конфигурационном файле или уровнем босса, в зависимости от того, что меньше. |
scalable | Уровень предмета будет полностью основан на уровне босса, который его роняет. |
Учтите, что у предметов с dropWeight всегда будет fixed scalability.
Пример
scalability: "scalable"
itemType
Задаёт, откуда вы можете получить предмет.
| Key | Values | Default |
|---|---|---|
itemType | custom, unique или droppable. Смотрите ниже! | custom |
Есть три типа предметов:
| Setting | Description |
|---|---|
custom | Предмет сможет выпадать с любого моба EliteMobs, способного ронять добычу, и будет в кастомном магазине. |
unique | Предмет не будет ронять ни один босс, и его не будет в кастомном магазине. Единственный способ получить его — настроить Кастомного босса на его дроп через его uniqueLootList! |
droppable | Предмет попадает в пул случайного элитного дропа так же, как custom, но исключается из магазинов — игроки могут найти его как обычный элитный дроп, но никогда не могут просто купить. Полезно для предметов, которые должны ощущаться заработанными, но не обязаны быть привязаны к конкретному боссу. |
Пример
itemType: "unique"
dropWeight
Задаёт таблицу добычи, в которую попадёт предмет.
| Key | Values | Default |
|---|---|---|
dropWeight | dynamic или значение Double. | dynamic |
В EliteMobs есть 5 разных таблиц добычи для кастомных предметов, не считая тех, что настраиваются напрямую, как uniqueLootList на Кастомных боссах.
Они таковы:
| Loot table | Description | Default weight |
|---|---|---|
| Процедурно сгенерированные предметы | Предметы, генерируемые случайно на основе конфигурационных файлов сервера | 90.0 |
| Взвешенные предметы | Предметы, у которых вес отличается от dynamic | 1.0 |
| Фиксированные предметы | Предметы с фиксированной (fixed) scalability | 10.0 |
| Ограниченные предметы | Предметы с ограниченной (limited) scalability | 3.0 |
| Масштабируемые предметы | Предметы, которые масштабируемы (scalable) | 6.0 |
Когда босс умирает, один предмет из этих таблиц выбирается на основе конфигурационного файла ItemSettings.yml. Значения по умолчанию для весов указаны выше в Default weight. Чем выше вес, тем вероятнее, что предмет выпадет.
У Взвешенных предметов маленький Default weight, то есть они будут выпадать не очень часто. Предметы с dropWeight, отличным от dynamic, задуманы редкими и используются только в значениях по умолчанию для оберегов, которые роняют боссы, — предметов, используемых не для прямого боя, а скорее для усиления игроков эффектами зелий.
dropWeight, который вы здесь задаёте, задаёт шанс выпадения конкретного Взвешенного предмета из списка Взвешенных предметов. Он не увеличивает шанс выпадения Взвешенных предметов.
Если вы запутались и просто хотите делать оружие и броню, пропустите эту настройку, так как она корректно по умолчанию равна dynamic.
Взвешенные предметы обычно имеют вес 1.0.
Учтите, что задание числового dropWeight принудительно помещает предмет в пулы фиксированного и взвешенного дропа, даже если его itemType равен unique. Если вам нужен предмет только для босса, оставьте dropWeight равным dynamic.
Пример
dropWeight: "dynamic"
customModelID
Примечание: эта настройка была удалена. Она больше не читается из конфигурационных файлов. Используйте customModelV2 вместо неё — это единственная настройка ID модели, распознаваемая начиная с Minecraft 1.21.4+ (EliteMobs 9.1.13+). Любые существующие записи customModelID в ваших конфигурационных файлах будут проигнорированы.
Задаёт текстуру предмета. Требует использования валидной текстуры из ресурс-пака!
| Key | Values | Default |
|---|---|---|
customModelID |
Пример (больше не работает)
material: DIAMOND_SWORD
customModelID: 1
Эта настройка больше не работает. Перейдите на customModelV2 вместо неё.
customModelV2
Начиная с версии Minecraft 1.21.4 (EM 9.1.13), это новая обязательная настройка для конфигурации ID кастомных моделей предметов. Задаёт текстуру предмета. Требует использования валидной текстуры из ресурс-пака!
| Key | Values | Default |
|---|---|---|
customModelV2 | String | none |
Автоматические уровни скинов: если вы оставите незаданными и эту настройку, и equipmentModelID, EliteMobs применит собственные скины на основе уровня из ресурс-пака EliteMobs. Уровень выбирается по уровню предмета:
| Минимальный уровень предмета | Уровень скина |
|---|---|
20 | bronze |
40 | palladium |
60 | corrupted |
80 | living |
100 | ultimatium |
Предметы ниже 20 уровня не получают скина уровня. Уровни применяются только к мечам, топорам, мотыгам (которые отрисовываются как косы), лукам, арбалетам, шлемам, нагрудникам, поножам и ботинкам. Трезубцы намеренно исключены.
Задание либо customModelV2, либо equipmentModelID выводит предмет из этой автоматической системы: заданный вами ключ используется как есть, а тот, который вы не задали, откатывается к модели уровня для уровня предмета. Предметы, использующие собственные ключи моделей, также пропускают ванильное масштабирование атрибутов, применяемое системой уровней, — это влияет только на ванильные числа урона от атаки, скорости атаки, брони, прочности и сопротивления отбрасыванию, а не на собственные значения урона и защиты EliteMobs.
Пример
customModelV2: elitemobs:equipment/magmaguys_toothpick
Эта настройка назначает предмету конкретную текстуру. Вот как это работает:
elitemobs:— основной каталог в папкеassetsресурс-пака.equipment— подкаталог внутриassets/elitemobs/models.magmaguys_toothpick— файл модели, расположенный вassets/elitemobs/models/equipmentв ресурс-паке.
Полный путь к файлу модели в этом примере был бы:
\.minecraft\resourcepacks\elitemobs_resource_pack\assets\elitemobs\models\equipment\magmaguys_toothpick.json
Это будет использовать кастомную текстуру magmaguys_toothpick из ресурс-пака EliteMobs, который использует игрок. Рекомендуется настроить сервер на выдачу игрокам ресурс-паков при входе, если вы хотите использовать эту функцию правильно.
equipmentModelID
Задаёт отдельную модель для предмета, когда он экипирован или надет. Требует использования валидной текстуры из ресурс-пака!
| Key | Values | Default |
|---|---|---|
equipmentModelID | String | none |
Как и в случае с customModelV2, задание этого ключа выводит предмет из автоматических уровней скинов на основе уровня.
Пример
equipmentModelID: elitemobs:equipment/helmet_texture
Это задаёт конкретную текстуру, появляющуюся, когда предмет надет, отдельно от вида предмета в инвентаре.
scriptedItem
Связывает предмет со скриптовым предметом FreeMinecraftModels. Когда задано, предмет получает 3D-модель FMM и поведение Lua-скрипта, сохраняя при этом все системы имени, лора, зачарований, уровня и привязки к душе из EliteMobs.
Это требует установленного на сервере FreeMinecraftModels. Если FMM не установлен, эта настройка молча игнорируется, и предмет функционирует нормально без модели или скрипта.
Значение — это ID предмета FMM, то есть имя файла YML-конфигурации модели в папке models FMM, без расширения .yml. Например, если у FMM есть конфигурация модели в plugins/FreeMinecraftModels/models/flame_blade.yml с material: IRON_SWORD и scripts: [flame_blade.lua], вы бы сослались на неё как на flame_blade.
Когда задано scriptedItem, оно имеет приоритет над customModelV2 и equipmentModelID — EliteMobs пропустит свою собственную систему моделей и использует модель FMM вместо неё.
| Key | Values | Default |
|---|---|---|
scriptedItem | String (ID предмета FMM) | none |
Пример
material: IRON_SWORD
name: "&cFlame Blade"
lore:
- "&7Burns with eternal fire"
enchantments:
- "FIRE_ASPECT,2"
- "DAMAGE_ALL,5"
scalability: scalable
scriptedItem: flame_blade
В этом примере:
- EliteMobs контролирует имя предмета, лор, зачарования, масштабирование уровня и поведение привязки к душе
- FMM предоставляет 3D-модель предмета и выполняет скрипт
flame_blade.lua(например, эффекты частиц при экипировке, кастомное поведение атаки) material: IRON_SWORDиспользуется EliteMobs как базовый тип предмета
showSource
Примечание: эта настройка в настоящее время ничего не делает. Ключ по-прежнему читается из конфигурационного файла без ошибок, но ни одна часть плагина не читает полученное значение, поэтому установка его в false не скроет лор с источником предмета.
Появляется ли строка источника вообще, вместо этого контролируется плейсхолдером $itemSource в списке itemLoreStructureV2 файла ItemSettings.yml. Уберите этот плейсхолдер, чтобы убрать строку источника со всех элитных предметов.
| Key | Values | Default |
|---|---|---|
showSource | Boolean | true |
permission
Задаёт право, необходимое для получения предмета.
| Key | Values | Default |
|---|---|---|
permission | String | none |
Вам понадобится плагин управления правами, чтобы выдавать игрокам права.
Право проверяется только в момент, когда предмет генерируется или выпадает для игрока. Ничто не перепроверяет узел впоследствии, поэтому обмен или выбрасывание предмета всё ещё может передать его игроку, у которого нет этого права. Практичный способ этому помешать — оставить включённой настройку soulbound.
Пример
permission: "elitemobs.cool.permission"
С этой настройкой только игроки с правом elitemobs.cool.permission смогут получить этот предмет.
soulbound
Задаёт, должен ли предмет быть привязан к душе при дропе.
| Key | Values | Default |
|---|---|---|
soulbound | Boolean | true |
Пример
soulbound: true
Тестирование вашего предмета
Две админские команды генерируют настроенный предмет по запросу, что избавляет от необходимости фармить босса каждый раз, когда вы правите файл:
| Команда | Что она делает |
|---|---|
/em loot give <player> <filename> | Выдаёт предмет с уровнем, записанным в его конфигурационном файле. |
/em loot reward <player> <filename> | Выдаёт предмет, отмасштабированный под боевой уровень целевого игрока. |
Обе требуют право elitemobs.loot.admin.
