跳到主要内容

创建物品

webapp_banner.jpg

创建自定义物品

什么是自定义物品?

自定义物品是由 EliteMobs 通过配置文件定义的物品。你可以自定义这些物品的多个方面,例如物品的等级、附魔、名称、说明文字(lore)、纹理等等!

Webapp

你可以 在这里 轻松快捷地创建自定义战利品!

在开始之前

自定义物品放在哪里?

自定义物品文件放入配置文件夹 ~/plugins/EliteMobs/customitems

可以创建子文件夹,例如 ~/plugins/EliteMobs/customitems/myitems。建议这样做以保持井然有序。

文件以 .yml 文件格式存储,进行配置工作时推荐使用 Notepad++ 作为文件编辑软件。一个文件定义一个 Boss,不过同一个 Boss 也可以被生成多次,甚至可以为同一个 Boss 文件设置多个生成位置。

你可以使用 webapp 来快速轻松地创建自定义 Boss 等内容。

最小可能配置

请注意,自定义物品最小可能的配置文件是:

注意这只是一个空文件。它会默认使用一把名为 "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

设置物品是否启用。不影响已经生成的物品。

默认值
isEnabledtrue / falsetrue
示例
isEnabled: true

material

设置物品的材质。

默认值
material从此列表中选择!WOODEN_SWORD
示例
material: DIAMOND_SWORD

level

设置物品的等级。

默认值
level整数0

请注意,如果你将物品的 scalability 设置为 scalable,则此设置无关紧要。如果你将其设置为 limited,那么这将是物品可能的最高等级。

此外,材质有一个最低等级。铁制材质为 6 级,钻石材质为 7 级。你无法强制物品的等级低于材质的等级。

示例
level: 100

name

设置物品的显示名称。

默认值
name颜色代码字符串"Default name"
示例
name: "&2Cool item"

create_item_name.jpg


lore

设置物品的说明文字(lore)。

默认值
lore颜色代码列表
示例
lore:
- "&2This is the coolest sword"
- "&2of all time!"

create_item_lore.jpg


enchantments

设置物品上的附魔。

默认值
enchantmentsMinecraft 附魔EliteMobs 自定义附魔列表

请注意,这些条目遵循 enchantmentName:enchantmentLevel 的格式。请查看下面的示例!

示例
enchantments: 
- "DAMAGE_UNDEAD,8"
- "DURABILITY,4"
- "DAMAGE_ALL,7"
- "LOUD_STRIKES,3"

create_item_enchantments.jpg

另请注意,像锋利(sharpness)这样的附魔,一旦等级开始超过原版 Minecraft 的上限,就会默认变为精英锋利(elite sharpness)。


potionEffects

设置物品将拥有的药水效果。这些效果可以施加到玩家身上,或施加到被玩家伤害的实体身上。

默认值
potionEffectsMinecraft 药水效果列表

此外,药水效果使用一种特定格式,允许管理员选择谁受到影响以及何时受到影响:

设置描述默认值
药水效果等级设置药水效果的等级。药水效果从 0 级开始整数
受影响的实体设置谁受到药水效果的影响。self(玩家)/ target(被击中的实体)
施加方式设置药水效果何时被施加。onHit / continuous(持续不断地重新施加)

药水效果的格式为 potionEffectName,potionEffectLevel,affectedEntity,applicationMethod。最后两个参数(affectedEntityapplicationMethod)是可选的,如果未指定,则默认为 selfcontinuous。请查看下面的示例!

药水效果持续时间:

  • 持续型效果会在物品被手持或装备期间每秒刷新一次(每次施加持续 2 秒,因此效果永不中断)
  • 夜视会获得 15 秒的特殊持续时间
  • 命中型效果使用基于服务器配置的持续时间

当查看一件带有 药水效果 的物品时,你会看到表明效果如何施加的图标:

  • ☠️ 骷髅 —— 以 敌人 为目标。
  • 🛡️ 盾牌 —— 以 使用者 / 玩家 为目标。
  • ⚔️ 双剑 —— 在 命中时 触发。
  • 🔄 循环圆环 —— 在物品被穿戴或手持期间 持续 施加。

EliteMobs 还提供作为护符(charm)的自定义物品。这些物品除了在被手持或装备到某个槽位时为玩家提供药水效果外,不做任何其他事情。

警告:使用 INSTANT_DAMAGE 药水效果会在命中时治疗亡灵怪物,因为这是原版 Minecraft 的默认机制。

示例
potionEffects: 
- "POISON,0,target,onHit"
- "HEAL,1,self,onHit"
- "NIGHT_VISION,0,self,continuous"

create_item_potion_effects.jpg

使用这组药水效果时,将会发生以下情况:

命中时,中毒药水效果(1 级)会施加到被玩家击中的实体身上。此外,玩家会受到一个 2 级的瞬间治疗药水效果的影响。

持续地,玩家会被赋予夜视。这意味着只要玩家穿戴或手持该物品,就会一直拥有夜视。


scalability

设置物品的等级如何随掉落它的 Boss 的等级而增长。

默认值
scalabilityfixedlimitedscalable。请查看下文!scalable

查看此列表以了解不同选项的作用!

设置描述
fixed物品等级将始终为配置文件中设定的等级。
limited物品的最高等级将受限于配置文件中设定的等级或 Boss 的等级,以两者中较低者为准。
scalable物品的等级将完全基于掉落它的 Boss 的等级。

请注意,带有 dropWeight 的物品将始终采用 fixed 缩放方式。

示例
scalability: "scalable"

itemType

设置你可以从何处获得该物品。

默认值
itemTypecustomuniquedroppable。请查看下文!custom

