⚔️ ExecutableItems ⭐ Create Custom Items with Abilities & Skills ✅

MC Plugin ⚔️ ExecutableItems ⭐ Create Custom Items with Abilities & Skills ✅ 7.26.10.20
Create custom items with 100+ triggers, in-game editor, and 120+ premade items. Supports 1.8 - 26.2

Fixes
  • ExecutableItems: an ExecutableItem whose name is longer than 50 characters no longer loses its name in an anvil. The anvil's name field holds 50 characters, so for a longer name the game sends no name at all, and the server removed it on a simple enchant or repair. keepNameInAnvil now keeps the name and its colors or gradient whatever its length. Typing a new name or clearing the field still works like vanilla. Thanks to drfrostx.
New
  • SCore: option beforeDeathIgnoreCancelledDamage in config.yml (default false, nothing changes). Set it to true to check PLAYER_BEFORE_DEATH and ENTITY_BEFORE_DEATH after the other plugins, and never for a damage that one of them cancelled. A totem item is then no longer used by a hit that an ExecutableEvents event capped or cancelled, whatever the order the plugins were loaded in. Thanks to oztinato.
beforeDeathIgnoreCancelledDamage defaults to false, so your configs are unchanged. If something looks wrong after updating, open a post in the bug channel.
Fixes
  • SCore: EQUIPMENT_VISUAL_REPLACE and EQUIPMENT_VISUAL_CANCEL no longer flood the server with packets. A long REPLACE sent the equipment packet to every online player on every tick, and CANCEL sent thousands of packets at once: everyone's ping went up and players could be kicked. Each entity and slot now has a single visual, sent once to the players who see the entity. CANCEL sends one reset and now also works on mobs, and a second REPLACE replaces the first one instead of stacking. The command syntax doesn't change. Thanks to darkchroma.
  • SCore: fixed a dupe. With smelt:true (VEIN_BREAKER, MINEINCUBE, MINEINSPHERE, INLINE_MINEINCUBE) and with SMELT, a block whose break was cancelled (protected region, activator with cancelEvent...) stayed in place but still dropped its smelted item. Nothing drops anymore when the break is refused, and FARMINCUBE no longer replants a crop it could not break.
  • SCore: delayed commands survive a restart again. Since Minecraft 1.21.3, the DELAY commands of ExecutableBlocks could not be saved when the server stopped, so a block that a DELAY had to put back never came back after a restart. They are now saved and resume after the restart, and the time left keeps running while the server is off. [<OFFLINE>] commands run without waiting for their player to join. Thanks to cyclexterminated.
  • SCore: blocks broken by commands can no longer start an endless chain that froze the server. With score run-block-command ... BREAK in a PLAYER_BLOCK_BREAK activator (a pickaxe that mines in a + shape), each broken block ran the activator again and broke its neighbours, until the watchdog stopped the server. A block is now broken once per chain, and a chain that goes past 64 levels or 512 blocks stops with one warning in the console. Normal uses don't change: a tree felled log by log stays far below these limits. Thanks to espadons.
  • SCore: ifHasEnchant and ifHasNotEnchant keep every level you write for the same enchantment: with LOYALTY:1, LOYALTY:2, LOYALTY:3, only the last one counted. An enchantment written without a level (LOYALTY) now means any level; it used to be skipped without a word. Thanks to lxstradiance.
  • ExecutableItems: an activator with VEIN_BREAKER, MINEINCUBE, FARMINCUBE or SMELT now behaves the same right after the editor and after a reload or a restart. Before, the blocks of the vein could get desactiveDrops and DROP_ITEM right after editing, then lose them after /ei reload. To make the blocks broken by the command run the activator, use the new runActivatorOnBlocks:true (see below). Thanks to CRY0G3N_.
  • ExecutableItems, ExecutableBlocks, ExecutableEvents, MyFurniture: no more "out of date" message when your version is newer than the one Spigot shows. The message only appears when a newer version is published. Thanks to officialbasic.
  • SCore: in the item editor, the message shown when no item is set now explains that the item is read from your cursor, not from your hand. Thanks to grim.
