Skip to main content

Creating Items

webapp_banner.jpg

Creating Custom Items

What are Custom Items?

Custom Items are items as defined by EliteMobs through configuration files. You can customize several aspects about these items, such as the level of the item, the enchantments, name, lore, texture and more!

Webapp

You can easily and quickly create Custom Loot here!

Before you begin

Where do Custom Items go?

Custom item files go into the configuration folder ~/plugins/EliteMobs/customitems

It is possible to create subfolders, such as ~/plugins/EliteMobs/customitems/myitems. This is recommended to keep things organized.

Files are stored in the .yml file format and Notepad++ is the recommended file editing software for configuration work. One file defines one boss, though it is possible to spawn the same boss several times and even set several spawn locations for the same boss file.

It is possible to use the webapp to quickly and easily create custom bosses and more.

Smallest possible configuration

Please note that the smallest possible configuration file for a Custom Item is:

Note how this is just an empty file. This will default to using a wooden sword called "Default name". Everything in this page is optional!

Example item

Let's take a look at an example of what an item file looks like.

Example
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

Custom Item settings

The following is a list of all the things you can configure for custom items:


isEnabled

Sets if the item is enabled. Does not affect items that have already been generated.

KeyValuesDefault
isEnabledtrue / falsetrue
Example
isEnabled: true

material

Sets the item material.

KeyValuesDefault
materialPick from this list!WOODEN_SWORD
Example
material: DIAMOND_SWORD

level

Sets the item level.

KeyValuesDefault
levelInteger0

Note that this setting isn't relevant if you set the item scalability to be scalable. If you set it to be `limited, this will be the highest possible level of the item.

Also, materials have a minimum level. Iron materials are level 6, diamond materials are level 7. You can't force items to be lower level than the material's level.

Example
level: 100

name

Sets the display name of the item.

KeyValuesDefault
nameString with color codes"Default name"
Example
name: "&2Cool item"

create_item_name.jpg


lore

Sets the lore of the item.

KeyValuesDefault
loreList with color codesnone
Example
lore:
- "&2This is the coolest sword"
- "&2of all time!"

create_item_lore.jpg


enchantments

Sets the enchantments on the item.

KeyValuesDefault
enchantmentsList with Minecraft enchantments or EliteMobs Custom Enchantmentsnone

Note that these entries follow the format enchantmentName:enchantmentLevel. Check the example below!

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

create_item_enchantments.jpg

Also note that enchantments like sharpness become elite sharpness by default if the level start going over vanilla Minecraft limits.


potionEffects

Sets the potion effects the item will have. These can be applied to the player or to an entity damaged by the player.

KeyValuesDefault
potionEffectsList with Minecraft potion effectsnone

Furthermore, potion effects use a specific format that allows admins to select who gets affected and when:

SettingDescriptionValuesDefault
Potion effect levelSets the level of the potion effect. Potion effects start at level 0!Integernone
Affected entitySets who gets affected by the potion effect.self (the player) / target (entity that gets hit)none
Application methodSets when the potion effect gets applied.onHit / continuous (constantly reapplies)none

The format for potion effects is potionEffectName,potionEffectLevel,affectedEntity,applicationMethod. The last two parameters (affectedEntity and applicationMethod) are optional and default to self and continuous if not specified. Check the example below!

Potion Effect Durations:

  • Continuous effects are reapplied every 2 seconds while the item is held or equipped
  • Night Vision receives a special duration of 15 seconds
  • On-Hit effects use durations based on server configuration

When examining an item with potion effects, you will see icons that indicate how the effect is applied:

  • ☠️ Skull – Targets enemies.
  • 🛡️ Shield – Targets the user/player.
  • ⚔️ Swords – Activates on hit.
  • 🔄 Repeating Circle – Applies continuously while the item is worn or held.

EliteMobs also features custom items that function as charms. These items do nothing else but provide potion effects to the player when the item is being held or is equipped in a slot.

WARNING: Using the INSTANT_DAMAGE potion effect will heal undead mobs upon impact, as this is a default mechanic in vanilla Minecraft.

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

create_item_potion_effects.jpg

With this set of potion effects, the following things will happen:

On hit, the poison potion effect (level 1) will be applied to the entity that got hit by the player. Additionally, the player will be affected by a level 2 instant heal potion effect.

Continuously, the player will be given night vision. This means that the player will have night vision for as long as they are wearing or holding the item.


scalability

Sets how the level of the item grows with the level of the boss that drops it.

KeyValuesDefault
scalabilityfixed, limited or scalable. Check below!scalable

