Item Features
List of item features, these are the first thing you should set up on your item.
Starred features ⭐ are for premium version.
Material of the item
Info: The material of the Minecraft item of the Executable Item
Example: If I want the ExecutableItem to have a base item as DIAMOND then it would be
You can check the material list information on this link: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
If you want to setup as material of the item a custom head check this link https://docs.ssomar.com/executableitems/configurations/item-configuration/item-features#head-settings.
Name or DisplayName of the item
Info: The display name of the item. Its the visible name.
Example: If I would like my item to have as display name a red title "Epic Sword" then it would be
If you want to use on your display name HEX Colors you can do this:
You have to go to a site where it can help you to choose a color of your choice to get the hex color code. We recommend https://htmlcolorcodes.com/
Then pick the color of your choice and note down / copy the hex color of it. Reference
With that hex color code you have to add "#" at the beginning and that is what will be before what you want to color. #<HEX_COLOR_CODE><What you want to color>
Finally you will have something like
#DB6725&lPractice
and it will look with the color you selected in game.
Lore or description of the item
Info: The lore or description of the item
Example:
You can use placeholders in the lore. Just keep in mind if you use placeholders outside the plugin and then you add some new contents to the lore like custom enchants, custom text. If one of the placeholders refreshes then everything added outside Ssomar plugins will be deleted. To avoid this you will need not to refresh the lore, but that means that the placeholders will not be updated. You have to choose the one you prefer. To conclude: EXTRA THINGS IN THE LORE means NO REFRESH means NO custom placeholders of EI in the lore please.
To leave an empty space between lore lines you can add '' in the config file. If you are editing the lore inside Minecraft using the custom GUI you would need to use '&f' then.
Glowing effect (enchanted glowing)
Info: Boolean value that selects if gives the executable item a glow/enchanted effect look.
Example:
Disable the enchant glowing
Info: Its only available in 1.20.5 and above. Boolean value that forces the item to not have the glow effect even if it is enchanted.
Example:
TIP: You can also remove the glowing effect from some vanilla items such as the nether star for example.
Display conditions on the lore of the item
Info: It allows you to display conditions on the lore of the item.
Example:
Durability of the item
Info: Select the durability value of the item.
For versions 1.20.5— The durability value must be equal or below the maximum vanilla durability for the item selected.
Example:
For versions 1.20.5++ The durability option can be customized, enabling new features such as the sync of the usage of the ExecutableItem and the durability value. And allow to select custom max durability.
Example:
Enchantments of the item
Info: Sets the initial enchantments the executable item will have when given.
Example:
Unbreakable
Info: Boolean value that selects if the executable item will be unbreakable or not
Example:
Atributtes of the item feature (1.12++)
Info: You can select the attributes of the ExecutableItem.
Attribute: The type of attribute. List here https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/attribute/Attribute.html
UUID: Its a code that minecraft needs to assign the attribute modifiers. You can ignore it.
Name: Its the display name of the Attribute Modifier. Its useful for you to write what it does. It doesn't affect in anything more than visualizing it in the GUI.
Operation: Type of operation that the AttributeModifier will do. List here https://hub.spigotmc.org/javadocs/spigot/org/bukkit/attribute/AttributeModifier.Operation.html
Amount: The value for the AttributeModifier, it will be applied to the attribute using the operation selected.
Slot: The slot that the AttributeModifier will work on.
Example:
If you are using 1.12 version you will need to follow these steps:
This process requires the premium version of EI ⭐
Generate your item with attributes on a website. We suggest https://mapmaking.fr/give1.12/
Then give the item to yourself inside Minecraft
While holding it on your hand run the /ei create <id> command
And that's it ! Now your EI has the attributes imported automatically.
Keep default attributes
Info: Boolean value for keeping or not the default attribute of the item.
Example:
On this link there is a tutorial for attributes, and its features.
ignoreKeepDefaultAttributesFeature:
Info: It ignores the setting of keep default attributes. Its useful for the third case in this table explanation:
EI STONE_PICKAXE
keepDefaultAttributes YES
No other attributes
When in Main Hand:
3 attack damage (green)
1.2 attack speed (green)
EI STONE_PICKAXE
keepDefaultAttributes YES
No other attributes
When in Main Hand:
3 attack damage (green)
1.2 attack speed (green)
EI STONE_PICKAXE
keepDefaultAttributes NO
No other attributes
When in Main Hand
EI STONE_PICKAXE
keepDefaultAttributes NO
No other attributes
NOTHING
EI STONE_PICKAXE
keepDefaultAttributes YES
1 armor attribute
When in Main Hand:
+ 2 attack damage (blue)
-2.8 attack speed (red)
1 armor (blue)
EI STONE_PICKAXE
keepDefaultAttributes YES
1 armor attribute
When in Main Hand:
3 attack damage (green)
1.2 attack speed (green)
1 armor (blue)
EI STONE_PICKAXE
keepDefaultAttributes NO
1 armor attribute
When in Main Hand:
1 armor (blue)
EI STONE_PICKAXE
keepDefaultAttributes NO
1 armor attribute
When in Main Hand:
1 armor (blue)
Example:
⭐Custom model data (1.14++)
Info: Integer to set the value of the customModelData feature of the item. Useful to create different textures for an item.
Example:
Item Rarity features (1.20.5+)
Info: Rarity is a vanilla statistic applied to items and blocks to signify their value and ease in obtaining. It has no effect on gameplay whatsoever. There are four rarity tiers: Common, Uncommon, Rare, and Epic.
enableRarity: Boolean that represents if the feature is enabled or not
rarity: Type of rarity
Example:
Equippable features
Info: This section configures the behavior of an equippable item. When enabled, the item can be equipped into a designated slot, optionally triggering a sound effect. You can also specify a custom model for the equipped item, define whether it takes damage when the wearer is hurt, and set flags to allow or restrict swapping and disposal. Additionally, you can restrict which entities are allowed to equip the item.
enable: Set to true to enable equipping for this item
slot: The equipment slot (e.g., BODY, HEAD) where the item is equipped
enableSound: Boolean to play a sound when the item is equipped
sound: Sound effect to play when equipped
equipModel: Optional custom model for the equipped item (e.g., "mynamespace:mymodel")
cameraOverlay: Optional custom camera overlay when the item is equipped
isDamageableOnHurt: Boolean that selects if the item loses durability when the wearer is hurt
isDispensable: Boolean that selects if the item can be disposed of (removed/dropped)
isSwappable: Boolean that selects if the item can be swapped with another item
allowedEntities: List of entities permitted to equip this item
Example:
Repairable features
Info: Features related to when the ExecutableItem is reppaired.
enable: Boolean value that selects if the feature is enabled or not
repairCost: Integer value that represents the cost of repairing it on the Anvil
Example:
Glider
Info: Feature to allow gliding with the item as you would normally do with the vanilla item "elytra".
Example:
⭐itemModel
Info: Path of a custom item model on texture pack in the format of <mynamespace:model_id> that will target inside assets/<mynamespace>/models/item/<model_id>.
Example:
⭐tooltipModel
Info: Path of a custom tooltip model on texture pack in the format of <mynamespace:model_id> that will target inside assets/<mynamespace>/models/item/<model_id>.
Example:
Features related to the item dropped
Here you will learn about features that are only visible when the item is dropped on the ground.
Glowing on drop
Info: When the item is dropped, it has a glow effect
Example:
Glowing color when dropped
Info: If the item has glowEffect enabled then its possible to select the color of the glowing effect when dropped.
Possible colours: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/ChatColor.html
Example:
Display name when the item is dropped
Info: Select if the item will show the display name displayed as a floating text when it is dropped.
Example:
⭐ NBT Tags
Info: Requires the plugin NBTAPI available on Spigot. This features allows you to add your custom nbt tags inside your ExecutableItem.
type: The type of value you are storing e.g:
BOOLEAN: true | false
STRING: car
INTEGER: 6
DOUBLE: 17.6
COMPOUND: Example below, it will depend on your needs and what you want to add.
key: The string key that represents that nbt storage
value: Value of the NBT Tag you are adding
Example:
Bukkit tags
Info: You can add bukkit tag values to your ExecutableItem.
Example:
In game it will be represented in PublicBukkitValues, like this
Hiders Settings
Info: Settings related to hiding features that are normally shown on your ExecutableItem. All features even though they are hide will still be functional.
hideEnchantments: Boolean value that represents if the enchantments on the ExecutableItem will be displayed in the lore or not.
hideUnbreakable: Boolean value that represents if the unbreakable description will be shown in the lore or not.
hideAttributes: Boolean value that represents if the attributes of the ExecutableItem will be displayed in the lore or not.
hidePotionEffects: Boolean value that represents if the potion effects of the ExecutableItem will be displayed in the lore or not.
hideUsage: Boolean value that represents if the Usage custom feature from ExecutableItem plugin of the item itself will be displayed in the lore or not.
You can display manually the usage using %usage% placeholder adding it when editing your lore.
hideDye: Boolean value that represents if the dye color (#<color>) of the ExecutableItem will be displayed in the lore or not.
hideArmorTrim: Boolean value that represents if the armor trim of the ExecutableItem will be displayed in the lore or not.
hidePlacedOn: Boolean value that represents if the NBT Tag of "Can be placed on: [...]" of the ExecutableItem will be displayed in the lore or not.
hideDestroys: Boolean value that represents if the NBT Tag of "Can destroy: [...]" of the ExecutableItem will be displayed in the lore or not.
hideToolTip: Boolean value that represents if the tooltip is hide or not. (Only available in 1.20.5++)
Example:
Usage Settings
This section will explain what usage is and its features.
Usage
Info: Usage is a integer value stored inside your ExecutableItem, it can be modified through usageModification inside an activator or commands. But its not just a value stored, this was made to represent the "custom durability system" of your ExecutableItem, that means if somehow the usage gets to 0, your item is deleted.
Example:
An usage of 1 doesn't mean the item has one of durability, as we explained previously, its a custom system of durability. It will last as long as the usage doesn't reach 0. For example, if you add an activator to your item that has usageModification feature with value "-1" once the activator triggers one time, your item is gone.
Following up the same idea, we have usage 1, if we don't have activators that changes the usage of the item, our item will last infinitely, until again.. somehow either a command or a new activator added to the item, modifies the usage to a value equal or less than 0, then the item will be deleted.
Usage as we said, don't think like its just a durability system, because it can go up too ! . For example if we have an activator that instead of having a negative value on usageModification it has a positive value, then our usage will increase once the activator is triggered ^^
Now, if you want your item neither increase nor decrease, basically don't use this custom value storage. You can set the usage to -1.
⭐Usage limit
Info: Integer value that limits the upper amount the usage can reach. (Value cannot be 0)
Example:
Uses per day
Info: Integer value that limits how many times you can use the item each day In real life
Example:
Food Settings (1.20.5++)
Info: This feature allows you to customize food settings related to your ExecutableItem
nutrition: Integer value that represent amount of "half-food" it will fill the player once the item is eaten
For better understanding the player has 20 of nutrition max, and it is shown in-game as 10 hunger icons wich each icon able to split in 2.
saturation: Integer value that represents the saturation that the player will receive once the item is eaten.
isMeat: Boolean value that will make the item to be considered as food. This will be forced applied, that means, if you set this value to true, any item even the ones that can't be eaten will be considered as food, and so they will be consumable.
canAlwaysEat: Boolean value that represents if the item can always be eaten even when the player has his food bar full filled.
Example:
consumableFeatures
Info: Features related to consumable, it allows you to customize the consumable options, is closer to the food feature.
enable: Boolean that represents enabling or disabling the consumable features
animation: ANIMATION_TYPE that will be reproduced when eating/consuming the ExecutableItem
sound: SOUND that will be played when the item is being eaten/consumed
hasConsumeParticles: Boolean value that represents if the item will drop particles of being eaten
consumeSeconds: Amount of seconds the item gets to be eaten/consumed.
Example:
Potion Settings
Here you can customize the potion settings of your ExecutableItem if the material of the item is a potion.
Potion color
Info: Integer of MapInfo Color that represents a color. Use a page like https://www.tydac.ch/color/ to get the value of MapInfo from a color.
Example:
Potion type
Info: Potion Type you want the potion item to be. Its only visibility feature, it doesn't affect the real behavior of the potion. The list is available here https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionType.html
Example:
Potion effects
Info: Here you can create the potion effects your option will have
potionEffectType: PotionEffectType selected, list available here https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionEffectType.html
isAmbient: Boolean value that makes the potion to be ambient, that makes potion effect produce more, translucent, particles.
duration: Integer value of ticks (20 ticks = 1 second) which represents the duration of the potion effect.
amplifier: Integer value that represents the level/grade/strength of the potion effect. Amplifier 0 means level 1, amplifier 1 means level 2 and so on.
hasParticles: Boolean value that enables or disables showing effect particles around the player.
hasIcon: Boolean value that enables or disables showing the icon effect on the top right of the player screen.
Example:
Leather armor color
Info: If your ExecutableItem its an instance of leathers armors then here you can select a value of MapInfo Color that you can get from this website https://www.tydac.ch/color/ to change the color.
Example:
Head Settings
Here you can select configuration for the head settings, that means the custom head from a player head value or from a database.
If you don't have a plugin for head database (1.13++)
If you want to add a custom head for 1.13++ without having a plugin data base you can follow the next steps:
Set the material of the ExecutableItem to PLAYER_HEAD
Visit a custom head page, like this one https://minecraft-heads.com/custom-heads
Then get the Value of the head
Now copy that value and paste it inside the headValue feature of ExecutableItems
Example:
If you have the plugin Head Database (1.12++)
If you want to add a custom head for 1.12++ and you have the plugin head databases you can follow the next steps:
Open the GUI of your plugin and get the ID of the head you want
Then paste it inside the head features on headDBID
Example:
Here you have the links in case you don't have it and you want it.
Premium version: https://www.spigotmc.org/resources/head-database.14280/
whitelistedWorlds
Info: List of String of the names of the worlds you want to prevent or allow the players from using the ExecutableItem.
Example:
Store item info
Info: Boolean value that represents if it stores or not the information in the item itself. Currently it stores the feature of "owner". So if you want to use the placeholder of %owner% or the conditions related to owner you must have it enabled.
Example:
Owner features
canBeUsedOnlyByTheOwner
Info: Boolean value that represents if the item can only be used by the owner or not.
This only works if the store item info is turned on in order for the item to have an owner.
Example:
cancelEventIfNotOwner
Info: Boolean value that represents if the item is not used by the owner then all events are cancelled. This means, if the activator is, for example, PLAYER_BREAK_BLOCK if someone that is not the owner tries to use this item, he won't be able to break any block due all events will be cancelled.
This only works if the store item info is turned on in order for the item to have an owner.
Example:
onlyOwnerBlackListedActivators
Info: List of activators ID of your ExecutableItem, this is a blacklist list which disables the features enabled of canBeUsedOnlyByTheOwner, this means, all activators ID here that targets an activator of the ExecutableItem will be able to be used by everyone even if canBeUsedOnlyByTheOwner is on true.
This only works if the store item info is turned on in order for the item to have an owner.
Example:
cancelEventIfNoPermission
Info: Boolean value that represents if the player doesn't have the permission (ei.item.<id>) to use the item then all events are cancelled. This means, if the activator is, for example, PLAYER_BREAK_BLOCK if someone that doesn't have the permission to use this item to use this item, he won't be able to break any block due all events will be cancelled.
Keep item on death
Info: Boolean value that represents if the player will keep the item after the death or not.
Example:
Its compatible with WorldGuard keepInventory feature and Vanilla keepInventory gamerule
⭐Disable stack
Info: Boolean value that represents preventing or not for the ExecutableItem to be stacked. Setting this feature to true will make the customStackSize of this item to be 1.
Example:
⭐customStackSize (1.20.5 ++)
Info: Integer value to set the size of the stack of this item. It will override the current stack amount.
To understand it better, the vanilla diamond_sword has a stack size of 1, since it can't be stacked, with this feature you can increase this value. On other side, dirt has a stack size of 64, but with this you can decrease it, to for example, stack size of 20.
Example:
Variables Settings
Info: Variables are a way to store information inside your ExecutableItem. This allows to track amount, store positions, actually, you can store whatever you want. They help to create dynamic and customizable item behaviors, by that we mean that variables allow you to create unique behaviors for each item by storing and tracking data specific to that item. For example, you can track how many times a player has used a particular item or how many players they have killed with it.
variableName: Name of the variable, it will be used as reference with %var_<name>% to use it in the lore, inside commands, etc. This name can't be "id" or "usage" or have spaces.
type: VariableType of the variable, it can be the next types within examples of uses:
STRING: With this variable type you can store STRING values, such as words, numbers, letters, characters, etc. For example you can store the name of the last player hit. This type of variable doesn't support variableModification(type:MODIFICATION) increasing or decreasing the value. Its static unless its replaced with a variableModification(type:SET) which will override the old value.
NUMBER: With this variable type you can store FLOAT values, such as numbers. For example if you want to store the amount of blocks broken, the amount of kills, track the seconds before something happens, etc. This type of variable support variableModification(type:MODIFICATION) and variableModification(type:SET).
LIST: This variable is a list type variable that stores STRING values. Its useful to store a list of things, for example, have track of the clicked blocks and append them to this list, or append the killed players here, etc.
isRefreshableClean: Boolean value that enables the refresh clean. This allows to add custom lore lines and not being removed when the variable updates. Its recommended to have it on true.
Example
You can check more information on the next page about other type of variables:
Custom give first join Settings
Info: Here you can customize the feature of giving the item when the player join for the first time on the server.
giveFirstJoin: Boolean value that represents if the feature is enabled or not
giveFirstJoinAmount: Integer value that represents how many items will be given to the player of this ExecutableItem.
giveFirstJoinSlot: Slot where the ExecutableItem will be given to the player.
Example:
⭐Item Recognition Settings
Info: This features allows to make other items that are not the ExecutableItem as they were the ExecutableItem you are editing. Basically the idea is to work with recognitions, its a list of type of recognitions that if one of them matches between your ExecutableItem and another item (even if its not ExecutableItem) the features that the ExecutableItem has will be on the another item too. This works as long as its recognized following the recognitions requirements.
Available recognitions options:
NAME: This enable the recognition for all items that matches the custom name of the ExecutableItem
MATERIAL: This enable the recognition for all items that matches the material of the ExecutableItem
LORE: This enable the recognition for all items that matches the lore of the ExecutableItem
For example, if you create a diamond pickaxe ExecutableItem, that has an activator PLAYER_RIGHT_CLICK and on commands "SEND_MESSAGE I am a pickaxe" every time you right click it will send that message to the minecraft chat. Now, if you enable item recognition, let's say, for the material, now ALL diamond pickaxes on the server will trigger that activator and so the message will be displayed.
Example:
Example Scenarios:
If an EI item only has the item recognition of
MATERIAL
and is a DIAMOND, all the diamonds that exist in the server will behave as that EI itemIf an EI item only has the item recognition of
NAME
and is named "&dAngle", if you attempt to use any item with the name, "&dAngle", it will behave as the original EI item. BUT if the name was "&eAngle" or another name it will not work.If an EI item only has the item recognition of
LORE
, an item will only behave as the EI if the item EXACTLY has the same color codes on lore lines and every bit of capitalizing and lowercasing of letters and characters.If an EI item only has the item recognition of
MATERIAL
andNAME
, the items must have the EXACT NAME and MATERIAL of the EI item for the item to be considered as an EI item.
Keep in mind that if one of your ExecutableItems has item recognitions enabled on MATERIAL, then you shouldn't use more item recognitions based on MATERIAL for another ExecutableItem with the same MATERIAL. The reason is because if there are 2 ExecutableItems items with the recognition of MATERIAL enabled and both are DIAMOND_BLOCK, only the first one in the alphabetic order will be the one who will have the most priority in case someone triggers a DIAMOND_BLOCK.
Depending on the type of block
Container Features
Info: Here you can customize the container features if the block is an instance of container such as the chest and the barrel.
isLocked: Boolean value that represents if the container is locked or not
lockedName: String value that represents the key name if the container is locked. Its a feature of minecraft, if you have an item with the same name as the lockedName then you will be able to open the chest, otherwise not.
containerContent: List of materials inside the container when placed using the format of slot:<slot>;<material>
Example:
Tool Rules (1.20.5++)
Info: Here you can select the rules of the tools.
Enable
Info: Boolean value to select if the Tool Rules are enabled or not.
Example:
Default mining speed
Info: Float value to set the default mining speed of the ExecutableItem.
Example:
Damage per block break
Info: Integer value to set as the durability value which will be taken after the ExecutableItem breaks a block.
Example:
Specific tool rules
Info: You can select the mining speed, droppable for certain blocks with the ExecutableItem, in order of tool customization.
miningSpeed: Float value to set the minig speed of the ExecutableItem for the selected blocks on the tool rule.
correctForDrops: Boolean value that represents if the block will be dropped or not using the ExecutableItems.
blocks: List of BLOCKS to apply the tool rules to.
Example:
chargedProjectiles
Info: Feature that allows to have already charged projectiles when the ExecutableItem is a crossbow item and its given to the player.
The format of the material must be as
minecraft:<id>
. It supports vanilla items for now.
Example:
bundleContent
Info: Feature that allows to have already content items if the ExecutableItems is a bundle item and its given to the player.
The format of the material must be as
minecraft:<id>
. It supports vanilla items for now.
Example:
fireworkFeatures
Info: Feature that allows to have a customized firework features if the ExecutableItems is a firework item.
Example:
Last updated