Performance
  • SCore, ExecutableItems: a pickaxe that mines with chains of score run-block-command ... BREAK (a + shape pickaxe, for example) now costs about 3 times less server time per hit underground, and 5 times less in the open. Commands no longer try to break empty air blocks, which ran the activators again for nothing, and every ExecutableItems activation skips work it used to throw away (conditions that are not set, colors already converted, the lookup of command names). Thanks to espadons.
New
  • ExecutableItems: setting runActivatorOnBlocks:true on VEIN_BREAKER, MINEINCUBE and FARMINCUBE (off by default). The blocks broken by the command also run the activator that launched it: conditions, desactiveDrops, cancelEvent, the other commands, usageModification, variables. Cooldowns and uses are checked and taken only on the block you broke, so a cooldown doesn't stop the vein. triggerEvent:true, which old editor templates wrote, does nothing and still does nothing. Thanks to CRY0G3N_.
  • SCore: DRAININCUBE gets waterlogged:true (off by default). It also dries the waterlogged blocks of the cube (slabs, stairs...) and removes the water plants a sponge removes (kelp, seagrass, bubble columns). Minecraft 1.13+. Thanks to daphsquid.
  • ExecutableItems, MyFurniture: option texturesPackRequired in config.yml (default true, nothing changes). Set it to false to propose the textures pack without forcing it: players can decline it and still play. It applies to the next joins after /ei reload or /mf reload. Thanks to skinnylxgxnd.
  • SCore, MyFurniture: AROUND and MOB_AROUND now work in the commands of furniture, so a furniture can have an aura (effects on the players or the mobs around it).
  • ExecutableCrafting: the console says at startup when accurateRecipeBook is enabled, and the [EC debug] line shows the recipe book state of the matched recipe (craftable, not craftable, not tracked, option off). Thanks to grim.
  • SCore: option breakChains in config.yml (default true, nothing changes). Set it to false to stop the chains of blocks broken by commands: a block broken by a command then never makes the activators break other blocks by command. A + shape pickaxe mines its own 5 blocks only, and a tree felled log by log with score run-block-command stops at its second log. The line is not added to existing configs: write breakChains: false yourself. Thanks to espadons.
Every new setting keeps the current behaviour by default (texturesPackRequired and breakChains default to true), so your configs are unchanged. If something looks wrong after updating, open a post in the bug channel.
**Fixes**
- **ExecutableCrafting**: recipes that use Nexo items as ingredients craft again. By default Nexo empties the result of other plugins' recipes that contain its items; EC now gives its result back, with the recipe conditions still checked. Thanks to **grim**.
- **SCore**: picking up an ExecutableItem with an incompatible CoreProtect version could give the item twice (a copy stayed on the ground). CoreProtect logging can no longer interrupt a pickup. If your CoreProtect isn't compatible, its pickup logging turns off with a single console warning. Thanks to **wassabi**.
- **SCore**: `silenceOutput: true` hides the feedback of `/attribute` again ("The base value for attribute ... set to ..."), for example in a LOOP activator. Thanks to **theserversowner**.
- **SCore**: on LIST variables, `set` followed by `list-add` no longer throws an error, and the added value is kept.
- **MyFurniture**: on a fresh install with a furniture pack already in place, the first start no longer creates duplicate furniture configs, and keeps the pack's ExecutableItems (name, lore, restrictions).

**New**
- **ExecutableCrafting**: option `accurateRecipeBook` in `config.yml` (off by default). The vanilla recipe book only compares item types and ignores enchanted or renamed items, so EC recipes with custom ingredients showed the wrong state: "craftable" with a plain item, "uncraftable" with the real one. With `accurateRecipeBook: true`, EC checks each player's real items: a recipe shows as craftable only when the player has the right ones, including enchanted, renamed and Nexo items, and the book updates live. This is unique to ExecutableCrafting: no other crafting plugin fixes the vanilla recipe book this way. Requires Paper 1.21.2 or newer. To turn it on, set `accurateRecipeBook: true` on the line EC adds at the end of the file, then run `/ec reload`. Thanks to **grim**.