Check this list to understand what the different options do!

SettingDescription
fixedThe item level will always be the level set in the configuration file.
limitedThe max item level will be limited by the one set in the configuration file or the level of the boss, whichever is lowest.
scalableThe level of the item will be entirely based on the level of the boss that drops it.

Note that items with a dropWeight will always have a fixed scalability.

Example
scalability: "scalable"

itemType

Sets where you can obtain the item from.

KeyValuesDefault
itemTypecustom or unique. Check below!custom

There are two item types:

SettingDescription
customThe item will be able to drop from any EliteMobs mob able to drop loot, and will be in the custom shop. `
uniqueThe item will not be dropped by any boss and will not be in the custom shop. The only way to obtain it is by configuring a Custom Boss to drop it through its uniqueLootTable!
Example
itemType: "unique"

dropWeight

Sets the loot table the item will fit into.

KeyValuesDefault
dropWeightdynamic or an Double value.dynamic

EliteMobs has 5 different loot tables for custom items, excluding the ones configured directly like the uniqueLootList on Custom Bosses.

These are as follows:

Loot tableDescriptionDefault weight
Procedurally generated itemsItems that are randomly generated based on server configuration files90.0
Weighed itemsItems that have a weight other than dynamic1.0
Fixed itemsItems that have a fixed scalability10.0
Limited itemsItems that have limited scalability3.0
Scalable itemsItems that are scalable6.0

When a boss dies, one item from these tables is selected based on the ItemSettings.yml configuration file. The defaults for the weights are listed above in Default weight. The higher the weight, the more likely an item is to drop.

Weighed items have a small Default weight, meaning they will not drop very often. Items with a dropWeight that is not dynamic are meant to be rare and are only used in the defaults for the charms bosses drop - items not used directly for combat, but rather for buffing players with potion effects.

The dropWeight you set here sets the chance of a specific Weighed item dropping from the list of Weighed items. It does not increase the chance of Weighed items dropping.

If you are confused and just want to make weapons and armor, skip this setting as it correctly defaults to be dynamic.

Weighed items usually have a weight of 1.0.

Example
dropWeight: "dynamic"

customModelID

Note: This setting is deprecated. Use customModelV2 instead for Minecraft 1.21.4+ (EliteMobs 9.1.13+).

Sets the texture of the item. Requires using a valid texture from the resource pack!

KeyValuesDefault
customModelIDIntegernone
Example
material: DIAMOND_SWORD
customModelID: 1

This will use the custom texture 1 of diamonds swords from the resource pack the player is using. It is recommended you set your server up to give players resource packs on login if you want to use this feature correctly.


customModelV2

Starting with Minecraft version 1.21.4 (EM 9.1.13), this is the new required setting for configuring custom item model IDs. Sets the texture of the item. Requires using a valid texture from the resource pack!

KeyValuesDefault
customModelV2Stringnone
Example
customModelV2: elitemobs:equipment/magmaguys_toothpick

This setting assigns a specific texture to an item. Here’s how it works:

  • elitemobs: is the main directory in the resource pack's assets folder.
  • equipment is a subdirectory inside assets/elitemobs/models.
  • magmaguys_toothpick is the model file located in assets/elitemobs/models/equipment in the resource pack.

The full path to the model file in this example would be: \.minecraft\resourcepacks\elitemobs_resource_pack\assets\elitemobs\models\equipment\magmaguys_toothpick.json

This will use the custom texture magmaguys_toothpick from the EliteMobs resource pack the player is using. It is recommended you set your server up to give players resource packs on login if you want to use this feature correctly.


equipmentModelID

Sets a separate model for the item when equipped or worn. Requires using a valid texture from the resource pack!

KeyValuesDefault
equipmentModelIDStringnone
Example
equipmentModelID: elitemobs:equipment/helmet_texture

This sets a specific texture that appears when the item is worn, separate from the item's inventory appearance.


showSource

Sets whether the item displays its source or origin information in the lore.

KeyValuesDefault
showSourceBooleantrue
Example
showSource: false

With this set to false, the item will not display where it was obtained from.


permission

Sets the permission required in order to obtain the item.

KeyValuesDefault
permissionStringnone

You will need a permission management plugin to give players permissions. This will only work correctly if you have not disabled the soulbind enchantment.

Example
permission: "elitemobs.cool.permission"

With this setup, only players with the permission elitemobs.cool.permission will be able to obtain this item.


soulbound

Sets if the item should be soulbound on drop.

KeyValuesDefault
soulboundBooleantrue
Example
soulbound: true