Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
EnchantmentSlots helps you add enchantment slot in your server. All weapons, tools, armors will have a new attribute: enchantment slot. Players can only enchant a maximum of enchantment slot value enchantments to an item. This will help your server avoid player has too many enchantments and break the PvP or PvE balance.
Packet based, your server won't get the lore we added, only client will display it, this means we compatibility with most item plugins.
Even support creative mode!
Auto lore update. Support all existed items, even item exist before install this plugin.
Support other real enchantments plugins, like EcoEnchants, ExcellentEnchantments.
AdvancedmentEnchantments and EpicEnchants are not real enchantment plugin, so this plugin won't work for them.
Built-in condition system, you can make ranked players have more default enchantment slots.
Can set different item has different enchantment slot, support third-plugin item, vanilla item, and even MMOItems's tier!
Support enchant in EnchantGui plugin.
Players can use extra slot item to make their item have more enchantment slots. (Support custom texture with custom-model-data)
Can set add-slots, chance, apply-items, success-actions and fail-actions in it.
Set black rules, make specified items won't display enchantment slot lore but still has enchantment slot feature!
Add 4 placeholders which can also display enchantment slots info in other item plugins!
Do not perfectly support other packet-based plugin, like EcoItems.
PlaceholderAPI support, can use our expansion to display main hand item's empty slot amount and max slot amount.
Auto remove illegal extra enchantments.
We can only forbidden add enchantments by vanilla ways, like enchanting table and anvil.
We can't forbid add enchantments by other way, for example, buy enchant in shop plugin, they will directly change the item enchant without calling an event. This feature will remove the extra enchantments by those illegal ways.
Some options does not work when you are using eco as packet listener plugin, but eco has better performance than ProtolcolLib, choose one of them that meet your requirement.
Items includes Item Placeholder will no longer be updated after you swap the gamemode into creative mode, and this feature does not work in creative mode. In the creative mode, the automatically added enchantment slot lore by the plugin works normally.
Some other item plugins and enchantment plugins MAY are also using packet to change items, in which case EnchantmentSlots's enchantment slot lore may not work on items from these plugins.
EnchantmentSlots does NOT support fake custom enchantment plugins. The simplest way to determine if your enchantment plugin is a fake custom enchantment plugin is to use the /enchant command. If this command introduces the new enchantments in your custom enchantment plugin, then your custom enchantment is real. Otherwise, they are just fake custom enchantment plugins that provide similar functionality.
Confirmed real custom enchantment plugin that EnchantmentSlots supports:
EcoEnchants
ExcellentEnchants
MythicEnchants
EnchantmentSlot can automatically obtain information such as the name, sort and rarity of newly added enchants from these enchantment plugins. Otherwise, you need to set a custom enchantment name in the enchant-name section of config.yml.
EcoEnchants
ExcellentEnchants
Aiyatsbus
EnchantmentSlot can automatically obtain the IDs of items from these plugins, so that you can set different for items from these plugins separately, even if their materials are the same.
ItemsAdder
Oraxen
EcoItems
EcoArmor
EnchantmentSlots provides those new placeholders to PlaceholderAPI!
%enchantmentslots_has_empty_slot% - Will display whether main hand item has empty slot to use.
%enchantmentslots_slot_amount% - Will disply enchantment slot amount of main hand item.
A addon plugin called ESMythicChangerExtension provides those new change rules to MythicChanger, click to know more!
MythicMobs
eco
NeigeItems
ExecutableItems
Nexo
Basic Requirement: Java8+
Java 17+ is recommended. Java17 and above versions are recommended, but plugins are compiled using Java8, so theoretically, you only need Java8 or higher versions.
Paper and its downstream forks are recommended. When the plugin detects that your server software is Paper, it will enable some features that are only available in Paper, some of which can provide subtle performance improvements. Meanwhile, you can also choose whether to use these Paper only features in the paper-api section of the config.yml file. The Spigot server can theoretically also be used.
Folia server also supported. Please note: Folia's support is in the early testing stage and may be released in official versions or removed in the future. This support is not a guarantee.
For version below 4.4.0 = latest dev version of ProtolcolLib or eco is required if you want to display enchantment slot lore at item.
For version 4.4.0+ = Require latest Packetevents or eco!
The plugin theoretically supports any version between 1.14 and 1.21.8.
Obviously, supporting so many versions is not an easy task. It is impossible for the author to test all versions between 1.14 and 1.21.8 every time the plugin is updated. If you encounter errors while using a certain version, please join our Discord feedback.
When updating plugins, please be sure to remove old versions.
You should install one of the follow plugin in your server to make EnchantmentSlots display lore in your server.
packetevents (https://modrinth.com/plugin/packetevents)
EnchantmentSlots is not a drag-to-use plugin, you maybe need carefully adjust the options provided by the plugin to better utilize the EnchantmentSlots on your server.
If you plan to use other custom enchanting plugins on your server, you need to follow the additional steps prompted below.
The best way is check if the custom enchantment plugin has this feature.
If you want to hide enchantment description lore provided by EcoEnchants, you have to:
Disable display.enabled option in EcoEnchants's config.yml.
If you want to hide enchantment description lore provided by ExcellentEnchants, you have to:
Keep use-listener-plugin option to packetevents as this plugin is also trying use this plugin.
Keep packet-listener-priority option to LOWEST, do not change it to other value, othervise ExcellentEnchants will still try display it's enchantment description.
If the custom enchantment plugin doesn't has, you can use enable auto-hide-enchants option in each item slot settings file. After enable, EnchantmentSlots will auto add HIDE ENCHANTS flag to the item new generated in player inventory. Existed item can be converted by click it in player inventory. For more info, please view .
Sometimes change packet-listener-priority option maybe work if the enchantment plugin is also packet based on same packet listener plugin that EnchantmentSlots using.
If this still does not work for you, then you have to ask cutom enchantment author add this feature for you, EnchantmentSlots can do nothing for this.
/es help - View plugin help
/es reload - Reload the plugin.
/es setslots <amount> - Set enchantment slot to specified amount.
/es giveslots <amount> - Add enchantment slots specified amount.
/es giveslots <itemID> <playerName> - Give extra slot item to specified player.
/es openenchantgui - Open enchant gui.
Permission: enchantmentslots.+command, like enchantmentslots.reload.
ESMythicChangerExtension is a addon plugin for MythicChanger, it can help you add more change and match rules from EnchantmentSlots.
Reset means we will override the slot already exist in the item.
For more info about Item Placeholder, please view .
Does the slot is more than specifed value?
real-changes:
# Automatically calculate the slot of items
es-set-slot: true
# Manually set the slot
es-set-slot: 5To use hex color, you should use special color code, it should like this:
&#Hex color code
For example, &#ff0000.
To use gradient color, you should use special gradient color code, it should like this:
&<#Start Color Code> Message &<#End Color Code>
For example, &<#666666>UltimateShop &<#ffffff>.
If you found EnchantmentSlots costs server resource than other plugins, please consider:
Enable set-slot-trigger.XXX.enabled option. If enabled, the plugin will store the enchantment slot of the item in NBT format within the plugin, instead of automatically calculating the enchantment slot of the item every time it interacts.
Enable add-lore.only-in-player-inventory option. If enabled, only item in player inventory will deal with enchantment slot feature, and this can save many plugin performance.
Both options maybe have incompatible issue with other plugins, you have to test it before change them in production environment.
real-changes:
es-add-slot: -5real-changes:
# Automatically calculate the slot of items
es-reset-slot: true
# Manually reset the slot
es-reset-slot: 5fake-changes:
es-add-lore: truefake-changes:
es-parse-lore: truereal-changes:
es-remove-excess-enchants: truereal-changes:
es-remove-lore: truematch-item:
has-slot: 5All apply items are saved in extra_slot_items folder, an example file is here:
display-item:
material: PAPER
custom-model-data: 5
name: '&dExtra Enchantment Slot &7(+5)'
lore:
- '&fDrag this item into your item to use!'
- '&f100% success but only work for diamond sword.'
add-slots: 5
conditions: []
success-actions:
1:
type: sound
sound: 'block.note_block.harp'
2:
type: message
message: 'bFB98[EnchantmentSlots] &aAdd {amount} extra enchantment slot to your item!'
fail-actions:
1:
type: sound
sound: 'block.note_block.bass'
2:
type: message
message: 'bFB98[EnchantmentSlots] &cYou are not very lucky, slot item has broken!'
match-item:
material:
- 'diamond_sword'display-item: The display item of this extra slot item. Should use here.Should use simple version, for more info, please view .
add-slots: Represents the number of expansion slots.
success-actions: Represents actions will excute after success use extra slot item. Use here.
fail-actions: Represents actions will excute after fail to use extra slot item. Use here.
EnchantmentSlot supports adding information about enchanting slots to the lore of all matched items, which we call auto add lore.
You shoud note that only items been set slot will have enchantment slot lore added to them. There are 2 ways to set item enchantment slot.
Item Slot Settings: This feature allows you to set the number of default slots and max slots for matching items. If the item matches, it will be automatically added to the enchantment slot. Please note that this process is not instantaneous and requires interaction between the player and the item. In most survival modes, obtaining the item will be automatically detected. If not, it can be interacted with once.
Commands: You can use /es setslots or /es giveslots command to set your hold item's enchantment slot data.
You can use to determine which item will not display enchantment slot lore in black-item option, or disable this feature in enabled option.
You can set content of Add Lore at config.yml file. For available placeholders, please view .
The Match Item Format provided by EnchantmentSlots are almost identical to those in MythicChanger. Therefore, they will not be elaborated on in this wiki. Please refer to MythicChanger's wiki for a detailed introduction about them. Click here to view.
Those match item rules do not available in EnchantmentSlots.
Contains Apply
Has Apply
Item Format
For Items Rule: The use-tier-identify-slots option should set in config.yml file instead of in Match Item Format configs.
An example of match item format:
By default, all Match Rules need to be met, and you can also use the Match Rule to avoid this. These are all clearly introduced on MythicChanger's Wiki.
You can set custom enchantment used slot at config.yml file.
Here is an example:
# Enchant Used Slot
enchant-used-slot:
values:
mending: 2
placeholder:
0: '&c☆'
1: ''
2: '&7☆'
3: '&f☆'
4: '&e☆'
5: '&6☆'This means mending will use 2 slots instead of only one by default.
conditions: Represents what conditions player should meet to use this extra slot item. Use Condition Format here.
match-item: Read Match Item Format page for more info, which item can use this extra slot item, if removed, all items can use this apply item.

add-lore:
enabled: true
black-item:
material:
- book
- enchanted_book
has-lore: true items:
- 'diamond_sword'
has-name: true
has-lore: true
contains-lore:
- 'test'
contains-name:
- 'test'If this does not work for you, the best way is disable remove illegal excess enchant feature by change enabled option to false.
A:
Check whether you have installed the packet listener plugin you set in config.yml. If yes, then please check whether that plugin is worked in your server.
Check whether you have other plugin also try to modify this item's lore. The best way to test this is delete all plugins except for EnchantmentSlots and your packet listener plugin.
Usually, that because you didn't set default slot setting for this item. Try hold the item in survival mode and use command /es setslots 5, if the lore display after that, this just because your slot setting missing.
Check your config file, your config.yml maybe has wrong format, try regenerate config file.
Don't drag item from creaative inventory, please keep your game mode into survival, and try use /give command, crafting and other ways to gain items.
There is auto-add-lore option in config.yml, if all of those above does not work for you, try to enable this option.
A: You should set enchantment name at the plugin config.yml's enchant-name section.
A: If you EnchantmentSlots auto add lore for those items, it can only at first or last of item lore, or you use our item placeholder into your item lore.
A: Please view this page.
{player_x}
{player_y}
{player_z}
{player_pitch}
{player_yaw}
{player}
{amount} - The new item slot.
Send sound to player.
Send a message to the player, support color code.
Send title to the player, support the color code.
Send a message to all online players, support color code.
Give players potion effect.
Teleport player to specified location.
Make the player excutes a command.
Make the player excutes a command as OP.
Make the console excutes a command.
Spawn vanilla mobs.
Make the action run after X ticks.
Set the chance the action will be excuted, up to 100. 50 means this action has 50% chance to excute.
Randomly choose a action to execute.
auto-lore:
# Does not support other packed-based item, enchants plugins.
# Like EcoEnchants, EcoItems. (You can also try eco as use-listener-plugin, then change packet-listener-priority)
# They will always put their lore at first location and EnchantmentSlots can do nothing about it.
at-first-or-last: false
# Do not change this option when server started!
# Only change this if your server has stopped!
display-value:
- "&#ff3300Enchantment Slots: {enchant_amount}/{slot_amount}"
- "{enchants}"
- "{empty_slots}"
placeholder:
enchants:
# Other placeholder: {enchant_level_roman}, {raw_enchant_name}
format: '&6 {enchant_name} {enchant_level}'
sort: true
auto-add-space: true
empty-slots:
format: '&7 --- Empty Slot ---' any:
material:
- 'iron_sword'
has-lore: true SetSlotPacket:
enabled: true
# Only plugin has enchantment slot NBT will be checked.
remove-illegal-excess-enchant:
enabled: true
hide-remove-message: false
ignore-join-time: -1
run-sync: true actions:
1:
type: sound
sound: 'ui.button.click'
volume: 1
pitch: 1 actions:
1:
type: message
message: 'Hello!' actions:
1:
type: title
main-title: 'Good day'
sub-title: 'Not bad'
fade-in: 10
stay: 70
fade-out: 30 actions:
1:
type: particle
particle: HEART
count: 20
offset-x: 0.3
offset-y: 1.0
offset-z: 0.3
speed: 0.01 actions:
1:
type: announcement
message: 'Hello!' actions:
1:
type: effect
potion: BLINDNESS
duration: 60
level: 1
ambient: true # Optional
particles: true # Optional
icon: true # Optional actions:
1:
type: teleport
world: LobbyWorld
x: 100
y: 30
z: 300
pitch: 90 # Optional
yaw: 0 # Optional actions:
1:
type: player_command
command: 'tell Hello!' actions:
1:
type: op_command
command: 'tell Hello!' actions:
1:
type: console_command
command: 'op {player}' actions:
1:
type: entity_spawn
entity: ZOMBIE
world: LOBBY # Optional
x: 100.0 # Optional
y: 2.0 # Optional
z: -100.0 # Optional actions:
1:
type: delay
time: 50
wait-for-player: true
actions:
1:
type: entity_spawn
entity: ZOMBIE actions:
1:
type: chance
rate: 50
actions:
1:
type: entity_spawn
entity: ZOMBIE actions:
1:
type: any
amount: 2
actions:
1:
type: entity_spawn
entity: ZOMBIE
2:
type: entity_spawn
entity: SKELETON
3:
type: entity_spawn
entity: WITHERIf the value is empty or illegal, defaults to stone.
Support use PlaceholderAPI or math calculate. For example, %player_health% * 5.
According to your configuration file, there are two formats, one is the old version color code used before version 1.9, or the Text Component used in later versions. The former uses a color code format we created, while the latter uses Mini Message format, as detailed . Mini Message format require your server core is Paper.
You can use \n to represent line breaks.
According to your configuration file, there are two formats, one is the old version color code used before version 1.9, or the Text Component used in later versions. The former uses a color code format we created, while the latter uses Mini Message format, as detailed . Mini Message format require your server core is Paper.
Possible Value: HIDE_ENCHANTS, HIDE_ATTRIBUTES, HIDE_UNBREAKABLE, HIDE_DESTROYS, HIDE_PLACED_ON, HIDE_ADDITIONAL_TOOLTIP, HIDE_DYE, HIDE_ARMOR_TRIM.
Config section format is: Enchant ID: Enchant Level.
For enchantment book: You maybe need use stored-enchants instead of enchants.
For custom enchantments: Some enchantments plugins are not registered their enchantment into game, so this won't work for them.
You should use Minecraft enchantment ID instead of Spigot's after 1.20.5.
Base64: Like example below, only support 1.19+.
material: APPLEauto-lore.placeholder.auto-parseconfig.ymlEnable auto-add-lore option in each item slot settings file.
For MMOItems 6.9.4 version users:
You can use [] to replace {} to solve placeholder can not be used problem. This is MMOItems' problem. Like [enchants].
Before 6.9.4 and after 6.9.4 version, MMOItems does not have this problem anymore.
Item Placeholder can not be used in creative mode when you use them outside EnchantmentSlots (like put them into MMOItems), otherwise the placeholders will never be updated anymore.
{player_x}
{player_y}
{player_z}
{player_pitch}
{player_yaw}
{player}
{amount} - The new item slot.
Player must be in the world.
Player must be in the biome.
Player must has the permission.
Remember that OP players will always have all permissions unless plugin set it not by default, so if you want to test this condition, you have to deop yourself.
Player must be meet the placeholder condition.
Rule can be set to:
>=
<=
>
<
== (String)
= (Number)
!= (Number or string)
!*= (Number or string) Not contains.
*= (String) Contains, for example, str *= string is true, but example *= ple is false.
amount: 5name: '&fA smart sword'lore:
- '&fLine 1'
- '&fLine 2'flags:
- HIDE_ENCHANTS
- HIDE_ATTRIBUTES
- HIDE_UNBREAKABLE
- HIDE_DESTROYS
- HIDE_PLACED_ON
- HIDE_ADDITIONAL_TOOLTIP
- HIDE_DYE
- HIDE_ARMOR_TRIMenchants:
MENDING: 1custom-model-data: 15skull: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZitem-model: 'mycustom:itemmodel'tootip-style: 'mycustom:tooltip' conditions:
1:
type: world
world: lobby conditions:
1:
type: biome
biome: oraxen conditions:
1:
type: permission
permission: 'group.vip' conditions:
1:
type: placeholder
placeholder: '%player_health%'
rule: '<='
value: 5 conditions:
1:
type: any
conditions:
1:
type: placeholder
placeholder: '%eco_balance%'
rule: '>='
value: 200
2:
type: placeholder
placeholder: '%player_points%'
rule: '>='
value: 400 conditions:
1:
type: not
conditions:
1:
type: placeholder
placeholder: '%eco_balance%'
rule: '>='
value: 200{enchants} - Display item's enchantments. We don't auto hide enchants of the item, you have to add HIDE_ENCHANTS flag to item by yourself!
{empty_slots} - Display item's empty slots.
{enchant_amount} - Display item's enchantment amount.
{slot_amount} - Display item's max slot amount.
{used_slot_amount}
You can further set options for the {enchants}, {empty_slots} placeholder in auto-lore.placeholder option in config.yml file.
Available sub placeholders for {enchants}:
{enchant_name}
{enchant_level}
{enchant_used_slot}
{enchant_level_roman}
EnchantmentSlots supports auto enchantment sort in {enchants} placeholder: we will hook into EcoEnchants v10+ or ExcellentEnchants v4 and use it's API to get enchantment display sort in those plugins, for vanilla enchantments, it's depend on how long it was obtained.
To use this feautre, you need enable sort option in config.yml file.
By default, other plugins can not get enchantments name that displayed in client. You have to set them in config.yml to make EnchantmentSlots correctly display enchantment name for custom enchantments. For example of vanilla enchantments:
But, EnchantmentSlots will hook into EcoEnchants v10+ or ExcellentEnchants v4 (v3 is supported in version before 3.2.0) and use it's API to get enchantment name, so if you are using the 2 plugins, you don't need manually set enchantment name at config.yml.
By default, plugin will print number itself at {enchant_level} sub placeholder, if you want to override the result of this sub placeholder, you can do that in config.yml file.
For example of better number display:
By default, plugin will print number itself at {enchant_used_slot} sub placeholder, you can override it's result in config.yml file. For example:
If enabled, plugin will auto add space if the placeholder has valid result.
The plugin generates the following configuration files, some of which will only be generated after you first use this feature.
extra_slot_items: The location for storing extra slot item files.
item_slot_settings: The location for storing item slot settings files.
languages
languageconfig.yml placeholder:
enchants:
sort: true# Enchant Name
enchant-name:
# Default providing vanilla enchantments here.
# For third enchantment plugins:
# Plugin will auto get enchantment display name that provided by EcoEnchants and ExcellentEnchants
# If you are not using the 2 plugins, please using "Enchantment Key: Enchantment Display Name" format
# Like:
# an_other_enchantment: 'This is just an example here!'
protection: 'Protection'
fire_protection: 'Fire Protection'
feather_falling: 'Feather Falling'
blast_protection: 'Blast Protection'
projectile_protection: 'Projectile Protection'
respiration: 'Respiration'
aqua_affinity: 'Aqua Affinity'
thorns: 'Thorns'
depth_strider: 'Depth Strider'
frost_walker: 'Frost Walker'
binding_curse: 'Binding Curse'
sharpness: 'Sharpness'
smite: 'Smite'
bane_of_arthropods: 'Bane of Arthropods'
knockback: 'Knockback'
fire_aspect: 'Fire Aspect'
looting: 'Looting'
sweeping: 'Sweeping'
# For 1.21+
sweeping_edge: 'Sweeping Edge'
efficiency: 'Efficiency'
silk_touch: 'Silk Touch'
unbreaking: 'Unbreaking'
fortune: 'Fortune'
power: 'Power'
punch: 'Punch'
flame: 'Flame'
infinity: 'Infinity'
luck_of_the_sea: 'Luck of the Sea'
lure: 'Lure'
loyalty: 'Loyalty'
impaling: 'Impaling'
riptide: 'Riptide'
channeling: 'Channeling'
multishot: 'Multishot'
quick_charge: 'Quick Charge'
piercing: 'Piercing'
mending: 'Mending'
vanishing_curse: 'Vanishing Curse'
soul_speed: 'Soul Speed'
wind_burst: 'Wind Burst'
breach: 'Breach'
density: 'Density'# Enchant Level
enchant-level:
1: ①
2: ②
3: ③
4: ④
5: ⑤
6: ⑥# Enchant Used Slot
enchant-used-slot:
placeholder:
0: '&c☆'
1: ''
2: '&7☆'
3: '&f☆'
4: '&e☆'
5: '&6☆' placeholder:
enchants:
format: '&6 {enchant_name}{enchant_level}{enchant_used_slot}'
auto-add-space: true# EnchantmentSlots by @PQguanfang
#
# READ THE WIKI: enchantmentslots.superiormc.cn
# Languages
language: en_US
debug: false
paper-api:
skull: false
# Settings
settings:
# This is when will the plugin trying adds enchantment slot NBT for an enchantable item which also means set fixed
# enchantment slot for an item.
set-slot-trigger:
# This option support packetevents only.
# Enable this maybe improve plugin performance.
SetSlotPacket:
enabled: true
# Only plugin has enchantment slot NBT will be checked.
remove-illegal-excess-enchant:
enabled: true
hide-remove-message: false
ignore-join-time: -1
run-sync: true
EnchantItemEvent:
enabled: true
# Whether cancel the enchantment event or remove extra enchantment if
# item reached slot limit after enchant.
cancel-if-reached-slot: false
AnvilItemEvent:
enabled: true
# If your item has display issue after use anvil, you can try to enable this.
update-item: false
SmithItemEvent:
enabled: true
# If set to true, we will reset old item enchantment slot and then regenerate new slot
# value for new item, enchantments won't affect by this option.
reset-previous-slot: true
# If set to true, if new generated slot value smaller than existed slot value, we will still
# keep use existed value as new upgraded item's slot limit.
keep-greater-slot: true
# Enable this maybe improve plugin performance.
# Maybe has incompatible issue with other plugins.
InventoryClickEvent:
enabled: true
ignore-slot-item:
material:
- book
- enchanted_book
add-lore:
enabled: true
remove-lore-first: true
# packetevents only.
lore-prefix: "§y"
# This option support packetevents only.
# Enable this maybe improve plugin performance.
only-in-player-inventory: true
# Whether only-in-player-inventory option only checks chest UI.
check-chests-only: true
# Which item will not display lore.
black-item:
any:
material:
- book
- enchanted_book
# Support plugin:
# - eco (Do not change unless you are know what you are doing)
# - packetevents (Classic and stable choice)
use-listener-plugin: packetevents
# packetevents Support value:
# LOWEST(0),
# LOW(1),
# NORMAL(2),
# HIGH(3),
# HIGHEST(4),
# MONITOR(5)
# eco Support value:
# CUSTOM(250),
# LOWEST(100),
# LOW(200),
# HIGH(300),
# HIGHEST(400)
# The value after the value just a number help you know it's level, do not type them in option.
packet-listener-priority: LOWEST
# Does not support other packed-based item, enchants plugins.
# Like EcoEnchants, EcoItems. (You can also try eco as use-listener-plugin, then change packet-listener-priority)
# They will always put their lore at first location and EnchantmentSlots can do nothing about it.
at-first-or-last: false
# Do not change this option when server started!
# Only change this if your server has stopped!
display-value:
- "&#ff3300Enchantment Slots: {used_slot_amount}/{slot_amount}"
- "{enchants}"
- "{empty_slots}"
placeholder:
auto-parse: true
enchants:
# Other placeholder: {enchant_level_roman}, {raw_enchant_name}, {enchant_used_slot}
format: '&6 {enchant_name}{enchant_level}{enchant_used_slot}'
sort: true
auto-add-space: true
level-hide-one: true
empty-slots:
format: '&7 --- Empty Slot ---'
# Whether you use item tier instead of item ID in Items Match Rule
# If this item plugin don't have tier, will still use Item ID as identify.
# Supported plugins: EcoItems, EcoArmor, MMOItems
use-tier-identify-slots: false
close-inventory-if-reached-limit: true
# Whether cancel add slot or just set item slot to max slot value and still consume add slot item
# if item reached max slot limit after using add slot items.
cancel-add-slot-if-reached-max-slot: true
# Enchant Level
enchant-level:
1: ''
# Enchant Name
enchant-name:
# Default providing vanilla enchantments here.
# For third enchantment plugins:
# Plugin will auto get enchantment display name that provided by EcoEnchants and ExcellentEnchants
# If you are not using the 2 plugins, please using "Enchantment Key: Enchantment Display Name" format
# Like:
# an_other_enchantment: 'This is just an example here!'
protection: 'Protection'
fire_protection: 'Fire Protection'
feather_falling: 'Feather Falling'
blast_protection: 'Blast Protection'
projectile_protection: 'Projectile Protection'
respiration: 'Respiration'
aqua_affinity: 'Aqua Affinity'
thorns: 'Thorns'
depth_strider: 'Depth Strider'
frost_walker: 'Frost Walker'
binding_curse: 'Binding Curse'
sharpness: 'Sharpness'
smite: 'Smite'
bane_of_arthropods: 'Bane of Arthropods'
knockback: 'Knockback'
fire_aspect: 'Fire Aspect'
looting: 'Looting'
sweeping: 'Sweeping'
# For 1.21+
sweeping_edge: 'Sweeping Edge'
efficiency: 'Efficiency'
silk_touch: 'Silk Touch'
unbreaking: 'Unbreaking'
fortune: 'Fortune'
power: 'Power'
punch: 'Punch'
flame: 'Flame'
infinity: 'Infinity'
luck_of_the_sea: 'Luck of the Sea'
lure: 'Lure'
loyalty: 'Loyalty'
impaling: 'Impaling'
riptide: 'Riptide'
channeling: 'Channeling'
multishot: 'Multishot'
quick_charge: 'Quick Charge'
piercing: 'Piercing'
mending: 'Mending'
vanishing_curse: 'Vanishing Curse'
soul_speed: 'Soul Speed'
wind_burst: 'Wind Burst'
breach: 'Breach'
density: 'Density'
# Enchant Used Slot
enchant-used-slot:
values:
# mending: 2
placeholder:
0: '&c☆'
1: ''
2: '&7☆'
3: '&f☆'
4: '&e☆'
5: '&6☆'All item slot settings are saved in item_slot_settings folder, an example file is here:
This feature allows you to set the number of default slots and max slots for matching items. If the item matches, it will be automatically added to the enchantment slot. Please note that this process is not instantaneous and requires interaction between the player and the item. In most survival modes, obtaining the item will be automatically detected. If not, it can be interacted with once.
If enabled, even if the item has not been set slot due to not being interacted with yet, we will still calculate its default slot value and add enchantment slot lore. This process will consume a certain amount of server performance.
set-slots-trigger section at config.yml file.By default, if placeholder {enchants} used in enchantment slot lore, we will auto add hide enchants flag in fake lore packet, however, some custom enchantments plugin also use fake lore packet and sometimes they can not found our hide enchants flag, this lead to their enchant lore can not be hideen by EnchantmentSlots, in this case, you need enable this option.
If enabled, item will be auto add hide enchants flag when obtained.
Which item will use this item slot settings, should use Match Item Format. In this example, material is just a rule type in Match Item Format, you can choose delete it, and select other rule here. You are allow to use unlimited match item rules here. For example:
The default-slots section determines the default slot quantity for all items.
Among them, default represents the default quantity, while the other options are the condition IDs in the slot-conditions section. Players who meet the corresponding conditions will use the value after the corresponding condition ID. We will ultimately take the highest value.
Players can use Extra slot items to increase the enchantment slots of items, but this is not infinite. The max-slots section determines the maximum number of items that can be expanded through Extra slot items.
You can set countless condition groups here, and each condition ID can be used in the options above. Players who meet specific conditions can use values different from the default option. Use Condition Format in each condition group section.
You can use the <start number>~<end number> format to make the slot be random, for example:
To use this feature, you have to DISABLE auto-add-lore option in the slot settings file, after disable, item without slot data will no longer auto display it's enchantment slot lore.
match-item:
material:
- wooden_pickaxe
- stone_pickaxe
- iron_pickaxe
- golden_pickaxe
- diamond_pickaxe
- netherite_pickaxe
- wooden_hoe
- stone_hoe
- iron_hoe
- golden_hoe
- diamond_hoe
- netherite_hoe
- wooden_axe
- stone_axe
- iron_axe
- golden_axe
- diamond_axe
- netherite_axe
- wooden_shovel
- stone_shovel
- iron_shovel
- golden_shovel
- diamond_shovel
- netherite_shovel
- wooden_sword
- stone_sword
- iron_sword
- golden_sword
- diamond_sword
- netherite_sword
- fishing_rod
- trident
- elytra
- bow
- crossbow
- carrot_on_a_stick
- shield
- turtle_helmet
- leather_helmet
- chainmail_helmet
- iron_helmet
- golden_helmet
- diamond_helmet
- netherite_helmet
- leather_chestplate
- chainmail_chestplate
- iron_chestplate
- golden_chestplate
- diamond_chestplate
- netherite_chestplate
- leather_leggings
- chainmail_leggings
- iron_leggings
- golden_leggings
- diamond_leggings
- netherite_leggings
- leather_boots
- chainmail_boots
- iron_boots
- golden_boots
- diamond_boots
- netherite_boots
#- enchanted_book
#- book
- mace
auto-add-lore: false
auto-hide-enchants: true
default-slots:
default: 3
vip: 5
max-slots:
default: 10
vip: 15
slots-conditions:
vip:
1:
type: permission
permission: 'group.vip' # This is when will the plugin trying adds enchantment slot NBT for an enchantable item which also means set fixed
# enchantment slot for an item.
set-slot-trigger:
add-hide-enchant-flag: false
# This option support ProtocolLib only.
# Enable this maybe improve plugin performance.
SetSlotPacket:
enabled: true
# Only plugin has enchantment slot NBT will be checked.
remove-illegal-excess-enchant: true
EnchantItemEvent:
enabled: true
# Whether cancel the enchantment event or remove extra enchantment if
# item reached slot limit after enchant.
cancel-if-reached-slot: false
AnvilItemEvent:
enabled: true
# If your item has display issue after use anvil, you can try to enable this.
update-item: false
SmithItemEvent:
enabled: true
# If set to true, we will reset old item enchantment slot and then regenerate new slot
# value for new item, enchantments won't affect by this option.
reset-previous-slot: true
# If set to true, if new generated slot value smaller than existed slot value, we will still
# # keep use existed value as new upgraded item's slot limit.
keep-greater-slot: true
# Enable this maybe improve plugin performance.
# Maybe has incompatible issue with other plugins.
InventoryClickEvent:
enabled: true match-item:
contains-lore:
- 'Enchantable'
- 'Epic'default-slots:
default: 1~2
vip: 3~4