The only new setting is `accurateRecipeBook`, and it is off by default; your configs are otherwise unchanged. If something looks wrong after updating, open a post in the bug channel.
**Fixes**
- **SCore**: block conditions written as a plain list (`ifIsInTheBlock: [COBWEB]`, the format used before August 2025) are read again. They were ignored, so the condition was always true.
- **SCore**: `/score variables set-default` now writes the new default value to the variable file. It came back after a reload.
- **SCore**: in `IF ... AROUND ... CONDITIONS(...)`, the conditions now belong to AROUND and are checked for each player around.
- **SCore**: nested placeholders in brackets work inside SCore placeholders, e.g. `%score_variables_list_{score_variables_index_int}%`.
- **SCore**: a `SCORE:LIST` custom entity list entered in the editor works right away, without a reload or console errors.
- **SCore**: the DNA particle animation stops when its target is gone instead of spamming errors (Folia).
- **ExecutableBlocks**: PLAYER_BREAK_BLOCK_ABOVE_THE_EB / UNDER_THE_EB now also run when the broken block is itself an ExecutableBlock.
- **ExecutableCrafting**: a furnace whose custom recipe conditions fail now smelts the vanilla recipe instead of doing nothing. ExecutableBlocks furnaces without an owner no longer throw errors.
- **ExecutableCrafting**: "craft inside" from the recipe book gives the real result instead of the display item.
- **ExecutableItems**: no more ProtocolLib error on Minecraft 26.3 when dropping items (`CHANGE_DESTROY_DIRECTION`). Thanks to **rockinmc**.

**New**
- **ExecutableCrafting**: `/ec debug` now shows, while you craft, which EC recipe matched, the final result, and the plugins that act on the craft after EC. Useful when a recipe gives nothing because another plugin clears the result.

Thanks to everyone who reported these bugs. Nothing changes in your configs. If something looks wrong after updating, open a post in the bug channel.
**Fixes**
- **SCore**: `velocity` now really changes the speed of FIREBALL, DRAGON_FIREBALL and WITHER_SKULL projectiles, in LAUNCH and in the projectile file (1.20.5+). A velocity of 1 keeps the vanilla speed. Thanks to **peteee04**.
- **ExecutableBlocks**: a CUSTOM_TRIGGER (or LOOP) that breaks or replaces the block now runs on every placed block. It stopped after the first one. Thanks to **peetfoxx**.
- **ExecutableItems**: PLAYER_EQUIP_THE_EI now runs for items equipped in another slot than their material's one with `equippableFeatures` (for example a carved pumpkin worn on the legs). Thanks to **1ckn**.

**New**
- **ExecutableItems**: new restriction `cancel-shelf`: the item can't be put on a shelf (1.21.9+). Useful for items that give themselves back through their activators, which could be duplicated with a shelf. Thanks to **espadons**.

**Performance**
- **ExecutableItems**: walk / move activators no longer check every item you carry on each step, only the items that have an activator for it.
- **ExecutableBlocks**: lighter "entity walks on the block" check on servers with many placed blocks.

Nothing changes in your configs: the new restriction is off by default. If something looks wrong after updating, open a post in the bug channel.
**Performance**
- **ExecutableBlocks**: blocks with a title (hologram) are now much lighter for your server. On a server with about 90,000 placed blocks with a title, refreshing the titles went from about 40 % of the server tick to less than 1 %. Thanks to **requeim** for the detailed profiles.
- **ExecutableEvents**: less work on every event when you have many activators.

