Перейти к основному содержимому

Создание предметов

webapp_banner.jpg

Создание пользовательских предметов

Что такое пользовательские предметы?

Пользовательские предметы - это предметы, определенные 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

Устанавливает, включен ли предмет. Не влияет на уже созданные предметы.

KeyValuesDefault
isEnabledtrue / falsetrue
Пример
isEnabled: true

material

Устанавливает материал предмета.

KeyValuesDefault
materialВыберите из этого списка!WOODEN_SWORD
Пример
material: DIAMOND_SWORD

level

Устанавливает уровень предмета.

KeyValuesDefault
levelInteger0

Обратите внимание, что эта настройка не имеет значения, если вы установили для предмета scalability значение scalable. Если вы установите значение limited, это будет максимально возможный уровень предмета.

Кроме того, материалы имеют минимальный уровень. Железные материалы имеют уровень 6, алмазные материалы - уровень 7. Вы не можете принудительно установить для предметов уровень ниже уровня материала.

Пример
level: 100

name

Устанавливает отображаемое название предмета.

KeyValuesDefault
nameString с цветовыми кодами"Default name"
Пример
name: "&2Cool item"

create_item_name.jpg


lore

Устанавливает описание предмета.

KeyValuesDefault
loreList с цветовыми кодамиnone
Пример
lore:
- "&2This is the coolest sword"
- "&2of all time!"

create_item_lore.jpg


enchantments

Устанавливает зачарования предмета.

KeyValuesDefault
enchantmentsList с зачарованиями Minecraft или пользовательскими зачарованиями EliteMobsnone

Обратите внимание, что эти записи следуют формату enchantmentName:enchantmentLevel. Проверьте пример ниже!

Пример
enchantments:
- "DAMAGE_UNDEAD,8"
- "DURABILITY,4"
- "DAMAGE_ALL,7"
- "LOUD_STRIKES,3"

create_item_enchantments.jpg

Также обратите внимание, что такие зачарования, как острота, по умолчанию становятся элитной остротой, если уровень начинает превышать лимиты vanilla Minecraft.


potionEffects

Устанавливает эффекты зелий, которые будет иметь предмет. Они могут быть применены к игроку или к сущности, поврежденной игроком.

KeyValuesDefault
potionEffectsList с эффектами зелий Minecraftnone

Кроме того, эффекты зелий используют специальный формат, который позволяет администраторам выбрать, кто будет затронут и когда:

SettingDescriptionValuesDefault
Potion effect levelУстанавливает уровень эффекта зелья. Эффекты зелий начинаются с уровня 0!Integernone
Affected entityУстанавливает, кто будет затронут эффектом зелья.self (игрок) / target (сущность, которая получает урон)none
Application methodУстанавливает, когда применяется эффект зелья.onHit / continuous (постоянно применяется заново)none

Формат для эффектов зелий: potionEffectName,potionEffectLevel,affectedEntity,applicationMethod. Последние два параметра (affectedEntity и applicationMethod) являются необязательными и по умолчанию имеют значения self и continuous, если не указаны. Проверьте пример ниже!

Длительность эффектов зелий:

  • Постоянные эффекты применяются повторно каждые 2 секунды, пока предмет удерживается или экипирован
  • Ночное видение получает специальную длительность 15 секунд
  • Эффекты при ударе используют длительность, основанную на конфигурации сервера

При осмотре предмета с эффектами зелий вы увидите значки, которые указывают, как применяется эффект:

  • ☠️ Череп – Нацелен на врагов.
  • 🛡️ Щит – Нацелен на пользователя/игрока.
  • ⚔️ Мечи – Активируется при ударе.
  • 🔄 Повторяющийся круг – Применяется постоянно, пока предмет носится или держится.

EliteMobs также имеет пользовательские предметы, которые функционируют как амулеты. Эти предметы ничего не делают, кроме предоставления эффектов зелий игроку, когда предмет держится в руке или экипирован в слот.

ВНИМАНИЕ: Использование эффекта зелья INSTANT_DAMAGE будет лечить нежить при ударе, так как это механика по умолчанию в vanilla Minecraft.

Пример
potionEffects:
- "POISON,0,target,onHit"
- "HEAL,1,self,onHit"
- "NIGHT_VISION,0,self,continuous"

create_item_potion_effects.jpg

С этим набором эффектов зелий произойдет следующее:

При ударе эффект зелья отравления (уровень 1) будет применен к сущности, которая была поражена игроком. Кроме того, игрок будет затронут эффектом мгновенного исцеления уровня 2.

Постоянно игроку будет даваться ночное видение. Это означает, что у игрока будет ночное видение до тех пор, пока он носит или держит предмет.


scalability

Устанавливает, как уровень предмета растет с уровнем босса, который его роняет.

KeyValuesDefault
scalabilityfixed, limited или scalable. Смотрите ниже!scalable

Проверьте этот список, чтобы понять, что делают различные опции!

