Only this pageAll pages
Powered by GitBook
1 of 26

For 4.4.5 or newer

Loading...

📦Info

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

📋Format

Loading...

Loading...

Loading...

Loading...

🤖General Configs

Loading...

Loading...

🎯Enchantment Slot

Loading...

Loading...

Loading...

✨Features

Loading...

Loading...

🎉Welcome

Info

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.

Features

  • 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.

  • ⛔Limitation

    eco limitations

    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.

    Use Item Placeholder in Creative Mode

    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.

    Compatibility of other packet based item plugins

    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.

    Won't work for fake custom enchantment plugin

    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

    🔗Compatibility

    Direct compatibility

    Directly supported custom enchantments plugins list

    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

    Directly supported custom items plugins list

    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

    PlaceholderAPI: Extra placeholders

    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.

    MythicChanger: Extra Change Rule

    A addon plugin called ESMythicChangerExtension provides those new change rules to MythicChanger, click to know more!

    ⚙️Install

    Install

    • Put the .jar file into your server's plugins folder.

    MMOItems
  • MythicMobs

  • eco

  • NeigeItems

  • ExecutableItems

  • Nexo

  • default slots and max slots
    here

    ✅Requirements

    Java Version

    • 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.

    Server Software

    • 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.

    Plugin Requirements

    • 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!

    Server Version

    • 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.

    Stop your server and then restart it. Cannot load plugins in any other way while the server is starting.
  • 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.

    • eco (https://polymart.org/resource/eco.773)

    • 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.

  • Hide Enchantment Description

    • The best way is check if the custom enchantment plugin has this feature.

      EcoEnchants

      If you want to hide enchantment description lore provided by EcoEnchants, you have to:

      • Disable display.enabled option in EcoEnchants's config.yml.

      ExcellentEnchants

      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.

    this page

    ⌨️Commands

    Commands

    • /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.

    Permissions

    • Permission: enchantmentslots.+command, like enchantmentslots.reload.

    ESMythicChangerExtension

    ESMythicChangerExtension is a addon plugin for MythicChanger, it can help you add more change and match rules from EnchantmentSlots.

    Download Link: https://www.spigotmc.org/resources/esmythicchangerextension-a-addon-plugin-that-provides-extra-rules-for-mythicchanger-1-14-1-21-4.110600/

    Set Slot

    Add Slot

    Reset Slot

    Reset means we will override the slot already exist in the item.

    Add Enchantment Slot Lore

    Parse Item Placeholder from ES

    For more info about Item Placeholder, please view .

    Remove Excess Enchantments

    Remove Enchantment Slot Lore

    Has Slot

    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: 5

    🎨Color Code

    Hex Color

    To use hex color, you should use special color code, it should like this:

    &#Hex color code

    For example, &#ff0000.

    Gradient Color

    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>.

    🚀Performance

    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.

    here
    real-changes:
      es-add-slot: -5
    real-changes:
      # Automatically calculate the slot of items
      es-reset-slot: true
      # Manually reset the slot
      es-reset-slot: 5
    fake-changes: 
      es-add-lore: true
    fake-changes: 
      es-parse-lore: true
    real-changes:
      es-remove-excess-enchants: true
    real-changes:
      es-remove-lore: true
    match-item:
      has-slot: 5

    🪄Extra Slot Item

    Extra Slot Item

    All 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: '&#98FB98[EnchantmentSlots] &aAdd {amount} extra enchantment slot to your item!'
    fail-actions:
      1:
        type: sound
        sound: 'block.note_block.bass'
      2:
        type: message
        message: '&#98FB98[EnchantmentSlots] &cYou are not very lucky, slot item has broken!'
    match-item:
      material:
        - 'diamond_sword'

    General Options

    • 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.

    ⚡Add Lore

    EnchantmentSlot supports adding information about enchanting slots to the lore of all matched items, which we call auto add lore.

    Only items has enchantment slot data will 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.

    Black Item

    You can use to determine which item will not display enchantment slot lore in black-item option, or disable this feature in enabled option.

    Content of Add Lore

    You can set content of Add Lore at config.yml file. For available placeholders, please view .

    🔍Match Item Format

    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.

    Match Item Rules Not Available in EnchantmentSlots

    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.

    🔴Custom Enchantment Used Slot

    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.

    🎬Action Format

    Available Placeholders

    • {world}

    • {amount}

    ❓FAQ

    Q: I installed multi server sync plugin like HuskSync and sometimes my enchantments get lost.

    A:

    Open config.yml file and find those content:

    Please change ignore-join-time option to 5 (or a number greater than 5), and then change run-sync option to true

    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.

  • Item Format
    ItemFormat
    this page
    Action Format
    Action Format
      add-lore:
        enabled: true
        black-item:
          material:
            - book
            - enchanted_book
          has-lore: true
    Match Item Format
    this page
      items:
        - 'diamond_sword'
      has-name: true
      has-lore: true
      contains-lore:
        - 'test'
      contains-name:
        - 'test'
    ANY
    .

    If this does not work for you, the best way is disable remove illegal excess enchant feature by change enabled option to false.

    Q: Seems that my item does not have enchantment slot lore added!

    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.

    Q: Why all my enchantments are English or seems a ID?

    A: You should set enchantment name at the plugin config.yml's enchant-name section.

    Q: Does enchantment lore order be changed in item lore?

    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.

    Q: How to hide enchantment slot lore?

    A: Please view this page.

    {player_x}

  • {player_y}

  • {player_z}

  • {player_pitch}

  • {player_yaw}

  • {player}

  • {amount} - The new item slot.

  • Sound

    Send sound to player.

    Message

    Send a message to the player, support color code.

    Title

    Send title to the player, support the color code.

    Particle

    Announcement

    Send a message to all online players, support color code.

    Effect

    Give players potion effect.

    Teleport

    Teleport player to specified location.

    Player Command

    Make the player excutes a command.

    Op Command

    Make the player excutes a command as OP.

    Console Command

    Make the console excutes a command.

    Spawn vanilla mobs

    Spawn vanilla mobs.

    Delay

    Make the action run after X ticks.

    Chance

    Set the chance the action will be excuted, up to 100. 50 means this action has 50% chance to excute.

    Any

    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: WITHER

    📝ItemFormat™ (Simply version)

    Material

    If the value is empty or illegal, defaults to stone.

    Amount

    Support use PlaceholderAPI or math calculate. For example, %player_health% * 5.

    Custom Name/Display Name

    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.

    Lore

    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.

    Flags

    Possible Value: HIDE_ENCHANTS, HIDE_ATTRIBUTES, HIDE_UNBREAKABLE, HIDE_DESTROYS, HIDE_PLACED_ON, HIDE_ADDITIONAL_TOOLTIP, HIDE_DYE, HIDE_ARMOR_TRIM.

    Enchants

    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.

    Custom Model Data

    Skull

    Base64: Like example below, only support 1.19+.

    Item Model (1.21.2+)

    Tooltip Style (1.21.2+)

    ⚖️Condition Format

    Available Placeholders

    • {world}

    • {amount}

    📍Item Placeholder

    Placeholder List

    We support use those in other item plugins, you can use [] symbol to replace {} symbol too.

    To use this feature, you have to:

    material: APPLE
    Enable
    auto-lore.placeholder.auto-parse
    option at
    config.yml
    file.
  • Enable auto-add-lore option in each item slot settings file.

  • MythicChanger-Premium plugin provide extra many item placeholders like {name}, can display almost all info of items at lore! Buy it here.

    MMOItems Issue

    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.

    Creative Mode Issue

    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.

    built-in placeholder
    here
    here

    {player_x}

  • {player_y}

  • {player_z}

  • {player_pitch}

  • {player_yaw}

  • {player}

  • {amount} - The new item slot.

  • World

    Player must be in the world.

    Biome

    Player must be in the biome.

    Permission

    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.

    Placeholder

    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.

    Any

    Not

    amount: 5
    name: '&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_TRIM
    enchants:
      MENDING: 1
    custom-model-data: 15
    skull: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZ
    item-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

    🔧Built-in Placeholders

    Available placeholders:

    • {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.

    You can also use those placeholder in other plugin's item lore, for more info, please view page.

    {enchants} Placeholder

    Available sub placeholders for {enchants}:

    • {enchant_name}

    • {enchant_level}

    • {enchant_used_slot}

    • {enchant_level_roman}

    Enchantment Sort for {enchants} Placeholder

    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.

    Custom Enchantment Name for {enchant_name} sub placeholder

    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.

    Custom Enchantment Level for {enchant_level} sub placeholder

    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:

    Custom Enchantment Used Slot Display for {enchant_used_slot} sub placeholder

    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:

    Auto Add Space

    If enabled, plugin will auto add space if the placeholder has valid result.

    🛠️Configuration files

    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

    {raw_enchant_name} - Without ratity color exist in supported custom enchantment plugins.
    Item Placeholder
    : The location for storing language files. You can set the language file used by the plugin through the
    language
    option in the
    config.yml
    file. You can customize various messages within the plugin game through language files. It is not supported to display the corresponding language file based on the player client language. You can only display the same language for all players.

    Config.yml file content

        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☆'

    ↔️Item Slot Settings

    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.

    Auto Add Lore

    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 slot represents writing a special NBT to the player's item to record how many enchanted slots the item currently has. You can set when to execute set slots through set-slots-trigger section at config.yml file.

    Auto Hide Enchants

    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.

    Match Item

    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:

    Default Slots

    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.

    For now, if you want to set different defult slots for different items, you have to create new item slot settings config and then use another match item rule configs to match different items and then set different default slot values.

    Max Slots

    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.

    Slot Conditions

    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.

    Random Slots

    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