**New**
- **ExecutableItems**: new option `loreNotItalicByDefault` in `config.yml`. Minecraft shows item lore in italic by default; turn it on and your lore lines stay straight unless you ask for italic yourself (`&o` or `<italic>`). Thanks to **awadawar**.
- **ExecutableCrafting**: new option `crafterRefusesPlayerConditionRecipes`. The Crafter block has no player, so it can't check player conditions like a required level; turn it on and the Crafter refuses those recipes (players still craft them at a crafting table).

**Fixes**
- **ExecutableItems**: a lore line with `<italic:false>` could turn italic again when it contained a `%` (like "25%") and PlaceholderAPI was installed. Fixed. Thanks to **awadawar**.

Nothing changes in your configs: both new options are off by default. If something looks wrong after updating, open a post in the bug channel.
**New in ExecutableItems: armor sets (Premium).** Give bonuses to players who wear several of your items together: 2 pieces for a first bonus, 4 pieces for a stronger one, and so on. One file per set in `plugins/ExecutableItems/sets/`, with potion effects, attributes (extra hearts, armor...) and commands for each tier. The bonus comes the moment the last piece is put on and leaves the moment one is taken off, dropped, broken or lost on death, with no LOOP running in the background. Placeholders `%executableitems_set_<id>%` and `%executableitems_set_<id>_tier%`, and `/ei sets [player]` to see what a player wears.
Try it with the new default set **Tempest** (1.21+): four armor pieces and a trident. Throw the trident and its bonus leaves with it until it comes back. It comes with the default items (new servers, or `/ei default_items`). Guide: docs.ssomar.com, *Sets (bonus by pieces worn)*.

**Also new**
- **ExecutableItems**: `/ei trigger <player> <item> <activator>` runs one activator without doing the gesture, to test a config quickly. Conditions, cooldowns and usage apply as usual.
- **ExecutableItems**: on 1.21+, items without attributes of their own lose the damage / armor of their material unless *Keep default attributes* is on. EI now lists these items in the console after each load, with the command that fixes them all. Nothing changes in how they behave. The default items that had this problem are fixed for new installs.

**Fixes**
- **ExecutableItems**: a `/ei give` (from a player, a shop, a crate...) during `/ei reload` no longer gives nothing: the items stay usable while they reload.
- **ExecutableBlocks**: heads and torches placed by an EB (and by `SETEXECUTABLEBLOCK`) are no longer stuck to the side of the block. Thanks to **requeim**.
- **ExecutableItems**: an item upgraded at the smithing table (diamond to netherite) now gets the netherite stats instead of keeping the diamond ones. Your own attributes on the item are kept. Thanks to **KoizumiPlays**.
- **ExecutableItems**: on 1.14 to 1.19, every player death printed an error in the console, and *keep item on death* did not work. Fixed.
- **ExecutableItems**: a LOOP activator whose condition is not met no longer sends the default "invalid condition" message to the player every cycle. Your custom condition messages are still sent.
- **ExecutableItems**: an F-key activator (`PLAYER_SWAPHAND_THE_EI`) with `cancelEvent` now keeps the variables it changes.
- **ExecutableEvents**: `targetEntityCommands` of `PLAYER_FISH_FISH` (`CHANGE_INTO_ITEM`, `KILL`...) now act on the fish you catch.
- **SCore**: an empty line in `globalSilenceOutputs` no longer silences the whole console. It is ignored, with a warning. Thanks to **Chamogelastos**.

Nothing changes in your configs: sets do nothing until you add a file in `sets/`. If something looks wrong after updating, open a post in the bug channel.
**Bug fixes from your reports.** Thanks to **dylyboo**, **yuiso.**, **1ckn** and **cursepharaoh** for the logs and the details.