共有三种物品类型:

设置描述
custom该物品将能够从任何可掉落战利品的 EliteMobs 怪物处掉落,并会出现在自定义商店中。
unique该物品不会被任何 Boss 掉落,也不会出现在自定义商店中。获得它的唯一方法是通过 Boss 的 uniqueLootList 配置一个自定义 Boss 来掉落它!
droppable该物品像 custom 一样进入随机精英掉落池,但被排除在商店之外——玩家可以将其作为普通精英掉落物找到,但永远无法直接购买。适用于那些应当让人感到是凭本事赢得、但又不需要锁定到特定 Boss 的物品。
示例
itemType: "unique"

dropWeight

设置物品将归入的战利品表。

默认值
dropWeightdynamic 或一个 双精度 值。dynamic

EliteMobs 为自定义物品提供了 5 种不同的战利品表,不包括那些直接配置的,比如自定义 Boss 上的 uniqueLootList

它们如下:

战利品表描述默认权重
程序生成物品基于服务器配置文件随机生成的物品90.0
加权物品权重不为 dynamic 的物品1.0
固定物品采用 fixed 缩放方式的物品10.0
受限物品采用 limited 缩放方式的物品3.0
可缩放物品采用 scalable 缩放方式的物品6.0

当一个 Boss 死亡时,会根据 ItemSettings.yml 配置文件从这些表中选取一件物品。各权重的默认值已列在上面的 默认权重 中。权重越高,物品掉落的可能性就越大。

加权物品默认权重 很小,意味着它们不会很常掉落。dropWeight 不为 dynamic 的物品意在做得稀有,并且仅用于 Boss 所掉落护符的默认设置中——这类物品不直接用于战斗,而是通过药水效果为玩家提供增益。

你在此设置的 dropWeight 设定的是某件特定 加权物品加权物品 列表中掉落的几率。它并不会增加 加权物品 整体的掉落几率。

如果你感到困惑,只是想制作武器和盔甲,那么跳过这个设置即可,因为它会正确地默认为 dynamic

加权物品 通常权重为 1.0。

示例
dropWeight: "dynamic"

customModelID

注意: 此设置已被移除。它不再从配置文件中读取。请改用 customModelV2,自 Minecraft 1.21.4+(EliteMobs 9.1.13+)起,它是唯一被识别的模型 ID 设置。你配置文件中任何已有的 customModelID 条目都将被忽略。

设置物品的纹理。需要使用资源包中的有效纹理!

默认值
customModelID整数
示例(已不再可用)
material: DIAMOND_SWORD
customModelID: 1

此设置不再有效。请迁移到 customModelV2


customModelV2

从 Minecraft 1.21.4 版本(EM 9.1.13)起,这是配置自定义物品模型 ID 的新必需设置。 设置物品的纹理。需要使用资源包中的有效纹理!

默认值
customModelV2字符串
示例
customModelV2: elitemobs:equipment/magmaguys_toothpick

此设置为物品指定一个特定的纹理。它的工作原理如下:

  • elitemobs: 是资源包 assets 文件夹中的主目录。
  • equipmentassets/elitemobs/models 内部的一个子目录。
  • magmaguys_toothpick 是位于资源包中 assets/elitemobs/models/equipment 的模型文件。

在此示例中,模型文件的完整路径为: \.minecraft\resourcepacks\elitemobs_resource_pack\assets\elitemobs\models\equipment\magmaguys_toothpick.json

这将使用玩家所用 EliteMobs 资源包中的自定义纹理 magmaguys_toothpick。如果你想正确使用此功能,建议你将服务器设置为在玩家登录时给予他们资源包。


equipmentModelID

为物品在被装备或穿戴时设置一个单独的模型。需要使用资源包中的有效纹理!

默认值
equipmentModelID字符串
示例
equipmentModelID: elitemobs:equipment/helmet_texture

这设置了物品被穿戴时所显示的特定纹理,与物品在物品栏中的外观分开。


scriptedItem

将物品链接到一个 FreeMinecraftModels 脚本化物品。设置后,物品会获得 FMM 的 3D 模型和 Lua 脚本行为,同时保留 EliteMobs 的全部名称、说明文字、附魔、等级和灵魂绑定系统。

这需要在服务器上安装 FreeMinecraftModels。如果未安装 FMM,此设置会被静默忽略,物品将正常运作,但没有模型或脚本。

该值是 FMM 物品 ID —— 即 FMM models 文件夹中模型 YML 配置的文件名,不含 .yml 扩展名。例如,如果 FMM 在 plugins/FreeMinecraftModels/models/flame_blade.yml 处有一个模型配置,其中 material: IRON_SWORDscripts: [flame_blade.lua],那么你会将其引用为 flame_blade

当设置了 scriptedItem 时,它的优先级高于 customModelV2equipmentModelID —— EliteMobs 会跳过它自己的模型系统,转而使用 FMM 的模型。

默认值
scriptedItem字符串(FMM 物品 ID)
示例
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

设置物品是否在其说明文字中显示其来源或出处信息。

默认值
showSource布尔值true
示例
showSource: false

将此项设置为 false 后,物品将不会显示它是从何处获得的。


permission

设置获得该物品所需的权限。

默认值
permission字符串

你需要一个权限管理插件来给玩家分配权限。只有在你没有禁用灵魂绑定附魔的情况下,此项才能正常工作。

示例
permission: "elitemobs.cool.permission"

通过此设置,只有拥有权限 elitemobs.cool.permission 的玩家才能获得此物品。


soulbound

设置物品在掉落时是否应灵魂绑定。

默认值
soulbound布尔值true
示例
soulbound: true