SettingDescription
fixedУровень предмета всегда будет равен уровню, установленному в конфигурационном файле.
limitedМаксимальный уровень предмета будет ограничен тем, что установлено в конфигурационном файле, или уровнем босса, в зависимости от того, что ниже.
scalableУровень предмета будет полностью основан на уровне босса, который его роняет.

Обратите внимание, что предметы с dropWeight всегда будут иметь масштабируемость fixed.

Пример
scalability: "scalable"

itemType

Устанавливает, откуда можно получить предмет.

KeyValuesDefault
itemTypecustom или unique. Смотрите ниже!custom

Существует два типа предметов:

SettingDescription
customПредмет сможет выпасть с любого моба EliteMobs, способного ронять добычу, и будет в пользовательском магазине. `
uniqueПредмет не будет роняться никаким боссом и не будет в пользовательском магазине. Единственный способ получить его - настроить пользовательского босса, чтобы он ронял его через свой uniqueLootTable!
Пример
itemType: "unique"

dropWeight

Устанавливает таблицу добычи, в которую войдет предмет.

KeyValuesDefault
dropWeightdynamic или значение Double.dynamic

EliteMobs имеет 5 различных таблиц добычи для пользовательских предметов, за исключением тех, которые настроены напрямую, как uniqueLootList для пользовательских боссов.

Они следующие:

Loot tableDescriptionDefault weight
Procedurally generated itemsПредметы, которые генерируются случайным образом на основе конфигурационных файлов сервера90.0
Weighed itemsПредметы, которые имеют вес, отличный от dynamic1.0
Fixed itemsПредметы с фиксированной масштабируемостью10.0
Limited itemsПредметы с ограниченной масштабируемостью3.0
Scalable itemsПредметы, которые масштабируются6.0

Когда босс умирает, из этих таблиц выбирается один предмет на основе конфигурационного файла ItemSettings.yml. Значения по умолчанию для весов перечислены выше в Default weight. Чем выше вес, тем более вероятно выпадение предмета.

Weighed items имеют небольшой Default weight, что означает, что они не будут выпадать очень часто. Предметы с dropWeight, которые не являются dynamic, предназначены для того, чтобы быть редкими, и используются только в настройках по умолчанию для амулетов, которые роняют боссы - предметов, не используемых напрямую в бою, а скорее для усиления игроков с помощью эффектов зелий.

dropWeight, который вы устанавливаете здесь, устанавливает шанс выпадения конкретного Weighed item из списка Weighed items. Он не увеличивает шанс выпадения Weighed itemов.

Если вы запутались и просто хотите создавать оружие и броню, пропустите эту настройку, так как она правильно по умолчанию установлена на dynamic.

Weighed itemы обычно имеют вес 1.0.

Пример
dropWeight: "dynamic"

customModelID

Примечание: Эта настройка устарела. Используйте customModelV2 вместо неё для Minecraft 1.21.4+ (EliteMobs 9.1.13+).

Устанавливает текстуру предмета. Требует использования действительной текстуры из набора ресурсов!

KeyValuesDefault
customModelIDIntegernone
Пример
material: DIAMOND_SWORD
customModelID: 1

Это будет использовать пользовательскую текстуру 1 алмазных мечей из набора ресурсов, который использует игрок. Рекомендуется настроить ваш сервер так, чтобы он выдавал игрокам наборы ресурсов при входе, если вы хотите правильно использовать эту функцию.


customModelV2

Начиная с версии Minecraft 1.21.4 (EM 9.1.13), это новая обязательная настройка для конфигурации пользовательских ID моделей предметов. Устанавливает текстуру предмета. Требует использования действительной текстуры из набора ресурсов!

KeyValuesDefault
customModelV2Stringnone
Пример
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

Устанавливает отдельную модель для предмета при экипировке или ношении. Требует использования действительной текстуры из набора ресурсов!

KeyValuesDefault
equipmentModelIDStringnone
Пример
equipmentModelID: elitemobs:equipment/helmet_texture

Это устанавливает специфическую текстуру, которая появляется при ношении предмета, отдельно от внешнего вида предмета в инвентаре.


showSource

Устанавливает, отображает ли предмет информацию о своем источнике или происхождении в описании.

KeyValuesDefault
showSourceBooleantrue
Пример
showSource: false

При установке значения false предмет не будет отображать, откуда он был получен.


permission

Устанавливает разрешение, необходимое для получения предмета.

KeyValuesDefault
permissionStringnone

Вам понадобится плагин управления разрешениями, чтобы давать игрокам разрешения. Это будет работать корректно только в том случае, если вы не отключили зачарование soulbind.

Пример
permission: "elitemobs.cool.permission"

С этой настройкой только игроки с разрешением elitemobs.cool.permission смогут получить этот предмет.


soulbound

Устанавливает, должен ли предмет быть привязан к душе при выпадении.

KeyValuesDefault
soulboundBooleantrue
Пример
soulbound: true