**Fixes**
- **MyFurniture on Paper 26.3**: the packet library used by MyFurniture did not know 26.3 yet, so every attempt to show the collision boxes failed: thousands of error lines per hour, lag, and furniture you could walk through. MyFurniture now loads a 26.3-compatible build, and if a Minecraft version is ever not supported, it says it once and disables the collision boxes instead of flooding the console.
- **ExecutableItems**: custom models (Nexo, ItemsAdder...) on non-leather armor no longer turn invisible: `/ei create` lost the dye color they need. The **Armor color** option is now available on every armor piece and elytra (Paper 1.21.3+), and the import keeps it.
- **SCore**: no more console spam and TPS drops with `MOB_AROUND` and an entity list that uses NBT tags: a tag the server cannot read simply does not match, instead of an error on every entity.
- **SCore**: `/score run-block-command` now resolves `%block%`, `%block_lower%`, `%block_x%`... instead of printing the placeholder text.
- **SCore**: mass saves are faster. Importing a MyFurniture pack or saving many items could freeze the server for a few seconds; the sound list is now prepared once.

Nothing changes in your configs. If something looks wrong after updating, open a post in the bug channel.
**New features asked by the community, and a few bug fixes.** Thanks to **dinobossyt**, **yuiso.**, **drfrostx**, **themirinto** and **darklionqc** for their ideas and reports.

**New**
- **Item preview in the editors**: in `/ei editor` (and the other editors), the icon of each item now shows its name, lore, enchantments and attributes. You can check your items without opening them one by one. It can be turned off with `editorIconPreview: false` in the SCore config.
- **Custom fishing loot**: the new command `CHANGE_INTO_ITEM` turns what a player catches with a fishing rod into any item or ExecutableItem, with the normal fishing animation. A full guide is on the wiki ("Custom fishing loot").
- **Gradient names and anvils**: an ExecutableItem that is enchanted or repaired in an anvil keeps its colored / gradient name. If the player types a new name, the item is renamed like in vanilla. Option `keepNameInAnvil` in the ExecutableItems config, enabled by default.

**Fixes**
- **ExecutableCrafting**: the vanilla **Crafter** block ignored the amounts of your custom recipes (a recipe asking for 32 items could be crafted with 1). It now respects amounts and conditions. It can be turned off with `enableCrafterBlockSupport: false`.
- **SCore**: a server with SCore, Multiverse-Core and Iris installed together could refuse to start (`Circular plugin loading detected`). Fixed.
- **SCore**: world conditions no longer show an error for a Multiverse world that is loaded after the plugins.
- **SCore**: no more error in the console when the server stops, on servers that use Geyser.
- **ExecutableItems**: several default items were repaired (`Prem_Grass_Cutter`, `Prem_Firework`, the Morph tools...). Your existing files are not modified: delete a default item file to get the repaired version.

Nothing changes in your configs. If something looks wrong after updating, open a post in the bug channel.
**Minecraft 26.3 is supported!** This update also fixes a few bugs. Thanks to **vinrey123** and **psystorm** for their reports and for testing the fixes before release.

**All plugins**
- Added support for **Minecraft 26.3**. Please update SCore and your plugins together before moving your server to 26.3: older versions do not load items correctly on 26.3.
- The plugins are now ready for the next Minecraft versions too: a brand new version will no longer break item loading while you wait for an update.

**ExecutableBlocks**
- Fixed a duplication bug on Minecraft 26.x: breaking an ExecutableBlock that is a container (hopper, barrel, chest...) dropped its content twice.
- If DecentHolograms is installed but does not work on your Minecraft version, block titles now use the built-in display instead of showing errors in the console.

**ExecutableItems**
- Tool rules: using crops like `POTATO`, `CARROT` or the `ALL_CROPS` group no longer breaks the item. Before, `/ei give` and `/ei editor` showed an error for these items.
- Two messages of the English language file were broken and are now repaired automatically.

**SCore**
- When a condition has a mistake in your config, the console now clearly tells you that this condition is ignored and which item and activator are concerned, so you can fix it quickly.

**Good to know for 26.3**
- MyFurniture works on 26.3, but its packet-based extras are paused until PacketEvents releases its 26.3 version.
- DecentHolograms does not support 26.3 yet. Block titles keep working with the built-in display.

Nothing changes in your configs. If something looks wrong after updating, open a post in the bug channel.
Top Bottom