# Welcome!

## Welcome to Rival Development Plugin Docs

Here you'll find all the documentation you need to get up and running with the Rival Plugins


# Rival Pickaxes

####

<figure><img src="/files/roD6rA2M7K2NbI505QrS" alt=""><figcaption></figcaption></figure>


# Installation

## Before Starting the server

* Place the latest **RivalPickaxes.jar** in your plugins folder.
* Make sure to download all the dependencies for your Server Version and add them to your plugins folder.
* Start your server and the Plugin will be loaded.

## Dependencies

1.8.8: [TitleAPI](https://www.spigotmc.org/resources/titleapi-1-8-1-17.1325/), [ActionBarAPI](https://www.spigotmc.org/resources/actionbarapi-1-8-1-14-2.1315/),  [NBTAPI](https://www.spigotmc.org/resources/nbt-api.7939/), [Vault](https://www.spigotmc.org/resources/vault.34315/) , PlaceholderAPI

1.12.2: [TitleAPI](https://www.spigotmc.org/resources/titleapi-1-8-1-17.1325/), [ActionBarAPI](https://www.spigotmc.org/resources/actionbarapi-1-8-1-14-2.1315/),  [NBTAPI](https://www.spigotmc.org/resources/nbt-api.7939/), [Vault](https://www.spigotmc.org/resources/vault.34315/) , PlaceholderAPI

1.16.5+:  [NBTAPI](https://www.spigotmc.org/resources/nbt-api.7939/), [Vault](https://www.spigotmc.org/resources/vault.34315/), PlaceholderAPI


# Placeholders

**Placeholder List:**

**Essence:**

* %rivalpickaxes\_essence% - Raw Essence
* %rivalpickaxes\_essence\_formatted% - Formatted Essence
* %rivalpickaxes\_essencetop\_position% - Essence Position
* %rivalpickaxes\_essencetop\_name\_\<place>% - Get Name of Player
* %rivalpickaxes\_essencetop\_value\_\<place>% - Get Value of Place

**Blocks:**

* %rivalpickaxes\_blocks% - Raw Blocks

* %rivalpickaxes\_blocks\_formatted% - Formatted Blocks

* %rivalpickaxes\_essencetop\_position% - Essence Position

* %rivalpickaxes\_essencetop\_name\_\<place>% - Get Name of Player

**Leaderboards:**

* %rivalpickaxes\_blockstop\_name\_\<place>% - Get Name of Player
* %rivalpickaxes\_blockstop\_value\_\<place>% - Get Value of Place
* %rivalpickaxes\_blockstop\_position% - Get the position of Player on the leaderboard

#### Harvester Event:

* %rivalpickaxes\_miningevent\_time\_next% - Returns time until next event formatted m/s
* %rivalpickaxes\_miningevent\_time\_long% - Returns time until next event formatted minute/second
* %rivalpickaxes\_miningevent\_time\_left% - Return time left of the current  Mining Event
* %rivalpickaxes\_miningevent\_time\_left\_long% - Return time left of the current  Mining Event
* %rivalpickaxes\_miningevent\_active% - Returns "true" if active, false if not
* %rivalpickaxes\_miningevent\_broken% - Returns amount of Blocks broken in Mining Event
* %rivalpickaxes\_miningevent\_position% - Returns current position in the  Mining Event
* %rivalpickaxes\_is\_pickaxe% - Returns "true" if Pickaxe in hand, "false" if not

For Placeholders you will need [PlaceholderAPI](broken://pages/nZybHQMKVwGG6nzWrypm),  for updating Holograms use [HolographicDisplays ](https://dev.bukkit.org/projects/holographic-displays)& [HolographicExtension](https://www.spigotmc.org/resources/holographicextension.18461/) to make updating Placeholders


# Custom Drops

Custom drops can be defined for each mine & material depending on the requirements of the drop

## Possible drops

```yaml
    COAL_ORE:
      '1':
       ############################## 
        name: '&d&lEnchanted Coal'
       ############################## 
        material: COAL
       ############################## 
        base64:
         enabled: true
         value: '' #https://minecraft-heads.com/custom-heads
       ############################## 
        skull:
         enabled: true
         name: Steve
       ############################## 
        lore: 
         - '&7Lore'
         - '&7Lore'
       ############################## 
        glow: true
       ############################## 
        enchants: # Enchants https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html
         - 'DURABILITY:10'
       ############################## 
        flags:  # ItemFlags https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/ItemFlag.html
         - 'HIDE_ENCHANTS' 
       ##############################
        nbt: 
         integer:
           key: 'nbtitem'
           value: '1'
       ##############################  
        nbt: 
         string:
           key: 'nbtitem'
           value: 'Item'
       ############################## 
        nbt: 
         boolean:
           key: 'nbtitem'
           value: true
        ############################## 
        sell-price: 20
        ############################## 
        amount: 1-3
        ############################## 
        essence: 5-10
        ############################## 
        customdata: 1 # For Custom Textures 1.16+
        ############################## 
        xp: 3-5 # Amount of pickaxe xp  
        ##############################
        level-requirement: 5
        ############################## 
        prestige-requirement: 5
        ############################## 
        regions: 
        - 'mineregion'
        ############################## 
        permission: enchanted.coal
        ############################## 
```


# Mine Setup

/pickaxe mineeditor {mine}

##

<figure><img src="/files/uCWH0RP7N2PoiVURVQYF" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/y2E7otQHF9NHQCHNhxJ0" alt=""><figcaption></figcaption></figure>


# Configurations

{% content-ref url="/pages/Io5WNuWGGnHhFewDuaSv" %}
[config.yml](/rival-tools/rival-pickaxes/configurations/config.yml)
{% endcontent-ref %}

{% content-ref url="/pages/YWJkpQkI32wkQT7bw3Sv" %}
[enchants.yml](/rival-tools/rival-pickaxes/configurations/enchants.yml)
{% endcontent-ref %}

{% content-ref url="/pages/xEzeFumGVBnpt7t6OKdH" %}
[minelevels.yml](/rival-tools/rival-pickaxes/configurations/minelevels.yml)
{% endcontent-ref %}

{% content-ref url="/pages/MVbAinZTvgvYQkIcZhuY" %}
[crystals.yml](/rival-tools/rival-pickaxes/configurations/crystals.yml)
{% endcontent-ref %}

{% content-ref url="/pages/AZLuP0eqQvMbh1BInOeK" %}
[mines.yml](/rival-tools/rival-pickaxes/configurations/mines.yml)
{% endcontent-ref %}

{% content-ref url="/pages/4GBZOrhg2SCTVTTnkrhv" %}
[mobs.yml](/rival-tools/rival-pickaxes/configurations/mobs.yml)
{% endcontent-ref %}

{% content-ref url="/pages/iAXKf0qvAqPumW0RSE3b" %}
[levels.yml](/rival-tools/rival-pickaxes/configurations/levels.yml)
{% endcontent-ref %}

{% content-ref url="/pages/djbXSQDR06AJJ9zE0pHN" %}
[disenchantmenu.yml](/rival-tools/rival-pickaxes/configurations/disenchantmenu.yml)
{% endcontent-ref %}

{% content-ref url="/pages/gicj771oTPgJv9QgOuZ7" %}
[upgrademenu.yml](/rival-tools/rival-pickaxes/configurations/upgrademenu.yml)
{% endcontent-ref %}

{% content-ref url="/pages/Y9Ty3Hhh2TnwGl380u6m" %}
[leaderboards.yml](/rival-tools/rival-pickaxes/configurations/leaderboards.yml)
{% endcontent-ref %}

{% content-ref url="/pages/2RDJuchnbaVxAP8ENXMH" %}
[captcha.yml](/rival-tools/rival-pickaxes/configurations/captcha.yml)
{% endcontent-ref %}

{% content-ref url="/pages/4OS8gGMhQvHDLPtMmdvZ" %}
[prestige.yml](/rival-tools/rival-pickaxes/configurations/prestige.yml)
{% endcontent-ref %}

{% content-ref url="/pages/740OLs0TvxlTMB49XYsL" %}
[shops.yml](/rival-tools/rival-pickaxes/configurations/shops.yml)
{% endcontent-ref %}


# config.yml

```yaml
#####################################################################################################################
#  ____  _____     ___    _       _   _    _    ______     _______ ____ _____ _____ ____    _   _  ___  _____ ____  #
# |  _ \|_ _\ \   / / \  | |     | | | |  / \  |  _ \ \   / | ____/ ___|_   _| ____|  _ \  | | | |/ _ \| ____/ ___| #
# | |_) || | \ \ / / _ \ | |     | |_| | / _ \ | |_) \ \ / /|  _| \___ \ | | |  _| | |_) | | |_| | | | |  _| \___ \ #
# |  _ < | |  \ V / ___ \| |___  |  _  |/ ___ \|  _ < \ V / | |___ ___) || | | |___|  _ <  |  _  | |_| | |___ ___) |#
# |_| \_|___|  \_/_/   \_|_____| |_| |_/_/   \_|_| \_\ \_/  |_____|____/ |_| |_____|_| \_\ |_| |_|\___/|_____|____/ #
#                                                                                                                   #
#####################################################################################################################
Database:
  # SQLite or MySQL
  database-type: SQLite
  mysql:
    host: localhost
    port: 3306
    database: dbName
    username: dbUser
    password: dbPassword
Main:
  # Time is in Ticks: 1 second = 20 ticks
  Money-Giver:
    time: 100
  Eco-Giver:
    time: 100
  #Keep Pickaxe after dying
  keep-on-death: true
  # Prevents player from using the pickaxe if he is not the owner
  perplayerpickaxes: true
  # Disables player from upgrading pickaxe if he is not the owner
  perplayerpickaxes-upgrades: true
  # Allows pickaxe to be used on normal blocks
  pickaxe-usable-anywhere: false
  # Shows a cool animation when breaking blocks
  mining-animation: true

  mcmmo:
    exp-per-ore: 20
  aurelium-skills:
    amount: 4
  eco-skills:
    amount: 4
  #Stops enchants from being applied to pickaxe & enchants activating
  advanced-enchantments-hook: true
  #Essence & Money Booster support, Restart server after changing value
  superboosters-hook:
    money: false
    essence: false
  #AdvancedArmor Enchant proc, Keyfinder proc & Spawner proc, CUSTOM, CUSTOM_2, CUSTOM_3
  advancedarmor-hook: true
  shopguiplus-hook: true
  # ShopGUIPlus hook must be enabled for this to work
  shopguiplus-multipliers: true
  # Give players a pickaxe on first join
  on-join-pickaxe:
    enabled: true
    silent: false
    enchants: speed:1,haste:1,keyfinder:5,spawnerfinder:5
  # Filler used in all GUI's
  filler:
    material: BLACK_STAINED_GLASS_PANE
# Sounds
Sounds:
  use-sounds: true
  main-menu-open: ORB_PICKUP;1.0;1.0
  enchant-purchase: LEVEL_UP;1.0;1.0
  enchant-disenchant: ITEM_BREAK;1.0;1.0
  enchant-maxlevel: ANVIL_LAND;1.0;1.0
  captcha-fail: ANVIL_LAND;1.0;1.0
  captcha-success: LEVEL_UP;1.0;1.0
  autosell-message: LEVEL_UP;1.0;1.0
  pickaxe-levelup: LEVEL_UP;1.0;1.0
  pickaxe-prestige: LEVEL_UP;1.0;1.0
  pickaxe-levelup-max: WITHER_SHOOT;1.0;1.0
  mine-levels-requirement: ANVIL_LAND;1.0;1.0
# Main Menu That opens when Right Clicked with Pickaxe
MainMenu:
  name: '&8ServerName » Pickaxe'
  size: 27
  pickaxe-preview-slot: 4
  pickaxe-preview-enabled: true
  settings-enabled: true
  disenchanter-enabled: true
  disenchanter-mainmenu-enabled: false
  blocktop-mainmenu: true
  essencetop-mainmenu: true
  prices-mainmenu: true
  stats-enabled: true
  mine-levels-enabled: true
  stats-slot: 10
  upgrades-slot: 13
  disenchanter-slot: 12
  settings-slot: 16
  blocktop-slot: 21
  essencetop-slot: 23
  prices-slot: 23
  mine-levels-slot: 22
GUI:
  back-enchanter:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l<!> &c&lGo Back'
    lore:
      - '&7&o(( Click to go back to main menu ))'
    enabled: true
    slot: 36
  back-disenchanter:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l<!> &c&lGo Back'
    lore:
      - '&7&o(( Click to go back to enchanter))'
    enabled: true
    slot: 36
  already-have:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cAlready have the enchant'
    lore:
      - '&7&o(( Your pickaxe already has this enchant ))'
    message: '&4&l[!] &fYou &calready &fhave this enchant.'
  purchased:
    material: EMERALD_BLOCK
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODZhZGRiZDVkZWRhZDQwOTk5NDczYmU0YTdmNDhmNjIzNmE3OWEwZGNlOTcxYjVkYmQ3MzcyMDE0YWUzOTRkIn19fQ==
    name: '&2&l[!] &aPurchased Enchant'
    lore:
      - '&7&o(( You have purchased this enchant for your pickaxe ))'
    message: '&2&l[!] &fYou have purchased the {enchant} &fenchant'
  no-level:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cPickaxe Level too low'
    lore:
      - '&7&o(( Your pickaxe level is too low ))'
    message: '&4&l[!] &cPickaxe level &f&n%level% &crequired to purchase this enchant.'
    leveled-up: '&2&l[!] &fYou have &aleveled up &fyour pickaxe to level &a{level}&f.'
  no-essence:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cNot enough Essence'
    lore:
      - '&7&o(( You dont have enough essence ))'
    message: '&3&l[!] &fYou don''t have enough &bessence &ffor this enchant.'
  max-level:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cMAX LEVEL'
    lore:
      - '&7&o(( This enchant is at its Max Level ))'
    message: '&4&l[!] &fThis enchant is at its &cmax &flevel.'
    message-exceeded: '&4&l[!] &fThis purchase would exceed the &cmax &flevel for
      this enchant.'
  upgrades-mainmenu:
    material: PAINTING
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzUzNjJmOTBmZjI5Y2NkNDBmNDIzNWEwNWRkOTFkZjA5MWNmNDNmM2EyZjcxNDE0ZGZiYmNhNmU1ZDM2MzRkOSJ9fX0=
    name: '&3&l[!] &b&lUpgrade'
    lore:
      - '&7&o(( Click to view all upgrades. ))'
  disenchanter-mainmenu:
    material: PAINTING
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzUzNjJmOTBmZjI5Y2NkNDBmNDIzNWEwNWRkOTFkZjA5MWNmNDNmM2EyZjcxNDE0ZGZiYmNhNmU1ZDM2MzRkOSJ9fX0=
    gui-name: '&8Pickaxe Disenchanter'
    gui-size: 45
    name: '&3&l[!] &b&lDisenchanter'
    lore:
      - '&7&o(( Click to disenchant your enchants. ))'
    items:
      '1':
        name: '&6&l[!] &e&lDisenchanting'
        material: BOOK
        lore:
          - '&8Disenchant Tool'
          - ''
          - '&7Disenchanting an enchant will give you &f50%'
          - '&7of the essence spent on that enchant'
          - ''
          - '&fLeft-Click&7 to disenchant 1 enchant level'
          - '&fRight-Click&7 to disenchant 10 enchant levels'
          - '&fMiddle-Click&7 to disenchant 100 enchant levels'
          - '&fQ &7to disenchant all of the enchant levels'
        amount: 1
        slot: 0
  settings-mainmenu:
    material: QUARTZ
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGUxNTBhYjdjMDE4NDZmNDgwODk3ZmJkMzVmMDUyNWNhZWI1MmFhNjI0Zjk2NzAwOTVmMzk2MTA1ODkzZGFjYiJ9fX0=
    name: '&3&l[!] &b&lSettings'
    lore:
      - '&7&o(( Click to enable/disable features. ))'
  blocktop-mainmenu:
    material: STONE
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjMzYWZkNTdlYTE2YmM2NmVlYjQ1NmE4YTdjMTIzNDY3OGQ1OTVhOTYwNDZjYWQzMzZjNGZkYzgxZjBkZmRmNSJ9fX0=
    name: '&3&l[!] &b&lBlock Top'
    lore:
      - '&7&o(( Click to view top miner leaderboards. ))'
  essencetop-mainmenu:
    material: MAGMA_CREAM
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjgwOWQyZTY5NjEwZjFlNmI3NWZlMGQ0NTk4ZTQ0MWU1NjAzMjVkMmQ1MmQ5N2NmNjY4NTljNDRmYTNkOGE3OSJ9fX0=
    name: '&3&l[!] &b&l{eco_name} Top'
    lore:
      - '&7&o(( Click to view {eco_name_lowercase} top leaderboard. ))'
  minelevels-mainmenu:
    material: DIAMOND_PICKAXE
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODZkZmMyZDI1ZjI1NjEzMTM1ZTA5ODJjZGMzNmVhNGZkYWRhYzc3YzgyZWU1MDBlYzQ4NmQ1N2ZhZGZmZmQzYiJ9fX0=
    name: '&3&l[!] &b&lMine Levels'
    lore:
      - '&7&o(( Click to view all the mine levels ))'
  # /miner - Shows players currently mining
  miners-mainmenu:
    gui-name: '&8ServerName » Miners'
    item:
      lore:
        - '&f▎ &bMoney: &2$&a{money}'
        - '&f▎ &bEssence: &6❋&e{essence}'
        - '&f▎ &bTotal Blocks: &f{blocks}'
        - ''
        - '&f▎ &bBlocks Per Second: &f{bps}'
        - ''
        - '&7&o(( Click to teleport to player ))'
    color: '&f&l'
    pages:
      name: '&f&lPAGES'
      base64:
        enabled: false
        value: ''
      material: BOOK
    next-page:
      material: EMERALD
      base64:
        enabled: false
        value: ''
      name: '&2[!] &a&lNEXT PAGE -->'
      lore:
        - '&7&o(( Click to go to the next page ))'
    return-page:
      material: REDSTONE
      base64:
        enabled: false
        value: ''
      name: '&4[!] &c&lGO BACK <--'
      lore:
        - '&7&o(( Click to go back ))'
  settings-menu:
    name: '&8ServerName » Settings'
    size: 27
    autosell-message-chat-enabled:
      slot: 11
      material: SIGN
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmY3NWQxYjc4NWQxOGQ0N2IzZWE4ZjBhN2UwZmQ0YTFmYWU5ZTdkMzIzY2YzYjEzOGM4Yzc4Y2ZlMjRlZTU5In19fQ==
      name: '&3&l[!] &b&lAutoSell Chat Message'
      lore:
        - '&f▎ &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    autosell-message-chat-disabled:
      material: SIGN
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmY3NWQxYjc4NWQxOGQ0N2IzZWE4ZjBhN2UwZmQ0YTFmYWU5ZTdkMzIzY2YzYjEzOGM4Yzc4Y2ZlMjRlZTU5In19fQ==
      name: '&3&l[!] &b&lAutoSell Chat Message'
      lore:
        - '&f▎ &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    keyfinder-messages-enabled:
      slot: 13
      material: TRIPWIRE_HOOK
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIxNWU4ZWJlZmYwYTIwMDhmMTRiZGEwNzJmNzU2MTVkYWNhYzBjNGRhYmM5MGQ5ZDUyY2MzMjE0ZTVjNTM1NyJ9fX0=
      name: '&3&l[!] &b&lKey Finder Message'
      lore:
        - '&f▎ &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    keyfinder-messages-disabled:
      material: TRIPWIRE_HOOK
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIxNWU4ZWJlZmYwYTIwMDhmMTRiZGEwNzJmNzU2MTVkYWNhYzBjNGRhYmM5MGQ5ZDUyY2MzMjE0ZTVjNTM1NyJ9fX0=
      name: '&3&l[!] &b&lKey Finder Message'
      lore:
        - '&f▎ &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    spawnerfinder-messages-enabled:
      slot: 14
      material: MOB_SPAWNER
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ3ZTJlNWQ1NWI2ZDA0OTQzNTE5YmVkMjU1N2M2MzI5ZTMzYjYwYjkwOWRlZTg5MjNjZDg4YjExNTIxMCJ9fX0=
      name: '&3&l[!] &b&lSpawner Finder Message'
      lore:
        - '&f▎ &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    spawnerfinder-messages-disabled:
      material: MOB_SPAWNER
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ3ZTJlNWQ1NWI2ZDA0OTQzNTE5YmVkMjU1N2M2MzI5ZTMzYjYwYjkwOWRlZTg5MjNjZDg4YjExNTIxMCJ9fX0=
      name: '&3&l[!] &b&lSpawner Finder Message'
      lore:
        - '&f▎ &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    essencepouch-messages-enabled:
      slot: 15
      material: GOLD_INGOT
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTMzZTkyYjA2NTcxOTZjYmExODZjZTc0ZjIwMzhiOTNiZThlNDI1MWFlMmNhYTNlYmY1MWNkZWYwM2E3NDM4NCJ9fX0=
      name: '&3&l[!] &b&lEssence Pouch Message'
      lore:
        - '&f▎ &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    essencepouch-messages-disabled:
      material: GOLD_INGOT
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTMzZTkyYjA2NTcxOTZjYmExODZjZTc0ZjIwMzhiOTNiZThlNDI1MWFlMmNhYTNlYmY1MWNkZWYwM2E3NDM4NCJ9fX0=
      name: '&3&l[!] &b&lEssence Pouch Message'
      lore:
        - '&f▎ &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    moneypouch-messages-enabled:
      slot: 12
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZlMGQ1ZmU4N2QyZDIxZTJiZGU2Mzc0NDI1YTM0MWE3NTczYjM3NWQ1YmI3ZDQ3ZjRiOGRhZTM1Mjk3ZWE0In19fQ==
      name: '&3&l[!] &b&lMoney Pouch Message'
      lore:
        - '&f▎ &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    moneypouch-messages-disabled:
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZlMGQ1ZmU4N2QyZDIxZTJiZGU2Mzc0NDI1YTM0MWE3NTczYjM3NWQ1YmI3ZDQ3ZjRiOGRhZTM1Mjk3ZWE0In19fQ==
      name: '&3&l[!] &b&lMoney Pouch Message'
      lore:
        - '&f▎ &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    actionbar-messages-enabled:
      slot: 21
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzdlYTY3Njg2OTcxOGIxMWU4YTNhMTc0OTdjYzYzOGU2YThkYzFkMzFlNTM4MmZmZTNjZjk0YWFlNzE3YWRhZiJ9fX0=
      name: '&3&l[!] &b&lActionBar Messages'
      lore:
        - '&f▎ &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    actionbar-messages-disabled:
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzdlYTY3Njg2OTcxOGIxMWU4YTNhMTc0OTdjYzYzOGU2YThkYzFkMzFlNTM4MmZmZTNjZjk0YWFlNzE3YWRhZiJ9fX0=
      name: '&3&l[!] &b&lActionBar Messages'
      lore:
        - '&f▎ &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    title-messages-enabled:
      slot: 23
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjgwOGQ5MjEzYWY5ZTIyMzVhMDgyOGMyOWZiODA2MGVkMGUzYTdhZjI5ZGJkNWI1YTkyYWI5NjRjZjhhNTRlYSJ9fX0=
      name: '&3&l[!] &b&lTitle Messages'
      lore:
        - '&f▎ &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    title-messages-disabled:
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjgwOGQ5MjEzYWY5ZTIyMzVhMDgyOGMyOWZiODA2MGVkMGUzYTdhZjI5ZGJkNWI1YTkyYWI5NjRjZjhhNTRlYSJ9fX0=
      name: '&3&l[!] &b&lTitle Messages'
      lore:
        - '&f▎ &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
  stats-mainmenu:
    material: NETHER_STAR
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTQ4MGQ1N2IwZDFkNDMyZTA3NDg3OGM2YWVjNWY0NWEyY2U5OGQ5YzQ4MWZiOGNjODM4MmNmZjE3MWY4MzY5OSJ9fX0=
    name: '&3&l[!] &b&lStats'
    lore:
      - ''
      - '&3&lPICKAXE INFO'
      - ' &3&l▎ &bPickaxe Owner: &f{owner}'
      - ''
      - '&3&lYOUR STATS'
      - ' &3&l▎ &bYour Essence: &6❋&e{currentessence}'
      - ' &3&l▎ &bYour Blocks mined: &f{blocks-broken}'
# Pickaxe Item Settings
Pickaxe-Settings:
  name: '&a&l{owner}''s Pickaxe {mode}'
  # Possible types: WOODEN, STONE, IRON, GOLDEN, DIAMOND, 1.16+ NETHERITE
  type: DIAMOND
  autosell: '&8[&fAutoSell&8]'
  collect: ''
  lore:
    - '&8Custom Tool'
    - '&7Mine blocks and earn essence to upgrade'
    - '&7your pickaxe.'
    - ''
    - '&2&lPICKAXE'
    - ' &2&l▏ &aOwner: &f{owner}'
    - ' &2&l▏ &aLevel: &f{level}'
    - ' &2&l▏ &aPrestige: &f{prestige}'
    - ' &2&l▏ &aXP: &c{progress-current}&8/&a{progress-needed}'
    - ' &2&l▏ &aProgress: &8[{progress}&8] &f{percentage}%'
    - ''
    - '&2&lENCHANTS &8(&7{amount}&8)'
    - '&2&l▏ %enchant-AutoSell% &f1&8/&71'
    - '&2&l▏ %enchant-Efficiency% &f{current-level}&8/&7{max-level}'
    - '&2&l▏ %enchant-MoneyPouch% &f{current-level}&8/&7{max-level}'
    - '&2&l▏ %enchant-MoneyBooster% &f{current-level}&8/&7{max-level}'
    - '&3&l▏ %enchant-EXPFinder% &f{current-level}&8/&7{max-level}'
    - '&3&l▏ %enchant-SpawnerFinder% &f{current-level}&8/&7{max-level}'
    - '&3&l▏ %enchant-XPBooster% &f{current-level}&8/&7{max-level}'
    - '&3&l▏ %enchant-Speed% &f{current-level}&8/&7{max-level}'
    - '&6&l▏ %enchant-KeyFinder% &f{current-level}&8/&7{max-level}'
    - '&6&l▏ %enchant-EssenceBooster% &f{current-level}&8/&7{max-level}'
    - '&6&l▏ %enchant-EssencePouch% &f{current-level}&8/&7{max-level}'
    - '&8&l▏ %enchant-Fortune% &f{current-level}&8/&7{max-level}'
    - '&8&l▏ %enchant-Haste% &f{current-level}&8/&7{max-level}'
    - '&5&l▏ %enchant-Merchant% &f{current-level}&8/&7{max-level}'
    - '&5&l▏ %enchant-EnchantProcBooster% &f{current-level}&8/&7{max-level}'
    - '&5&l▏ %enchant-Scavenger% &f{current-level}&8/&7{max-level}'
    - '&4&l▏ %enchant-Explosive% &f{current-level}&8/&7{max-level}'
    - '&4&l▏ %enchant-SecondHand% &f{current-level}&8/&7{max-level}'
    - ''
    - '&2&lMODE'
    - '&2&l▏ &aPickaxe Mode: &f{mode}'
    - '&7&o(( Shift Right-Click to switch mode ))'
  changed-mode: '&3&l[!] &bChanged Pickaxe mode to &f{mode}.'
  opened-gui: '&3&l[!] &bOpened &fPickaxe &bUpgrade GUI.'
  no-pickaxe: '&4&l[!] &cYou are not holding a upgradable pickaxe.'
  opened-gui-message: true
  glow: true
  format-decimal-progress: true
  progress-bar:
    amount: 20
    symbol: ▎
    completed-color: '&a'
    not-completed-color: '&c'
  xp-per-block: 5.0
  pickaxe-info:
    name: '&3&l[!] &b&lEnchants'
    material: BEACON
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQzZjUyMGM4NTZiYzdhMDM2NGUwZWRlNzI5ZmI0OWQ2ZGMwNDZjZjdkOGY1NjQ5NGQwYzJmMjg2YjYyMzUzMSJ9fX0=
    lore:
      - '&f&lENCHANTS &8(&7{amount}&8)'
      - '&2&l▏ %enchant-AutoSell% &f1&8/&71'
      - '&2&l▏ %enchant-Efficiency% &f{current-level}&8/&7{max-level}'
      - '&2&l▏ %enchant-MoneyPouch% &f{current-level}&8/&7{max-level}'
      - '&2&l▏ %enchant-MoneyBooster% &f{current-level}&8/&7{max-level}'
      - '&3&l▏ %enchant-EXPFinder% &f{current-level}&8/&7{max-level}'
      - '&3&l▏ %enchant-SpawnerFinder% &f{current-level}&8/&7{max-level}'
      - '&3&l▏ %enchant-XPBooster% &f{current-level}&8/&7{max-level}'
      - '&3&l▏ %enchant-Speed% &f{current-level}&8/&7{max-level}'
      - '&6&l▏ %enchant-KeyFinder% &f{current-level}&8/&7{max-level}'
      - '&6&l▏ %enchant-EssenceBooster% &f{current-level}&8/&7{max-level}'
      - '&6&l▏ %enchant-EssencePouch% &f{current-level}&8/&7{max-level}'
      - '&8&l▏ %enchant-Fortune% &f{current-level}&8/&7{max-level}'
      - '&8&l▏ %enchant-Haste% &f{current-level}&8/&7{max-level}'
      - '&5&l▏ %enchant-Merchant% &f{current-level}&8/&7{max-level}'
      - '&5&l▏ %enchant-EnchantProcBooster% &f{current-level}&8/&7{max-level}'
      - '&5&l▏ %enchant-Scavenger% &f{current-level}&8/&7{max-level}'
      - '&4&l▏ %enchant-Explosive% &f{current-level}&8/&7{max-level}'
      - '&4&l▏ %enchant-SecondHand% &f{current-level}&8/&7{max-level}'
command:
  essence:
    default:
      - '&f&l[!] &e&lEssence Commands '
      - ' &8▎ &f/essence &7balance <player>'
      - ' &8▎ &f/essence &7pay <player> <amount>'
      - ' &8▎ &f/essence &7withdraw <player> <amount>'
      - ' &8▎ &f/essence &7shop'
    admin:
      - '&f&l[!] &e&lEssence Admin Commands '
      - ' &8▎ &f/essence &7give <player> <amount>'
      - ' &8▎ &f/essence &7reset <player>'
      - ' &8▎ &f/essence &7set <player> <amount>'
      - ' &8▎ &f/essence &7remove <player> <amount>'
      - ' &8▎ &f/essence &7reload'
      - ' &8▎ &f/essence &7force'
  blocks:
    default:
      - '&3&l[!] &b&lBlocks Commands'
      - ' &8▎ &f/blocks top'
      - ' &8▎ &f/blocks balance &7<player>'
    admin:
      - '&3&l[!] &b&lBlocks Admin Commands'
      - ' &8▎ &f/blocks set &7<player> <amount>'
      - ' &8▎ &f/blocks give &7<player> <amount>'
      - ' &8▎ &f/blocks reset &7<player> <amount>'
      - ' &8▎ &f/blocks remove &7<player> <amount>'
      - ' &8▎ &f/blocks force &7'
  pickaxe:
    default:
      - '&f&l[!] &b&lPickaxe Commands '
      - ' &8▎ &f/pickaxe &7about'
      - ' &8▎ &f/pickaxe &7info'
      - ' &8▎ &f/pickaxe &7stats'
    admin:
      - '&f&l[!] &b&lPickaxe Admin Commands '
      - ' &8▎ &f/pickaxe &7give <player> <enchant:level>,<enchant:level>,<level:level>,<autosell:1>'
      - ' &8▎ &f/pickaxe &7testchance <enchant> <levels> <blocks>'
      - ' &8▎ &f/pickaxe &7giveenchant <player> <enchant> <level>'
      - ' &8▎ &f/pickaxe &7givelevel <player> <level>'
      - ' &8▎ &f/pickaxe &7setlevel <level>'
      - ' &8▎ &f/pickaxe &7setenchant <enchant:level>, <enchant:level>'
      - ' &8▎ &f/pickaxe &7calc <enchant> <levels>'
      - ' &8▎ &f/pickaxe &7admin'
      - ' &8▎ &f/pickaxe &7reload'
# Permissions - add rivalpickaxes.main to give access to commands, rivalpickaxes.admin permission for admin commands
permissions:
  force-captcha: rivalpickaxes.captcha.force
  miners: rivalpickaxes.miners
  pickaxe-testchance: rivalpickaxes.testchance
  pickaxe-stats: rivalpickaxes.stats
  pickaxe-reload: rivalpickaxes.reload
  pickaxe-info: rivalpickaxes.info
  pickaxe-give: rivalpickaxes.give
  pickaxe-miningevent: rivalpickaxes.miningevent
  pickaxe-calculate: rivalpickaxes.calculate
  pickaxe-admin: rivalpickaxes.admin
  pickaxe-max: rivalpickaxes.max
  pickaxe-setenchant: rivalpickaxes.setenchant
  pickaxe-giveenchant: rivalpickaxes.giveenchant
  pickaxe-givelevel: rivalpickaxes.givelevel
  pickaxe-setowner: rivalpickaxes.setowner
  pickaxe-prestige: rivalpickaxes.prestige
  pickaxe-setprestige: rivalpickaxes.setprestige
  pickaxe-mode: rivalpickaxes.mode
  pickaxe-toggle: rivalpickaxes.toggle
  pickaxe-editor: rivalpickaxes.editor
  pickaxe-history: rivalpickaxes.history
  pickaxe-transfer: rivalpickaxes.transfer
  pickaxe-givecrystal: rivalpickaxes.givecrystal
  pickaxe-giveblackscroll: rivalpickaxes.giveblackscroll
  blocks-force: rivalpickaxes.blocks.force
  blocks-give: rivalpickaxes.blocks.give
  blocks-remove: rivalpickaxes.blocks.removed
  blocks-reset: rivalpickaxes.blocks.reset
  blocks-set: rivalpickaxes.blocks.set
  blocks-balance: rivalpickaxes.blocks.balance
  blocks-top: rivalpickaxes.blocks.top
  essence-give: rivalpickaxes.essence.give
  essence-remove: rivalpickaxes.essence.remove
  essence-reset: rivalpickaxes.essence.reset
  essence-set: rivalpickaxes.essence.set
  essence-pay: rivalpickaxes.essence.pay
  essence-balance: rivalpickaxes.essence.balance
  essence-shop: rivalpickaxes.essence.shop
  essence-withdraw: rivalpickaxes.essence.withdraw
  mining-event-command: rivalpickaxes.miningevent.command
  no-permission: '&4&l[!] &cYou do not have permission.'
Shop:
  open-essence-shop: '&3&l[!] &bOpening the essence shop...'
  not-enough: '&4&l[!] &cYou don''t have enough essence for this item.'
  successful-purchase: '&3&l[!] &bYou have successfully bought {item} for &f{price}
    &bessence.'
Blocks:
  set-admin: '&4&l[!] &cYou set &f{player}''s&c blocks amount to &f{value}&c.'
  set-player: '&4&l[!] &cYour &fblocks &camount has been set to &f{value}&c.'
  remove-admin: '&4&l[!] &cYou removed &f{value}&c blocks from &f{player}''s &cbalance.'
  remove-player: '&4&l[!] &f{value} &cblocks have been taken from your account.'
  give-admin: '&4&l[!] &cYou have given &f{player} {value} &cblocks.'
  give-player: '&4&l[!] &cYou have been given &f{value}&c blocks.'
  reset-admin: '&4&l[!] &cYou have reset &f{player}''s&c blocks amount.'
  reset-player: '&4&l[!] &cYour &fblocks &camount has been reset.'
# Mining Event
MiningEvent:
  config:
    started-event: '&4&l[!] &7You have &astarted &7the Mining Event.'
    already-started: '&4&l[!] &7The Mining Event has already been started!'
    not-started: '&3&l[!] &7The &fMining Event &7has not started yet! Starting in
      &b{next-time}'
  auto-start:
    enabled: true
    # Times in Seconds
    time: 1200
  lasts-time: 300
  message-started:
    - '[center]&d&l✧ &f&l✧ &d&l✧ &5&lMining Event &d&l✧ &f&l✧ &d&l✧'
    - ''
    - '[center]&7Mining Event has started!'
    - '[center]&7Ending in: &f5mins'
    - '[center]&7(( Top 5 Miners receive a reward! ))'
  places: 5
  message:
    - '[center]&d&l✧ &f&l✧ &d&l✧ &5&lMining Event &d&l✧ &f&l✧ &d&l✧'
    - ''
    - '[center]&7Mining Event has ended!'
    - ''
    - '[center]&a#1 &d&l{player-0} &8- &f{amount-0}'
    - '[center]&6#2 &d&l{player-1} &8- &f{amount-1}'
    - '[center]&c#3 &d&l{player-2} &8- &f{amount-2}'
    - '[center]&f#4 &d&l{player-3} &8- &f{amount-3}'
    - '[center]&f#5 &d&l{player-4} &8- &f{amount-4}'
    - '[center]&7&o(( Top 5 players have received their rewards! ))'
  current:
    - '[center]&d&l✧ &f&l✧ &d&l✧ &5&lMining Event &d&l✧ &f&l✧ &d&l✧'
    - ''
    - '[center]&7Current Leaderboard!'
    - ''
    - '[center]&a#1 &d&l{player-0} &8- &f{amount-0}'
    - '[center]&6#2 &d&l{player-1} &8- &f{amount-1}'
    - '[center]&c#3 &d&l{player-2} &8- &f{amount-2}'
    - '[center]&f#4 &d&l{player-3} &8- &f{amount-3}'
    - '[center]&f#5 &d&l{player-4} &8- &f{amount-4}'
    - '[center]&7&o(( Top 5 players will receive a reward! ))'
    - ''
    - '[center]&d&lYour Blocks Broken: &f{current}'
    - '[center]&5&lTime Left: &f{time-left}'
    - ''
  rewards:
    '0':
      commands:
        - eco give {player} 500000
      message: '&5&lMINING EVENT &8» &7You have placed in #1 Place and received a
        reward'
    '1':
      commands:
        - eco give {player} 400000
      message: '&5&lMINING EVENT &8» &7You have placed in #2 Place and received a
        reward'
    '2':
      commands:
        - eco give {player} 300000
      message: '&5&lMINING EVENT &8» &7You have placed in #3 Place and received a
        reward'
    '3':
      commands:
        - eco give {player} 200000
      message: '&5&lMINING EVENT &8» &7You have placed in #4 Place and received a
        reward'
    '4':
      commands:
        - eco give {player} 100000
      message: '&5&lMINING EVENT &8» &7You have placed in #5 Place and received a
        reward'
EnchantBook:
  material: BOOK
  glow: true
  name: '{enchant} &8» &f{level} Level(s)'
  lore:
    - '&8▎ &7Enchant: &f{enchant-raw}'
    - '&8▎ &7Level: &f{level}'
    - '&8▎ &7Can be applied to: &fPickaxe '
    - ''
    - '&7&o(( Place this on a pickaxe to apply the enchant ))'
  message: '&5&l[!] &7You have added &f{level} &7levels of &f{enchant} &7to your pickaxe!'
  max-level: '&4&l[!] &7{enchant} &7is already at max level!'
LevelCrystal:
  material: EMERALD
  glow: true
  name: '&2&l[!] &a&lLevel Upgrade'
  lore:
    - '&8▎ &7Levels: &f{level}'
    - '&8▎ &7Can be applied to: &fPickaxe'
    - ''
    - '&7&o(( Place this on a pickaxe to level it up))'
  message: '&2&l[!] &aYou have added &f{level} &alevel(s) to your pickaxe!'
  max-level: '&4&l[!] &cYour &fPickaxe &cis already at &f&nmax&r &clevel!'
Economy:
  # Possible economies,RivalPickaxes, RivalHarvesterHoes, Vault, PlaceholderAPI or register a custom one through the API
  economy-type: RivalHarvesterHoes
  economy-command: essence
  economy-command-aliases:
    - essence
  economy-name: Essence
PlaceholderAPI-Economy:
  # Use a placeholder without formatting or otherwise it won't work.
  balance-placeholder: '%tokens_balance%'
  give-command: tokens give %player% %amount%
  take-command: tokens remove %player% %amount%
  # If false, whole numbers will be used in the %amount%, if true decimal amount will be used
  decimal-support: true
Essence:
  item-material: MAGMA_CREAM
  item-name: '&e{amount} &8» &6&lEssence'
  item-lore:
    - ''
    - '&7&o(( Click to redeem &f{amount}  &7&oessence ))'
    - ''
  decimal-format: '#,###'
  withdraw-delay: '&4&lWait &f{time} &cbefore withdrawing again.'
  no-pickaxe: '&4&l[!] &cYou must be holding a pickaxe'
  bottom-block: '&4&l[!] &cYou can not break bottom block of sugarcane with your pickaxe.'
  bottom-block-bamboo: '&4&l[!] &cYou can not break bottom block of bamboo with your
    pickaxe.'
  per-player-pickaxe: '&4&l[!] &fYou can''t use this &cPickaxe &fas you
    are not the &cOwner &fof the &cPickaxe&f.'
  full-inventory: '&4&l[!] &fYour inventory is full!'
  received-pickaxe: '&3&l[!] &bYou have received a &fPickaxe&b.'
  given-pickaxe: '&3&l[!] &bYou have given &f{player} &ba &fPickaxe&b.'
  invalid-player: '&4&l[!] &cYou have entered an invalid player name!'
  invalid-page: '&4&l[!] &cThere is no page by that name'
  invalid-number: '&4&l[!] &cYou didn''t enter a valid number.'
  inventory-full: '&4&l[!] &cYour inventory is full.'
  only-players: '&4&l[!] &cOnly players may do this.'
  incorrect-usage: '&4&l[!] &cIncorrect Usage: &f{command}'
  under-zero: '&4&l[!] &cYou may not use numbers under 1!'
  no-essence: '&4&l[!] &cYou do not have that much essence, you have &f{essence}'
  yourself: '&4&l[!] &cYou cannot send essence to yourself.'
  redeemed: '&3&l[!] &bYou have redeemed &f{value}&b essence.'
  withdrawn: '&3&l[!] &bYou have withdrawn &f{value}&b essence.'
  set-admin: '&3&l[!] &bYou set &f{player}''s&b essence amount to &f{value}&b.'
  set-player: '&3&l[!] &bYour &fessence &bamount has been set to &f{value}&b.'
  remove-admin: '&3&l[!] &bYou removed &f{value}&b essence from &f{player}''s&b balance.'
  remove-player: '&3&l[!] &f{value} &bessence have been taken from your account.'
  give-admin: '&3&l[!] &bYou have given &f{player} {value} &bessence.'
  give-player: '&3&l[!] &bYou have been given &f{value}&b essence.'
  paid-player: '&3&l[!] &bYou have received &f{value}&b essence from &f{player}'
  player-that-paid: '&3&l[!] &bYou have paid &f{player} {value} &bessence.'
  reset-admin: '&3&l[!] &bYou have reset &f{player}''s&b essence amount.'
  reset-player: '&3&l[!] &bYour &fessence &bamount has been reset.'
  toggle-gui-on: '&2&l[!] &7You have &aallowed &7the pickaxe GUI to open!'
  toggle-gui-off: '&4&l[!] &7You have &cdisabled &7the pickaxe GUI from opening!'
  pickaxe-transfer-not-owner: '&4&l[!] &cYou are not the owner of this pickaxe!'
  pickaxe-transfer-same-player: '&4&l[!] &cYou cant transfer ownership to the same
    player!'
  pickaxe-transfer: '&4&l[!] &cYou transferred pickaxe Ownership &cto &f{playernew}&c!'
  mobs:
    enter-mode: '&2&l[!] &aEntered mob spawning editing mode!'
    leave-mode: '&4&l[!] &cLeft mob spawning editing mode!'
    remove-spawner: '&4&l[!] &cYou have removed the &f{mob_type} &cspawner at Location
      &f{location}'
    add-spawner: '&2&l[!] &aYou have added the &f{mob_type} &aspawner at Location
      &f{location}'
  mines:
    enter-mode: '&2&l[!] &aEntered mine editing mode!'
    leave-mode: '&4&l[!] &cLeft mine editing mode!'
    remove-mine: '&4&l[!] &cYou have removed the &f{mine_type} &cmine at Location
      &f{location}'
    add-mine: '&2&l[!] &aYou have added the &f{mine_type} &amine at Location &f{location}'
    select-1: '&2[!] &aYou have set Position 1 for &f{mine_type} &aat Location &f{location} '
    select-2: '&2[!] &aYou have set Position 2 for &f{mine_type} &aat Location &f{location}'
    confirm: '&7&o(( Selected both locations, click the block you want to become the
      mine in the region you selected. ))'
    confirmed: '&2[!] &aSuccessfully set &f{amount} &amineable blocks of the &f{mine_type}
      &aMine type in this region!'
    removed: '&2[!] &cSuccessfully removed &f{amount} &cmineable blocks of the &f{mine_type}
      &aMine type in this region!'
  player-balance-format:
    - '&e&lYour Essence &8» &f{amount}'
    - '&7Spend Essence by upgrading your pickaxe or in /essence shop'
  others-balance-format:
    - '&e&l{player}''s Essence &8» &f{amount}'
    - '&7Spend Essence by upgrading your pickaxe or in /essence shop'
DefaultSettings:
  AutoSellChat: true
  KeyFinder: true
  SpawnerFinder: true
  MoneyPouch: true
  EssencePouch: true
  ActionBar: true
  Titles: true
Features:
  droppickaxe-title:
    enabled: true
    title: '&4&l[!] &c&lDROP'
    subtitle: '&7Press &cQ &7again to drop your pickaxe!'
    fadeIn: 20
    fadeOut: 20
    time: 80
  droppickaxe-actionbar:
    enabled: true
    value: '&4&l[!] &c&lDROP &7Press &cQ &7again to drop your pickaxe!'
    time: 80
  droppickaxe-messages:
    drop-pickaxe-enabled: true
    block-completely: false
    message: '&4&l[!] &7Press &cQ &7in the next &c10 seconds &7to drop your pickaxe!'
    time: 10
  levelup-title:
    enabled: true
    title: '&2&l[!] &a&lLEVEL UP'
    subtitle: '&7Leveled up your pickaxe to level &f{level}&7!'
    fadeIn: 20
    fadeOut: 20
    time: 80
  levelup-actionbar:
    enabled: true
    value: '&2&l[!] &aYou have leveled up your pickaxe to level &f{level}&a!'
    time: 80
  modechanged-title:
    enabled: true
    title: ''
    title-noautosell: '&4&l[!] &c&lERROR'
    subtitle-noautosell: '&7You don''t have AutoSell on your pickaxe'
    subtitle: '&8❃ &7Changed mode to &8» &f{mode} &8❃'
    fadeIn: 20
    fadeOut: 20
    time: 80
  modechanged-actionbar:
    enabled: true
    value: ''
    value-noautosell: '&4&l[!] &c&lAUTOSELL &8» &7You don''t have AutoSell unlocked!'
    time: 80
  merchant-title:
    enabled: true
    title: '&5&l[!] &d&lMERCHANT'
    subtitle: '&7&o(( Activated. ))'
    fadeIn: 20
    fadeOut: 20
    time: 80
  merchant-actionbar:
    enabled: true
    value: '&5&l[!] &d&lMERCHANT &7has been activated'
    time: 80
  essencedeposit-title:
    enabled: true
    title: '&6&l[!] &e&lESSENCE'
    subtitle: '&a&l+ &6❋&e{essence}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  essencedeposit-actionbar:
    enabled: true
    value: '&6&l[!] &e&lESSENCE &e&l+ &6❋&e{essence}'
    time: 80
  essencewithdraw-title:
    enabled: true
    title: '&6&l[!] &e&lESSENCE'
    subtitle: '&c&l- &6❋&e{essence}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  essencewithdraw-actionbar:
    enabled: true
    value: '&6&l[!] &e&lESSENCE &c&l- &6❋&e{essence}'
    time: 80
  essencenone-title:
    enabled: true
    title: '&4&l[!] &c&lESSENCE'
    subtitle: '&7&o(( You dont''t have enough essence. ))'
    fadeIn: 20
    fadeOut: 20
    time: 80
  essencenone-actionbar:
    enabled: true
    value: '&4&l[!] &7You dont have enough Essence, You have: &6❋&e{essence}'
    time: 80
  fullinventory-title:
    enabled: true
    title: '&4&l[!] &c&lINVENTORY'
    subtitle: '&7&o(( Your inventory is full! ))'
    fadeIn: 20
    fadeOut: 20
    time: 80
  fullinventory-actionbar:
    enabled: true
    value: '&4&l[!] &7Your inventory is full!'
    time: 80
  spawnerfinder-title:
    enabled: true
    title: '&3&l[!] &b&lSPAWNER FINDER'
    subtitle: '{reward}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  spawnerfinder-actionbar:
    enabled: true
    value: '&3&l[!] &b&lSpawner Finder: {reward}'
    time: 80
  keyfinder-title:
    enabled: true
    title: '&3'
    subtitle: '{reward}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  keyfinder-actionbar:
    enabled: true
    value: '&3&l[!] &b&lKey Finder: {reward}'
    time: 80
```


# enchants.yml

```yaml
#######################################################
#  _____ _   _  ____ _   _    _    _   _ _____ ____   #
#  | ____| \ | |/ ___| | | |  / \  | \ | |_   _/ ___| #
# |  _| |  \| | |   | |_| | / _ \ |  \| | | | \___ \  #
# | |___| |\  | |___|  _  |/ ___ \| |\  | | |  ___) | #
# |_____|_| \_|\____|_| |_/_/   \_|_| \_| |_| |____/  #
#                                                     #
#######################################################
UpgradesMenu:
  name: '&8Pickaxe Enchants'
  size: 45
  noautosell: '&4&l[!] &cYou don''t have AutoSell unlocked.'
  hasenchant: '&4&l[!] &cYou already have that enchant.'
  noenchant: '&4&l[!] &cYou don''t have that enchant'
  bought: '&2&l[!] &aYou have purchased &f%level% level(s) &aof %enchant% &afor &6❋&e%essence%'
  refunded: '&4&l[!] &cYou have refunded &f%level% level(s) &cof %enchant% &cand received &6❋&e%essence%
    essence&b.'
  noenchantlevel: '&4&l[!] &fYou don''t have a any &cenchant &flevels to disenchant'
  no-essence: '&4&l[!] &cYou don''t have enough &eessence &cto purchase this enchant.'
  nolevel: '&4&l[!] &cPickaxe level &f&n%level% &crequired to purchase this enchant.'
  pickaxe-preview: true
  pickaxe-preview-slot: 13
  pickaxe-disenchanter-slot: 44
  disenchant-percentage: 50
  last-page:
    name: '&4&l[!] &c&lLast Page'
    material: REDSTONE
    lore:
      - '&7&o(( Click to go back to last page ))'
    slot: 39
  next-page:
    name: '&2&l[!] &a&lNext Page'
    material: EMERALD
    lore:
      - '&7&o(( Click to go to the next page ))'
    slot: 41
  current-page:
    enabled: true
    name: '&6&l[!] &e&lCurrent Page'
    material: BOOK
    lore:
      - '&7&o(( Page {current} out of {max} ))'
    slot: 40
Purchase-Levels:
  LEFT_CLICK:
    amount: 1
    enabled: true
  RIGHT_CLICK:
    amount: 10
    enabled: true
  MIDDLE_CLICK:
    amount: 100
    enabled: true
  DROP_CLICK:
    enabled: true
Disenchant-Levels:
  LEFT_CLICK:
    amount: 1
    enabled: true
  RIGHT_CLICK:
    amount: 10
    enabled: true
  MIDDLE_CLICK:
    amount: 100
    enabled: true
  DROP_CLICK:
    enabled: true
Enchants:
  AutoSell:
    page: 0
    upgradable: true
    disenchanter: true
    name: '&a&lAuto Sell &2&lEnchant'
    rawname: '&a&lAutoSell'
    material: EMERALD
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYWNkNzBjZTQ4MTg1ODFjYTQ3YWRmNmI4MTY3OWZkMTY0NmZkNjg3YzcxMjdmZGFhZTk0ZmVkNjQwMTU1ZSJ9fX0=
    slot: 20
    price: 100000
    required-level: 0
    autosell-time: 60
    lore:
      - '&8Custom Enchant'
      - '&7Automatically sells all mined ores.'
      - ' '
      - ' &2&l▎ &a&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &2&l▎ &a&lCOST: &e%cost% &6Essence'
      - ''
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Automatically sells all mined ores.'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant ))'
    message:
      - ''
      - '&8&l▎ &b&lAuto Sell Summary'
      - '&7&o'
      - '&2▎ &aMoney Made: &2$&a{money}'
      - '&6▎ &eEssence Harvested: &6❋&e{essence}'
      - ''
      - '&8&l▎ &b&lBoosts'
      - '&2▎ &aMoney Boost: &fx{money_boost}'
      - '&6▎ &eEssence Boost: &fx{essence_boost}'
      - '&3▎ &bEnchant Proc Boost: &fx{enchant_proc_boost}'
      - ''
      - '&7&o(( &f&o{items} &7&oitems were sold. ))'
    autosell-actionbar:
      enabled: false
      value: '&2&l[!] &a&lAutoSell: &a&l+ &2$&a{money}  &e&l+ &6❋&e{essence}'
      time: 80
    autosell-title:
      enabled: true
      title: '&2&l[!] &a&lAutoSell'
      subtitle: '&a&l+ &2$&a{money}  &e&l+ &6❋&e{essence}'
      fadeIn: 20
      fadeOut: 20
      time: 80
  KeyFinder:
    page: 1
    enabled: true
    disenchanter: true
    name: '&e&lKey Finder &6&lEnchant'
    rawname: '&e&lKey Finder'
    material: TRIPWIRE_HOOK
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTdhOTc3MmY3ODMxMmIxNDE1NmE0ZThiNjZhNTQ4YjE3MjViYTY5MWI4YjdhMDY2OGFmNjE2MWMyYjgzOGU5YiJ9fX0=
    slot: 23
    base-chance: 0.001
    increase-per-level: 7.0E-6
    price: 50
    price-increase: 80
    max-level: 1000
    required-level: 10
    lore:
      - '&8Custom Enchant'
      - '&7Chance to find crate keys.'
      - ' '
      - ' &6&l▎ &e&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &6&l▎ &e&lCOST: &e%cost% &6Essence'
      - ' &6&l▎ &e&lCHANCE: &f%chance-percent%%'
      - ' '
      - '&8[%progress%&8] - &e%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Chance to find crate keys.'
      - ' '
      - ' &6&l▎ &e&lLEVEL: &f%current_level%'
      - ''
    message-enabled: true
    message: '&3&l[!] &fYou have found {reward} &ffrom the &bKey Finder &fenchant.'
    rewards:
      '1':
        commands:
          - crates give %player% vote 1
        chance: 100
        name: '&b&l1X Vote Key'
      '2':
        commands:
          - crates give %player% solar 1
        chance: 100
        name: '&b&l1X Solar Key'
      '3':
        commands:
          - crates give %player% galactic 1
        chance: 100
        name: '&b&l1X Galactic Key'
      '4':
        commands:
          - crates give %player% lunar 1
        chance: 80
        name: '&b&l1X Lunar Key'
      '5':
        commands:
          - crates give %player% nova 1
        chance: 70
        name: '&b&l1x Nova Crate Key'
  EXPFinder:
    page: 0
    enabled: true
    disenchanter: true
    name: '&b&lEXP Finder &3&lEnchant'
    rawname: '&b&lEXP Finder'
    material: EXP_BOTTLE
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODdkODg1YjMyYjBkZDJkNmI3ZjFiNTgyYTM0MTg2ZjhhNTM3M2M0NjU4OWEyNzM0MjMxMzJiNDQ4YjgwMzQ2MiJ9fX0=
    slot: 31
    base-chance: 3.0
    increase-per-level: 0.003
    max-amount: 80
    min-amount: 40
    amount-increase-per-level: 0.003
    price: 150
    price-increase: 25
    max-level: 500
    required-level: 3
    lore:
      - '&8Custom Enchant'
      - '&7Chance to find xp.'
      - ' '
      - ' &3&l▎ &b&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &3&l▎ &b&lCOST: &e%cost% &6Essence'
      - ' &3&l▎ &b&lCHANCE: &f%chance-percent%%'
      - ' '
      - '&8[%progress%&8] - &b%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Chance to find xp.'
      - ' '
      - ' &3&l▎ &b&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  SpawnerFinder:
    page: 1
    enabled: true
    disenchanter: true
    name: '&b&lSpawner Finder &3&lEnchant'
    rawname: '&b&lSpawner Finder'
    material: TRIPWIRE_HOOK
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ3ZTJlNWQ1NWI2ZDA0OTQzNTE5YmVkMjU1N2M2MzI5ZTMzYjYwYjkwOWRlZTg5MjNjZDg4YjExNTIxMCJ9fX0=
    slot: 24
    base-chance: 0.005
    increase-per-level: 5.0E-5
    price: 150
    price-increase: 25
    max-level: 500
    required-level: 5
    lore:
      - '&8Custom Enchant'
      - '&7Chance to find spawners.'
      - ' '
      - ' &3&l▎ &b&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &3&l▎ &b&lCOST: &e%cost% &6Essence'
      - ' &3&l▎ &b&lCHANCE: &f%chance-percent%%'
      - ' '
      - '&8[%progress%&8] - &b%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Chance to find spawners.'
      - ' '
      - ' &3&l▎ &b&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
    message: '&3&l[!] &fYou have found {reward} &ffrom the &bSpawner Finder &fenchant.'
    rewards:
      '1':
        commands:
          - stacker give -s %player% spawner blaze 1
        chance: 100
        name: '&b&l1X Blaze Spawner'
      '2':
        commands:
          - stacker give -s %player% spawner creeper 1
        chance: 100
        name: '&b&l1X Creeper Spawner'
      '3':
        commands:
          - stacker give -s %player% spawner iron_golem 1
        chance: 80
        name: '&b&l1X Iron Golem Spawner'
      '4':
        commands:
          - stacker give -s %player% spawner witch 1
        chance: 70
        name: '&b&l1X Witch Spawner'
      '5':
        commands:
          - stacker give -s %player% spawner villager 1
        chance: 60
        name: '&b&l1X Villager Spawner'
  MoneyBooster:
    page: 2
    enabled: true
    disenchanter: true
    name: '&a&lMoney Booster &2&lEnchant'
    rawname: '&a&lMoney Booster'
    material: EMERALD
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ5NzRlYzE5ZDQwZWVmOTJiMmU0YWUzMmFjN2I4NjQ2ZjM0ODljNTA4ZjUwYjE2ZjM4MzUyOTZlMmFkYTIifX19
    slot: 22
    boost-per-level: 0.01
    price: 100
    price-increase: 150
    max-level: 300
    required-level: 8
    lore:
      - '&8Custom Enchant'
      - '&7Boosts amount of money.'
      - ' '
      - ' &2&l▎ &a&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &2&l▎ &a&lCOST: &e%cost% &6Essence'
      - ' &2&l▎ &a&lBOOST: &f%boost%x'
      - ' '
      - '&8[%progress%&8] - &a%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Boost amount of moneu.'
      - ' '
      - ' &2&l▎ &a&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  EssenceBooster:
    page: 2
    enabled: true
    disenchanter: true
    name: '&e&lEssence Booster &6&lEnchant'
    rawname: '&e&lEssence Booster'
    material: GOLD_NUGGET
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjgwOWQyZTY5NjEwZjFlNmI3NWZlMGQ0NTk4ZTQ0MWU1NjAzMjVkMmQ1MmQ5N2NmNjY4NTljNDRmYTNkOGE3OSJ9fX0=
    slot: 21
    boost-per-level: 0.01
    price: 100
    price-increase: 125
    max-level: 300
    required-level: 8
    lore:
      - '&8Custom Enchant'
      - '&7Boosts amount of essence.'
      - ' '
      - ' &6&l▎ &e&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &6&l▎ &e&lCOST: &e%cost% &6Essence'
      - ' &6&l▎ &e&lCHANCE: &f%boost%x'
      - ' '
      - '&8[%progress%&8] - &e%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Boost amount of essence.'
      - ' '
      - ' &6&l▎ &e&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  Fortune:
    page: 0
    enabled: true
    disenchanter: true
    name: '&f&lFortune &7&lEnchant'
    rawname: '&f&lFortune'
    material: BLAZE_POWDER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDJlNWFkOTQ0NWZkN2RhNmU5YzNmN2UyZTE5YWVkNGFiYjI3NmE3YTUyNzNlYmQ5ZjdlMjY5ZmViYzEzOTFjZCJ9fX0=
    slot: 22
    boost-per-level: 0.01
    price: 100
    price-increase: 3000
    max-level: 5
    required-level: 5
    lore:
      - '&8Custom Enchant'
      - '&7Boosts amount of drops'
      - ' '
      - ' &8&l▎ &f&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &8&l▎ &f&lCOST: &e%cost% &6Essence'
      - ' '
      - '&8[%progress%&8] - &f%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Boost amount of drops.'
      - ' '
      - ' &8&l▎ &f&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  XPBooster:
    page: 1
    enabled: true
    disenchanter: true
    name: '&b&lXP Booster &3&lEnchant'
    rawname: '&b&lXP Booster'
    material: BLAZE_POWDER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2NjYzhhNjkwYzg5ZWJmMDFhZGYwNDQwYzBhM2Q1NDBlMmRiODljZmM5N2FkM2I4ZTAxODEwYmYzMjg5ZjY3YSJ9fX0=
    slot: 31
    boost-per-level: 0.01
    price: 100
    price-increase: 115
    max-level: 300
    required-level: 5
    lore:
      - '&8Custom Enchant'
      - '&7Boost amount of xp to level up your pickaxe faster.'
      - ' '
      - ' &3&l▎ &b&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &3&l▎ &b&lCOST: &e%cost% &6Essence'
      - ' &3&l▎ &b&lBOOST: &f%boost%x'
      - ' '
      - '&8[%progress%&8] - &b%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Boost amount of xp to level up your pickaxe faster.'
      - ' '
      - ' &3&l▎ &b&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  MoneyPouch:
    page: 1
    enabled: true
    disenchanter: true
    name: '&a&lMoney Pouch &2&lEnchant'
    rawname: '&a&lMoney Pouch'
    material: BLAZE_ROD
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZlMGQ1ZmU4N2QyZDIxZTJiZGU2Mzc0NDI1YTM0MWE3NTczYjM3NWQ1YmI3ZDQ3ZjRiOGRhZTM1Mjk3ZWE0In19fQ==
    slot: 21
    max-amount: 50000
    min-amount: 2000
    base-chance: 0.004
    increase-per-level: 4.3E-4
    scale-per-level: 0.03
    price: 150
    price-increase: 20
    max-level: 1000
    required-level: 8
    add-to-autosell: true
    message: '&2&lPOUCH &8» &7You have found &2$&a{amount} &7from a &a&lMoney Pouch&7.'
    lore:
      - '&8Custom Enchant'
      - '&7Chance to find a money pouch.'
      - ' '
      - ' &2&l▎ &a&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &2&l▎ &a&lCOST: &e%cost% &6Essence'
      - ' &2&l▎ &a&lCHANCE: &f%chance-percent%%'
      - ' '
      - '&8[%progress%&8] - &a%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Chance find a money pouch.'
      - ' '
      - ' &2&l▎ &a&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  EssencePouch:
    page: 1
    enabled: true
    disenchanter: true
    name: '&e&lEssence Pouch'
    material: GOLD_INGOT
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTMzZTkyYjA2NTcxOTZjYmExODZjZTc0ZjIwMzhiOTNiZThlNDI1MWFlMmNhYTNlYmY1MWNkZWYwM2E3NDM4NCJ9fX0=
    slot: 22
    max-amount: 7000
    min-amount: 2000
    base-chance: 0.002
    increase-per-level: 2.3E-4
    scale-per-level: 0.03
    price: 150
    price-increase: 25
    max-level: 1000
    required-level: 15
    add-to-autosell: true
    message: '&6&lPOUCH &8» &7You have found &6❋&e{amount} Essence &7from a &e&lEssence Pouch&7.'
    lore:
      - '&8Custom Enchant'
      - '&7Chance to find a essence pouch.'
      - ' '
      - ' &6&l▎ &e&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &6&l▎ &e&lCOST: &e%cost% &6Essence'
      - ' &6&l▎ &e&lCHANCE: &f%chance-percent%%'
      - ' '
      - '&8[%progress%&8] - &e%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Chance to find a essence pouch.'
      - ' '
      - ' &6&l▎ &e&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  Merchant:
    page: 1
    enabled: true
    disenchanter: true
    name: '&d&lMerchant &5&lEnchant'
    rawname: '&d&lMerchant'
    material: CHEST
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDVjNmRjMmJiZjUxYzM2Y2ZjNzcxNDU4NWE2YTU2ODNlZjJiMTRkNDdkOGZmNzE0NjU0YTg5M2Y1ZGE2MjIifX19
    slot: 20
    base-chance: 0.002
    increase-per-level: 2.3E-4
    price: 150
    price-increase: 25
    times-money: 2
    max-level: 1000
    required-level: 15
    activated: '&5&l[ &d&lMERCHANT &5&l] &8» &fYour merchant enchant has activated&f.'
    message: '&5&l[ &d&lMERCHANT &5&l] &8» &fYou have doubled the money earned from &aAutoSell&f.'
    lore:
      - '&8Custom Enchant'
      - '&7Chance to double autosell money.'
      - ' '
      - ' &5&l▎ &d&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &5&l▎ &d&lCOST: &e%cost% &6Essence'
      - ' &5&l▎ &d&lCHANCE: &f%chance-percent%%'
      - ' '
      - '&8[%progress%&8] - &d%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Chance to double autosell money.'
      - ' '
      - ' &5&l▎ &d&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  Speed:
    page: 0
    enabled: true
    disenchanter: true
    name: '&b&lSpeed &3&lEnchant'
    rawname: '&b&lSpeed'
    material: SUGAR
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzBmZWU2OTViNGVmNjY0YzNlNTFkYzQ2YmUyNDU0ODZkMzY1OTYzNjhmOTE2ODNjM2M4MzNhY2Y5ZGNiYiJ9fX0=
    slot: 23
    price: 5000
    price-increase: 2000
    max-level: 3
    required-level: 0
    lore:
      - '&8Custom Enchant'
      - '&7Boost your walking speed.'
      - ' '
      - ' &3&l▎ &b&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &3&l▎ &b&lCOST: &e%cost% &6Essence'
      - ' '
      - '&8[%progress%&8] - &b%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Boosts your walking speed.'
      - ' '
      - ' &3&l▎ &b&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  Haste:
    page: 0
    enabled: true
    disenchanter: true
    name: '&f&lHaste &7&lEnchant'
    rawname: '&f&lHaste'
    material: CLAY_BALL
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGY1MGNkMzU0ODEzYmNlYzc3NDk5MzliNDFhZjhmY2Q1ZTlhOTUxNGQxM2Y2YWRhODViNWY2ODUyMWYxZTgifX19
    slot: 24
    price: 5000
    price-increase: 2000
    max-level: 5
    required-level: 0
    lore:
      - '&8Custom Enchant'
      - '&7Boosts your breaking speed.'
      - ' '
      - ' &8&l▎ &f&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &8&l▎ &f&lCOST: &e%cost% &6Essence'
      - ' '
      - '&8[%progress%&8] - &f%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Boosts your breaking speed.'
      - ' '
      - ' &8&l▎ &f&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  EnchantProcBooster:
    page: 2
    enabled: true
    disenchanter: true
    name: '&d&lEnchant Proc Booster &5&lEnchant'
    rawname: '&d&lEnchant Proc Booster'
    material: GOLD_NUGGET
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDk0OTIyMjQzMDQyZmZkMzJkNjZlNTc3YzViMzBmODRkMmQyODcyODc5MTE4MDI3ZjRmMTcxZDhiNTE0OTQ0OSJ9fX0=
    slot: 20
    boost-per-level: 5.0E-4
    price: 100
    price-increase: 125
    max-level: 300
    required-level: 15
    lore:
      - '&8Custom Enchant'
      - '&7Boosts proc chance of all enchants.'
      - ' '
      - ' &5&l▎ &d&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &5&l▎ &d&lCOST: &e%cost% &6Essence'
      - ' &5&l▎ &d&lBOOST: &f%boost%x'
      - ' '
      - '&8[%progress%&8] - &d%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Boosts proc chance of all enchants.'
      - ' '
      - ' &5&l▎ &d&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  Scavenger:
    page: 2
    enabled: true
    disenchanter: true
    name: '&d&lScavenger &5&lEnchant'
    rawname: '&d&lScavenger'
    material: STONE
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDJiMWIzZGI5ZTE0ZGM0YTc1NmNjZThhZGZkZDA2YThlYzVmMGM2MTk1NzRhN2I4YzEyMzMyYjVhOTFjYzg5NSJ9fX0=
    slot: 23
    base-chance: 0.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 15
    lore:
      - '&8Custom Enchant'
      - '&7Chance to find random enchants for your pickaxe.'
      - ' '
      - ' &5&l▎ &d&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &5&l▎ &d&lCOST: &e%cost% &6Essence'
      - ' &5&l▎ &d&lCHANCE: &f%chance-percent%%'
      - ' '
      - '&8[%progress%&8] - &d%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Chance to find random enchants for your pickaxe'
      - ' '
      - ' &5&l▎ &d&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
    message: '&5&lScavenger &8» &7You got lucky and found &f{amount} &7levels of {enchant}&7!'
    enchants:
      - KeyFinder;1;0.0005
      - SpawnerFinder;1;0.0002
      - MoneyBooster;1;0.0002
      - MoneyPouch;1;0.0032
      - EssencePouch;1;0.0002
  Explosive:
    page: 2
    enabled: true
    disenchanter: true
    name: '&c&lExplosive &4&lEnchant'
    rawname: '&c&lExplosive'
    material: TNT
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWFlOWVjMjE4NDg4ZDhjMWQ4NjIxM2EyNDYzZjg2ZGQ1MzAzZDliMWM4NDBmNzcwOGZlOTcwMDZkZGEzMWUzOSJ9fX0=
    slot: 24
    base-chance: 0.002
    increase-per-level: 0.0023
    price: 150
    price-increase: 250
    max-level: 10
    required-level: 20
    default-size: 3
    size-upgrades:
      tier-1:
        level: 5
        size: 5
      tier-2:
        level: 10
        size: 10
      tier-3:
        level: 15
        size: 15
    lore:
      - '&8Custom Enchant'
      - '&7Chance to break ores in a %area%x%area% radius.'
      - ' '
      - ' &4&l▎ &c&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &4&l▎ &c&lCOST: &e%cost% &6Essence'
      - ' &4&l▎ &c&lCHANCE: &f%chance-percent%%'
      - ' '
      - '&8[%progress%&8] - &c%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Chance to break ores in a %area%x%area% radius.'
      - ' '
      - ' &4&l▎ &c&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  SecondHand:
    page: 2
    enabled: true
    disenchanter: true
    name: '&c&lSecond Hand &4&lEnchant'
    rawname: '&c&lSecond Hand'
    material: NETHER_STAR
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTRlNDM1OGQ3MzRhNmUwNjhlYjA3Y2I4ZmM1ZmZkZThiOTQ4MDBlYjM5Njc3NzQyOGE0ZjU1OTMxNWExZmY0ZCJ9fX0=
    slot: 31
    base-chance: 0.002
    increase-per-level: 0.0023
    price: 150
    price-increase: 250
    max-level: 100
    required-level: 20
    lore:
      - '&8Custom Enchant'
      - '&7Chance to break an extra ore.'
      - ' '
      - ' &4&l▎ &c&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &4&l▎ &c&lCOST: &e%cost% &6Essence'
      - ' &4&l▎ &c&lCHANCE: &f%chance-percent%%'
      - ' '
      - '&8[%progress%&8] - &c%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Custom Enchant'
      - '&7Chance to break an extra ore.'
      - ' '
      - ' &4&l▎ &c&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  Efficiency:
    page: 0
    enabled: true
    disenchanter: true
    name: '&a&lEfficiency &2&lEnchant'
    rawname: '&a&lEfficiency'
    material: STONE
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDc1ZmQxZmQ2ZjA1NmNjY2NhYjJmZWRkZDY3Y2Q0Nzc2ZDdhYzI3YTBlNDM0Y2VlODMyNWIzZjQ5YjhjNGI3ZSJ9fX0=
    slot: 21
    price: 2000
    price-increase: 200
    max-level: 10
    required-level: 0
    lore:
      - '&8Vanilla Enchant'
      - '&7Break blocks faster.'
      - ' '
      - ' &2&l▎ &a&lLEVEL: &f%current_level% &8/ &f%max_level%'
      - ' &2&l▎ &a&lCOST: &e%cost% &6Essence'
      - ' '
      - '&8[%progress%&8] - &a%percentage%%'
      - '&7(( This enchant requires level &f&n%pickaxe_level%&r &7pickaxe.))'
    disenchant:
      - '&8Vanilla Enchant'
      - '&7Break blocks faster.'
      - ''
      - ' &2&l▎ &a&lLEVEL: &f%current_level%'
      - ''
      - '&7&o(( Click to disenchant this enchant ))'
  CustomEnchant1:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 1'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 1 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 1 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant2:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 2'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 2 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 2 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant3:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 3'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 3 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 3 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant4:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 4'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 4 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 4 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant5:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 5'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 5 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 5 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant6:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 6'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 6 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 6 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant7:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 7'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 7 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 7 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant8:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 8'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 8 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 8 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant9:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 9'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 9 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 9 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom   2
        chance: 20
  CustomEnchant10:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 10'
    material: DIAMOND
    base64:
      enabled: false
      value: ''
    slot: 3
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 10 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 10 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
```


# minelevels.yml

```yaml
Enabled: true
GUI-Size: 27
GUI-Name: '&8Mining Levels'
prestige-requirements: false
Mine-Levels:
  '1':
    pickaxe-level: 0
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmU3OGQ4ZWI1ODgzYTExMDY2N2I1MWVlMjBhM2IyMWQ1MmQwODlhMGQ0YzkxYmUzY2I3ODZjMzE4MjhhMjA5NyJ9fX0='
    slot: 10
    actions:
      - '[close]'
      - '[message]&5&l[&d&lMINES&5&l] &7Warping to the coal mine...'
      - '[player]warp coalmine'
    name: '&8&l[!] &7&lCoal Mine'
    lore:
      - ''
      - '&7Mines you can break in:'
      - '&8▎ &7Coal Mine'
      - ''
      - '&7&lYOUR STATS'
      - '&8▎ &7Level: &f{current-level}'
      - '&8▎ &7Blocks Mined: &f{blocks-broken}'
      - '&8▎ &7Current Pickaxe XP: &f{current-xp}'
    mines:
      - coal_mine
  '2':
    pickaxe-level: 3
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTAxODQzZWM0M2YwODhjOTYzZmZjM2UyZjcxYzY2ZTMxNTU5NDNiMTc3YTFhMzU5ODJiMTIwZjZmNjQ4MjJiYyJ9fX0='
    slot: 11
    name: '&8&l[!] &7&lIron Mine'
    lore:
      - ''
      - '&7Mines you can break in:'
      - '&8▎ &7Coal Mine'
      - '&8▎ &7Iron Mine'
      - ''
      - '&8&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&8&lYOUR STATS'
      - '&8▎ &7Level: &f{current-level}'
      - '&8▎ &7Blocks Mined: &f{blocks-broken}'
      - '&8▎ &7Current Pickaxe XP: &f{current-xp}'
    mines:
      - iron_mine
  '3':
    pickaxe-level: 6
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzNiYzk2NWQ1NzljM2M2MDM5ZjBhMTdlYjdjMmU2ZmFmNTM4YzdhNWRlOGU2MGVjN2E3MTkzNjBkMGE4NTdhOSJ9fX0='
    slot: 12
    name: '&6&l[!] &e&lGold Mine'
    lore:
      - ''
      - '&7Mines you can break in:'
      - '&8▎ &7Coal Mine'
      - '&8▎ &7Iron Mine'
      - '&8▎ &7Gold Mine'
      - ''
      - '&6&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&6&lYOUR STATS'
      - '&8▎ &7Level: &f{current-level}'
      - '&8▎ &7Blocks Mined: &f{blocks-broken}'
      - '&8▎ &7Current Pickaxe XP: &f{current-xp}'
    mines:
      - gold_mine
  '4':
    pickaxe-level: 9
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTEyNzMyNTI3OGYzOWI5YWRmYjVjNzEwZGQ2ODViMWVjNmQyOWM0MzYzNzliMzk2MGQ3MmU4YzRiNjk1OTA2ZCJ9fX0='
    slot: 13
    name: '&4&l[!] &c&lRedstone Mine'
    lore:
      - ''
      - '&7Mines you can break in:'
      - '&8▎ &7Coal Mine'
      - '&8▎ &7Iron Mine'
      - '&8▎ &7Gold Mine'
      - '&8▎ &7Redstone Mine'
      - ''
      - '&4&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&4&lYOUR STATS'
      - '&8▎ &7Level: &f{current-level}'
      - '&8▎ &7Blocks Mined: &f{blocks-broken}'
      - '&8▎ &7Current Pickaxe XP: &f{current-xp}'
    mines:
      - redstone_mine
  '5':
    pickaxe-level: 12
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTEwMDFiNDI1MTExYmZlMGFjZmY3MTBhOGI0MWVhOTVlM2I5MzZhODVlNWJiNjUxNzE2MGJhYjU4N2U4ODcwZiJ9fX0='
    slot: 14
    name: '&b&l[!] &9&lLapis Mine'
    lore:
      - ''
      - '&7Mines you can break in:'
      - '&8▎ &7Coal Mine'
      - '&8▎ &7Iron Mine'
      - '&8▎ &7Gold Mine'
      - '&8▎ &7Redstone Mine'
      - '&8▎ &7Lapis Mine'
      - ''
      - '&b&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&b&lYOUR STATS'
      - '&8▎ &7Level: &f{current-level}'
      - '&8▎ &7Blocks Mined: &f{blocks-broken}'
      - '&8▎ &7Current Pickaxe XP: &f{current-xp}'
    mines:
      - lapis_mine
  '6':
    pickaxe-level: 15
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTFlZDlhYmY1MWZlNGVhODRjZmNiMjcyOTdmMWJjNTRjZDM4MmVkZjg1ZTdiZDZlNzVlY2NhMmI4MDY2MTEifX19'
    slot: 15
    name: '&3&l[!] &b&lDiamond Mine'
    lore:
      - ''
      - '&7Mines you can break in:'
      - '&8▎ &7Coal Mine'
      - '&8▎ &7Iron Mine'
      - '&8▎ &7Gold Mine'
      - '&8▎ &7Redstone Mine'
      - '&8▎ &7Lapis Mine'
      - '&8▎ &7Diamond Mine'
      - ''
      - '&3&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&3&lYOUR STATS'
      - '&8▎ &7Level: &f{current-level}'
      - '&8▎ &7Blocks Mined: &f{blocks-broken}'
      - '&8▎ &7Current Pickaxe XP: &f{current-xp}'
    mines:
      - diamond_mine
  '7':
    pickaxe-level: 18
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDA1Mzg1MTUyN2M0YzllZjMwYTYxZmIwNjdlYmNlOTU3YzcyNmUxNjg3ZjhiNTMwZmI0YTZiZWViYTQzOGJkIn19fQ=='
    slot: 16
    name: '&2&l[!] &a&lEmerald Mine'
    lore:
      - ''
      - '&7Mines you can break in:'
      - '&8▎ &7Coal Mine'
      - '&8▎ &7Iron Mine'
      - '&8▎ &7Gold Mine'
      - '&8▎ &7Redstone Mine'
      - '&8▎ &7Lapis Mine'
      - '&8▎ &7Diamond Mine'
      - '&8▎ &7Emerald Mine'
      - ''
      - '&2&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&2&lYOUR STATS'
      - '&8▎ &7Level: &f{current-level}'
      - '&8▎ &7Blocks Mined: &f{blocks-broken}'
      - '&8▎ &7Current Pickaxe XP: &f{current-xp}'
    mines:
      - emerald_mine
  '8':
    pickaxe-level: 20
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDRmMzI3MmExMmQwYTU1MTUzODA2NzAzZDYyNzRjNjZkYTE5NzJjZjBjOWNlYWVlZmRjOThkZjNlYzJiNCJ9fX0='
    slot: 22
    name: '&7&l[!] &f&lQuartz Mine'
    lore:
      - ''
      - '&7Mines you can break in:'
      - '&8▎ &7Coal Mine'
      - '&8▎ &7Iron Mine'
      - '&8▎ &7Gold Mine'
      - '&8▎ &7Redstone Mine'
      - '&8▎ &7Lapis Mine'
      - '&8▎ &7Diamond Mine'
      - '&8▎ &7Emerald Mine'
      - '&8▎ &7Quartz Mine'
      - ''
      - '&f&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&f&lYOUR STATS'
      - '&8▎ &7Level: &f{current-level}'
      - '&8▎ &7Blocks Mined: &f{blocks-broken}'
      - '&8▎ &7Current Pickaxe XP: &f{current-xp}'
    mines:
      - nether_mine
Messages:
  requirement:
    - '&7'
    - '&4&l[!] &cYou don''t meet the &f&nrequirements&r &cfor this mine!'
    - '&4&l[!] &cYour pickaxe needs to be &flevel {next-level} &cbut your current &flevel&c
    is &f{level}'
    - '&7'
```


# crystals.yml

```yaml
Crystal-Settings:
  override-current: false
  decimal-format-item: '#.#'
  decimal-format-lore: '#.#'
Messages:
  already-has: '&4&l[!] &cYou already have this crystal on your  pickaxe'
  max-amount: '&4&l[!] &cYou have the max amount of crystals for your current level!'
  applied: '&2&l[!] &aYou have successfully applied the {crystal} &ato your pickaxe!'
  failed: '&4&l[!] &cYou applied a crystal but it failed.'
  black-scroll-failed: '&4&l[!] &cYou applied a black scroll but it failed.'
  black-scroll-applied: '&2&l[!] &aYou have successfully applied the black scroll and got a random crystal!'
  black-scroll-nocrystals: '&4&l[!] &cYou don''t have any crystals on your  pickaxe'
Prestige-Based-Requirement: false
Use-From-Other-Tools:
  enabled: false
  message: '&4&l[!] &cThis crystal can''t be applied to this tool.'
Crystal-Requirement:
  '0':
    max-amount: 3
  '5':
    max-amount: 5
  '15':
    max-amount: 8
Black-Scroll:
  material: BLACK_DYE
  use-chances: false
  crystal-given:
    max: 100
    min: 60
  name: '&0&l&nPickaxe Black Scroll'
  lore:
    - '&8Black Scroll'
    - ''
    - '&7Drag and drop on your'
    - '&7pickaxe to remove a random crystal.'
    - ''
    - '&8&lInfo'
    - ' &8* &7Chance: &f{chance}%'
Crystal-Item:
  material: PRISMARINE_SHARD
  name: '&3{enchant} &bCrystal'
  lore:
    - '&8Pickaxe Crystal'
    - ''
    - '&7Drag and drop on your'
    - '&7pickaxe to apply it.'
    - ''
    - '&b&lInfo'
    - ' &3* &bBoost: &f{boost}%'
    - ' &3* &bChance: &f{chance}%'
Crystals:
  KeyFinder:
    material: PRISMARINE_SHARD
    name: '&eKeyFinder &6Crystal'
    lore:
      - '&8Pickaxe Crystal'
      - ''
      - '&7Drag and drop on your'
      - '&7pickaxe to apply it.'
      - ''
      - '&6&lInfo'
      - ' &6* &eBoost: &f{boost}%'
      - ' &6* &eChance: &f{chance}%'
```


# mines.yml

```yaml
#https://docs.rivalsetups.xyz/plugins/rivalharvesterhoes/custom-drops
Custom-Drops:
  prestige-requirements: false
  drops:
    coal_mine:
      COAL_ORE:
        '1':
          material: COAL
          sell-price: 6.5
          essence: 3
          amount: 1-3
        '2':
          name: '&7&lEnchanted Coal'
          material: COAL
          enchants:
            - 'DURABILITY:1'
          flags:
            - 'HIDE_ENCHANTS'
          amount: 1-3
          level-requirement: 5
          sell-price: 10
          essence: 3-5
    iron_mine:
      IRON_ORE:
        '1':
          material: IRON_INGOT
          sell-price: 10
          essence: 5
          amount: 1-3
        '2':
          name: '&f&lEnchanted Iron'
          material: IRON_INGOT
          enchants:
            - 'DURABILITY:1'
          flags:
            - 'HIDE_ENCHANTS'
          amount: 1-3
          level-requirement: 5
          sell-price: 15
          essence: 5-8
    gold_mine:
      GOLD_ORE:
        '1':
          material: GOLD_INGOT
          sell-price: 15
          essence: 7
          amount: 1-3
        '2':
          name: '&e&lEnchanted Gold'
          material: GOLD_INGOT
          enchants:
            - 'DURABILITY:1'
          flags:
            - 'HIDE_ENCHANTS'
          amount: 1-3
          level-requirement: 5
          sell-price: 20
          essence: 8-10
    redstone_mine:
      REDSTONE_ORE:
        '1':
          material: REDSTONE
          sell-price: 20
          essence: 10
          amount: 1-3
        '2':
          name: '&c&lEnchanted Redstone'
          material: REDSTONE
          enchants:
            - 'DURABILITY:1'
          flags:
            - 'HIDE_ENCHANTS'
          amount: 1-3
          level-requirement: 5
          sell-price: 30
          essence: 10-14
    lapis_mine:
      LAPIS_ORE:
        '1':
          material: LAPIS_LAZULI
          sell-price: 25
          essence: 15
          amount: 1-3
        '2':
          name: '&b&lEnchanted Lapis'
          material: LAPIS_LAZULI
          enchants:
            - 'DURABILITY:1'
          flags:
            - 'HIDE_ENCHANTS'
          amount: 1-3
          level-requirement: 5
          sell-price: 35
          essence: 15-20
    diamond_mine:
      DIAMOND_ORE:
        '1':
          material: DIAMOND
          sell-price: 35
          essence: 15
          amount: 1-3
        '2':
          name: '&b&lEnchanted Diamond'
          material: DIAMOND
          enchants:
            - 'DURABILITY:1'
          flags:
            - 'HIDE_ENCHANTS'
          amount: 1-3
          level-requirement: 5
          sell-price: 40
          essence: 20-25
    emerald_mine:
      EMERALD_ORE:
        '1':
          material: EMERALD
          sell-price: 40
          essence: 20
          amount: 1-3
        '2':
          name: '&a&lEnchanted Emerald'
          material: EMERALD
          enchants:
            - 'DURABILITY:1'
          flags:
            - 'HIDE_ENCHANTS'
          amount: 1-3
          level-requirement: 5
          sell-price: 50
          essence: 30-35
    nether_mine:
      NETHER_QUARTZ_ORE:
        '1':
          material: QUARTZ
          sell-price: 50
          essence: 35
          amount: 1-3
        '2':
          name: '&f&lEnchanted Quartz'
          material: QUARTZ
          enchants:
            - 'DURABILITY:1'
          flags:
            - 'HIDE_ENCHANTS'
          amount: 1-3
          level-requirement: 5
          sell-price: 70
          essence: 45-50
Natural-Blocks:
  settings:
    enabled: false
    regen-blocks: false
    custom-pick-only: false
    whitelisted-worlds:
      - 'all'
  blocks:
    COAL_ORE: coal_mine
    EMERALD_ORE: emerald_mine
Mines:
  coal_mine:
    reset-time: 10
    replace-material: BEDROCK
    materials:
      - COAL_ORE:100
  iron_mine:
    reset-time: 10
    replace-material: BEDROCK
    materials:
      - IRON_ORE:100
  gold_mine:
    reset-time: 10
    replace-material: BEDROCK
    materials:
      - GOLD_ORE:100
  redstone_mine:
    reset-time: 10
    replace-material: BEDROCK
    materials:
      - REDSTONE_ORE:100
  lapis_mine:
    reset-time: 10
    replace-material: BEDROCK
    materials:
      - LAPIS_ORE:100
  diamond_mine:
    reset-time: 15
    replace-material: BEDROCK
    materials:
      - DIAMOND_ORE:100
  emerald_mine:
    reset-time: 15
    replace-material: BEDROCK
    materials:
      - EMERALD_ORE:100
  nether_mine:
    reset-time: 15
    replace-material: BEDROCK
    materials:
      - NETHER_QUARTZ_ORE:100
```


# mobs.yml

```yaml
teleport-back: true
teleport-radius: 15
Mobs:
  coal_mine:
    spawn-time: 30
    entity: SKELETON
    amount: 3
    max-health: 50
    targeting-range: 16
    name: '&7[T1] &0&lCoal &8&lGuardian &c{health}&4❤&7/&c{max-health}&4❤'
    rewards:
      '1':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+1 Vote Key'
          - 'crate give {player} vote 1'
        chance: 2
      '2':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+2 Vote Key'
          - 'crate give {player} vote 2'
        chance: 1
    effects:
      - 'SPEED:1:2000'
    equipment:
      weapon:
        material: DIAMOND_SWORD
        enchants:
          - 'DAMAGE_ALL:10'
      helmet:
        base64:
          enabled: true
          value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTc1Nzk3NDhjNTg5ZTk3ZmY3YzA1NTQ2NDFiOWVlMzE4ODczNjk2MmNkODc4OGU2NjM5NjAwNmM0OGQzZmVhMCJ9fX0='
        material: LEATHER_HELMET
        color: 0,0,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      chestplate:
        material: LEATHER_CHESTPLATE
        color: 0,0,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      leggings:
        material: LEATHER_LEGGINGS
        color: 0,0,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      boots:
        material: LEATHER_BOOTS
        color: 0,0,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
  iron_mine:
    spawn-time: 30
    entity: SKELETON
    amount: 3
    max-health: 50
    targeting-range: 16
    name: '&7[T2] &7&lIron &8&lGuardian &c{health}&4❤&7/&c{max-health}&4❤'
    rewards:
      '1':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+1 Vote Key'
          - 'crate give {player} vote 1'
        chance: 2
      '2':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+2 Vote Key'
          - 'crate give {player} vote 2'
        chance: 1
    effects:
      - 'SPEED:1:2000'
    equipment:
      weapon:
        material: DIAMOND_SWORD
        enchants:
          - 'DAMAGE_ALL:10'
      helmet:
        base64:
          enabled: true
          value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTc1Nzk3NDhjNTg5ZTk3ZmY3YzA1NTQ2NDFiOWVlMzE4ODczNjk2MmNkODc4OGU2NjM5NjAwNmM0OGQzZmVhMCJ9fX0='
        material: LEATHER_HELMET
        color: 192,192,192
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      chestplate:
        material: LEATHER_CHESTPLATE
        color: 192,192,192
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      leggings:
        material: LEATHER_LEGGINGS
        color: 192,192,192
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      boots:
        material: LEATHER_BOOTS
        color: 192,192,192
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
  gold_mine:
    spawn-time: 30
    entity: SKELETON
    amount: 3
    max-health: 50
    targeting-range: 16
    name: '&7[T3] &e&lGold &6&lGuardian &c{health}&4❤&7/&c{max-health}&4❤'
    rewards:
      '1':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+1 Vote Key'
          - 'crate give {player} vote 1'
        chance: 2
      '2':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+2 Vote Key'
          - 'crate give {player} vote 2'
        chance: 1
    effects:
      - 'SPEED:1:2000'
    equipment:
      weapon:
        material: DIAMOND_SWORD
        enchants:
          - 'DAMAGE_ALL:10'
      helmet:
        base64:
          enabled: true
          value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTc1Nzk3NDhjNTg5ZTk3ZmY3YzA1NTQ2NDFiOWVlMzE4ODczNjk2MmNkODc4OGU2NjM5NjAwNmM0OGQzZmVhMCJ9fX0='
        material: LEATHER_HELMET
        color: 255,215,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      chestplate:
        material: LEATHER_CHESTPLATE
        color: 255,215,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      leggings:
        material: LEATHER_LEGGINGS
        color: 255,215,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      boots:
        material: LEATHER_BOOTS
        color: 255,215,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
  redstone_mine:
    spawn-time: 30
    entity: SKELETON
    amount: 3
    max-health: 50
    targeting-range: 16
    name: '&7[T4] &c&lRedstone &4&lGuardian &c{health}&4❤&7/&c{max-health}&4❤'
    rewards:
      '1':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+1 Vote Key'
          - 'crate give {player} vote 1'
        chance: 2
      '2':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+2 Vote Key'
          - 'crate give {player} vote 2'
        chance: 1
    effects:
      - 'SPEED:1:2000'
    equipment:
      weapon:
        material: DIAMOND_SWORD
        enchants:
          - 'DAMAGE_ALL:10'
      helmet:
        base64:
          enabled: true
          value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTc1Nzk3NDhjNTg5ZTk3ZmY3YzA1NTQ2NDFiOWVlMzE4ODczNjk2MmNkODc4OGU2NjM5NjAwNmM0OGQzZmVhMCJ9fX0='
        material: LEATHER_HELMET
        color: 227,34,39
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      chestplate:
        material: LEATHER_CHESTPLATE
        color: 227,34,39
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      leggings:
        material: LEATHER_LEGGINGS
        color: 227,34,39
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      boots:
        material: LEATHER_BOOTS
        color: 227,34,39
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
  lapis_mine:
    spawn-time: 30
    entity: SKELETON
    amount: 3
    max-health: 50
    targeting-range: 16
    name: '&7[T5] &9&lLapis &3&lGuardian &c{health}&4❤&7/&c{max-health}&4❤'
    rewards:
      '1':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+1 Vote Key'
          - 'crate give {player} vote 1'
        chance: 2
      '2':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+2 Vote Key'
          - 'crate give {player} vote 2'
        chance: 1
    effects:
      - 'SPEED:1:2000'
    equipment:
      weapon:
        material: DIAMOND_SWORD
        enchants:
          - 'DAMAGE_ALL:10'
      helmet:
        base64:
          enabled: true
          value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTc1Nzk3NDhjNTg5ZTk3ZmY3YzA1NTQ2NDFiOWVlMzE4ODczNjk2MmNkODc4OGU2NjM5NjAwNmM0OGQzZmVhMCJ9fX0='
        material: LEATHER_HELMET
        color: 0,0,255
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      chestplate:
        material: LEATHER_CHESTPLATE
        color: 0,0,255
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      leggings:
        material: LEATHER_LEGGINGS
        color: 0,0,255
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      boots:
        material: LEATHER_BOOTS
        color: 0,0,255
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
  diamond_mine:
    spawn-time: 30
    entity: SKELETON
    amount: 3
    max-health: 50
    targeting-range: 16
    name: '&7[T6] &b&lDiamond &3&lGuardian &c{health}&4❤&7/&c{max-health}&4❤'
    rewards:
      '1':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+1 Vote Key'
          - 'crate give {player} vote 1'
        chance: 2
      '2':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+2 Vote Key'
          - 'crate give {player} vote 2'
        chance: 1
    effects:
      - 'SPEED:1:2000'
    equipment:
      weapon:
        material: DIAMOND_SWORD
        enchants:
          - 'DAMAGE_ALL:10'
      helmet:
        base64:
          enabled: true
          value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTc1Nzk3NDhjNTg5ZTk3ZmY3YzA1NTQ2NDFiOWVlMzE4ODczNjk2MmNkODc4OGU2NjM5NjAwNmM0OGQzZmVhMCJ9fX0='
        material: LEATHER_HELMET
        color: 137,207,240
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      chestplate:
        material: LEATHER_CHESTPLATE
        color: 137,207,240
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      leggings:
        material: LEATHER_LEGGINGS
        color: 137,207,240
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      boots:
        material: LEATHER_BOOTS
        color: 137,207,240
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
  emerald_mine:
    spawn-time: 30
    entity: SKELETON
    amount: 3
    max-health: 50
    targeting-range: 16
    name: '&7[T7] &a&lEmerald &2&lGuardian &c{health}&4❤&7/&c{max-health}&4❤'
    rewards:
      '1':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+1 Vote Key'
          - 'crate give {player} vote 1'
        chance: 2
      '2':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+2 Vote Key'
          - 'crate give {player} vote 2'
        chance: 1
    effects:
      - 'SPEED:1:2000'
    equipment:
      weapon:
        material: DIAMOND_SWORD
        enchants:
          - 'DAMAGE_ALL:10'
      helmet:
        base64:
          enabled: true
          value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTc1Nzk3NDhjNTg5ZTk3ZmY3YzA1NTQ2NDFiOWVlMzE4ODczNjk2MmNkODc4OGU2NjM5NjAwNmM0OGQzZmVhMCJ9fX0='
        material: LEATHER_HELMET
        color: 0,255,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      chestplate:
        material: LEATHER_CHESTPLATE
        color: 0,255,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      leggings:
        material: LEATHER_LEGGINGS
        color: 0,255,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      boots:
        material: LEATHER_BOOTS
        color: 0,255,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
  nether_mine:
    spawn-time: 30
    entity: PIG_ZOMBIE
    amount: 3
    max-health: 100
    targeting-range: 16
    name: '&7[T8] &c&lNether &4&lGuardian &c{health}&4❤&7/&c{max-health}&4❤'
    rewards:
      '1':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+1 Vote Key'
          - 'crate give {player} vote 1'
        chance: 2
      '2':
        commands:
          - '[sound]LEVEL_UP;1;1'
          - '[message] &a&l+2 Vote Key'
          - 'crate give {player} vote 2'
        chance: 1
    effects:
      - 'SPEED:1:2000'
    equipment:
      weapon:
        material: DIAMOND_SWORD
        enchants:
          - 'DAMAGE_ALL:10'
      helmet:
        base64:
          enabled: true
          value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTc1Nzk3NDhjNTg5ZTk3ZmY3YzA1NTQ2NDFiOWVlMzE4ODczNjk2MmNkODc4OGU2NjM5NjAwNmM0OGQzZmVhMCJ9fX0='
        material: LEATHER_HELMET
        color: 0,255,0
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      chestplate:
        material: LEATHER_CHESTPLATE
        color: 227,34,39
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      leggings:
        material: LEATHER_LEGGINGS
        color: 255,255,255
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
      boots:
        material: LEATHER_BOOTS
        color: 227,34,39
        enchants:
          - 'DURABILITY:10'
          - 'PROTECTION_ENVIRONMENTAL:5'
```


# levels.yml

```yaml
# Pickaxe Levels
Pickaxe-Levels:
  '1':
    xp-needed: 500
  '2':
    xp-needed: 1000
  '3':
    xp-needed: 2000
  '4':
    xp-needed: 3000
  '5':
    xp-needed: 4000
  '6':
    xp-needed: 5000
  '7':
    xp-needed: 6000
  '8':
    xp-needed: 7000
  '9':
    xp-needed: 8000
  '10':
    xp-needed: 9000
  '11':
    xp-needed: 10000
  '12':
    xp-needed: 13000
  '13':
    xp-needed: 15000
  '14':
    xp-needed: 20000
  '15':
    xp-needed: 25000
# Auto Levels - Calculated like this:  starting-xp + starting-xp * (level * increment-xp)
Auto-Levels:
  enabled: true
  max-level: 20
  starting-xp: 2000
  increment-xp: 3
Level-Rewards:
  '3':
    rewards:
      - '[command]essence give {player} 1000'
      - '[message]&2&l[!] &aYou have reached Pickaxe &fLevel 3 &aand received &e1000 Essence!'
```


# disenchantmenu.yml

```yaml
disenchanter-confirm-menu: true
Menu-Settings:
  name: '&8Are you sure?'
  size: 27
  pickaxe-preview:
    enabled: true
    slot: 4
Confirm:
  slot: 12
  material: LIME_STAINED_GLASS_PANE
  name: '&2&l<!> &a&lConfirm Disenchant'
  lore:
    - ' &2&l▎ &a&lAmount of levels: &f{amount}'
    - ' &2&l▎ &a&lValue: &f{value}'
    - ''
    - ' &7&o(( Click to disenchant {amount} levels! ))'
Cancel:
  slot: 14
  material: RED_STAINED_GLASS_PANE
  name: '&4&l<!> &c&lCancel Disenchant'
  lore:
    - ''
    - ' &7&o(( Click to go back! ))'
Enchant-Display:
  slot: 13
  enabled: true
  amount: 1
  name: '&c&l- {amount} Enchant Levels'
  lore:
    - ''
    - ' &4&l▎ &cDisenchant Level: &f{amount}'
    - ' &4&l▎ &cCurrent level: &f{current_level}'
    - ' &4&l▎ &cValue: &f{value}'
    - ''
Enchants:
  KeyFinder:
    name: '&c&l- {amount} KeyFinder Enchant Levels'
    lore:
      - '&8Custom Enchant'
      - '&7&oChance to find crate keys.'
      - ' '
      - ' &4&l▎ &cDisenchant Level: &f{amount}'
      - ' &4&l▎ &cCurrent Level: &f{current_level}'
      - ' &4&l▎ &cValue: &f{value}'
      - ' '
```


# upgrademenu.yml

```yaml
new-upgrade-menu: true #If true will use this upgrade menu, else it will use the default one
Menu-Settings:
  name: '&8Pickaxe Upgrades'
  size: 27
  pickaxe-preview:
    enabled: true
    slot: 4
Back-Item:
  enabled: true
  slot: 18
  material: BARRIER
  name: '&4&l<!> &c&lGo Back'
  lore:
    - ' &7&o(( Click to go back to main menu! ))'
PurchaseEnchantItem:
  name: '&a&l+ {amount} Enchant Levels'
  lore:
    - ' '
    - ' &2&l▎ &a&lCurrent Level: &f{current_level}'
    - ' &2&l▎ &a&lNew Level: &f{next_level}'
    - ' &2&l▎ &a&lPrice: &f{cost}'
    - ' '
    - ' &7&o(( Tip: Click to purchase enchant! ))'
PurchaseEnchantMaxItem:
  enabled: true
  slot: 22
  material: IRON_BARS
  name: '&a&l+ {amount} Enchant Levels'
  lore:
    - ' '
    - ' &2&l▎ &a&lCurrent Level: &f{current_level}'
    - ' &2&l▎ &a&lNew Level: &f{next_level}'
    - ' &2&l▎ &a&lPrice: &f{cost}'
    - ' '
    - ' &7&o(( Tip: Click to purchase max enchant levels! ))'
Menu-Items:
  '1':
    slot: 9
    amount : 1
    levels: 1
  '2':
    slot: 10
    amount: 2
    levels: 5
  '3':
    slot: 11
    amount: 3
    levels: 10
  '4':
    slot: 12
    amount: 4
    levels: 25
  '5':
    slot: 13
    amount: 5
    levels: 50
  '6':
    slot: 14
    amount: 6
    levels: 100
  '7':
    slot: 15
    amount: 7
    levels: 250
  '8':
    slot: 16
    amount: 8
    levels: 500
  '9':
    slot: 17
    amount: 9
    levels: 1000
Enchants:
  KeyFinder:
    name: '&a&l+ {amount} Enchant Levels'
    lore:
      - '&8Custom Enchant'
      - '&7&oChance to find crate keys.'
      - ' '
      - ' &2&l▎ &a&lCurrent Level: &f{current_level}'
      - ' &2&l▎ &a&lNew Level: &f{next_level}'
      - ' &2&l▎ &a&lPrice: &f{cost}'
      - ' '
      - ' &7&o(( Tip: Click to purchase enchant! ))'
```


# leaderboards.yml

```yaml
################################################################################
#  _     _____    _    ____  _____ ____  ____   ___    _    ____  ____  ____   #
# | |   | ____|  / \  |  _ \| ____|  _ \| __ ) / _ \  / \  |  _ \|  _ \/ ___|  #
# | |   |  _|   / _ \ | | | |  _| | |_) |  _ \| | | |/ _ \ | |_) | | | \___ \  #
# | |___| |___ / ___ \| |_| | |___|  _ <| |_) | |_| / ___ \|  _ <| |_| |___) | #
# |_____|_____/_/   \_|____/|_____|_| \_|____/ \___/_/   \_|_| \_|____/|____/  #
#                                                                              #
################################################################################

# Configuration for the Bamboo Top Leaderboard
Blocks:
  hologram-no-player: No Player
  name: '&8ServerName » Block Top'
  display:
    your-rank: '&5&l[!] &d&lYour Placement: &f&l#{rank} '
    your-lore:
      - ''
      - '&5&l▏ &dYour Blocks Mined: &f{amount}'
    name: '&5&l[!] &f&l#{rank} &d&l{player}'
    lore:
      - ''
      - '&5&l▏ &dBlocks Mined: &f{amount}'
    name-invalid: '&4&l[!]  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
# Configuration for the Essence Top Leaderboard
Essence:
  hologram-no-player: No Player
  name: '&8ServerName » Essence Top'
  display:
    your-rank: '&6&l[!] &e&lYour Placement: &f&l#{rank} '
    your-lore:
      - ''
      - '&6&l▏ &e&lEssence: &6❋&e{amount}'
    name: '&6&l<!> &f&l#{rank} &e&l{player}'
    lore:
      - ''
      - '&5&l▏ &eEssence: &6❋&e{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
Data:
  # Save all Data - Time in seconds
  save-data: 300
  leaderboard-update: 60

# Configuration for the Blocks Balance Command
Balance:
  Blocks:
    player-balance-format:
      - '&5&lYour Blocks Mined &8» &f{amount}'
      - '&7Mine ores in the mines and compete on the /block top leaderboards'
    others-balance-format:
      - '&5&l{player}''s Blocks Mined &8» &f{amount}'
      - '&7Mine ores in the mines compete on the /block top leaderboards'
```


# captcha.yml

```yaml
################################################
#   ____    _    ____ _____ ____ _   _    _    #
#  / ___|  / \  |  _ |_   _/ ___| | | |  / \   #
# | |     / _ \ | |_) || || |   | |_| | / _ \  #
# | |___ / ___ \|  __/ | || |___|  _  |/ ___ \ #
# \____/_/   \_|_|    |_| \____|_| |_/_/   \_\ #
#                                              #
################################################

Captcha:
  Settings:
    # Triggers Captcha when player is mining
    Mining:
      enabled: true

Captcha-Menu:
  # Should the Captcha be Enabled
  captcha-enabled: true
  # Name of Inventory - Dont remove %item%
  name: '&8Captcha » Click %item%'
  # Chance to activate Captcha
  chance: 0.02
  # How many times the player can fail the captcha
  captcha-times: 5
  # Bypass Permission
  bypass-permission: rivalpickaxes.captchabypass
  # Captcha failed message
  failedcaptcha: '&4&l[!] &cYou have failed captcha  &f{time}&c/&f5'
  # Command to run when player has failed the captcha
  command: kick {player} Captcha Failed
  # Seconds player spent in the captcha GUI
  time-in-gui: 15
  # Should the player be punished
  punish: true
  # Message when player logs out
  logged-out: '&4&l[!] &f{player} &chas logged out while in &fCaptcha'
  # Message when player spends to much time in captcha
  time: '&4&l[!] &f{player} &chas been in the Captcha for &f15 seconds&c.'
  # Message Broadcast when player fails the Captcha
  failed: '&4&l[!] &f{player} &chas failed the Captcha&f.'
  # Message when player confirms the captcha
  confirm-message: '&2&l[!] &aYou have confirmed the captcha'
  # /captcha <player> command message
  forced: '&4&l[!] &cForced a captcha check for &f{player}'
  # Sends the message to the player when captcha activates
  player-message: '&4&l[!] &cPlease solve the captcha to continue!'
  # Period in seconds that the captcha won't activate for player after it already has been activated
  exempt-player: 180
  # If Enabled it Disables Captcha Menu and Runs the Custom Command when captcha is activated
  custom-command:
    enabled: false
    command: captcha {player}
  # Send alerts and failed message to discord, Tutorial how to make a webhook: https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
  discord-webhook:
    url: ''
    enabled: false
    send-failed: true
    send-activated-command: true
    send-activated: true

Block-Per-Second:
  # Enable the alert if player is breaking to many blocks at a time
  enabled: true
  # Permission to receive the alert message
  permission: rivalpickaxes.notify
  # Message sent to players with permission
  message: '&4&l[Alert] &c{player} &7is breaking to many blocks per second &7(might be nuking) &8(&f{blocks}&8)'

```


# prestige.yml

```yaml
Prestige:
  main-menu-item:
    enabled: true
    material: SIGN
    base64:
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOGRjZmYxYWNjMTJmMTZkNDRhZWUxZjdlODQ0MTRjYjJlOGVhN2ViNDY0MmU3ZDI5MmQ3NmYxYzE3YjRiNDM0YSJ9fX0=
    slot: 4
    name: '&2&l[!] &a&lPickaxe Prestige'
    lore:
      - '&7(( Click to view all pickaxe prestige perks ))'
  prestige-info-menu-item:
    slot: 12
    material: SIGN
    base64:
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2RjOTg1YTdhNjhjNTc0ZjY4M2MwYjg1OTUyMWZlYjNmYzNkMmZmYTA1ZmEwOWRiMGJhZTQ0YjhhYzI5YjM4NSJ9fX0=
    name: '&2&l[!] &a&lPrestige Info'
    lore:
      - '&8Prestige Tool'
      - ''
      - '&a&lCURRENT PERKS'
      - ' &6▏ &eEssence Boost: &f{essence-boost}x'
      - ' &2▏ &aMoney Boost: &f{money-boost}x'
      - ' &3▏ &bEnchant Proc Boost: &f{enchant-proc-boost}x'
      - ''
  prestige-button-no-requirement:
    slot: 14
    material: SIGN
    base64:
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWQ3OGNjMzkxYWZmYjgwYjJiMzVlYjczNjRmZjc2MmQzODQyNGMwN2U3MjRiOTkzOTZkZWU5MjFmYmJjOWNmIn19fQ==
    name: '&4&l[!] &c&lUnavailable'
    lore:
      - ''
      - ' &4&l▏ &cPrestige Requirement: &fLevel {requirement-level} Pickaxe'
      - ''
  prestige-button-available:
    material: SIGN
    base64:
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzExMDFjNDk4YWFhYzkzZTc2YjhmMTZkMjljYmZhNDczZWQyNGQ5YzZjNzU1NjNjMjdlZWRkNDljOTYzZTk4YiJ9fX0=
    name: '&2&l[!] &a&lPrestige Available'
    lore:
      - '&8Prestige Tool'
      - ''
      - '&a&lNEXT PRESTIGE PERKS'
      - ' &6▏ &eEssence Boost: &f{essence-boost}x'
      - ' &2▏ &aMoney Boost: &f{money-boost}x'
      - ' &3▏ &bEnchant Proc Boost: &f{enchant-proc-boost}x'
      - ''
      - '&7&o(( Click to prestige your pickaxe! ))'
Prestige-Menu:
  size: 27
  name: '&8Pickaxe Prestige'
Prestige-Settings:
  money-boost-per-prestige: 0.2
  essence-boost-per-prestige: 0.2
  enchant-proc-boost-per-prestige: 0.05
  max-prestige: 10
  xp-requirement-boost-per-prestige: 0.2
  reset-all-enchants-on-prestige: true
  reset-autosell: false
Messages:
  max-prestige: '&2&l[!] &7You are at the &amax &7prestige level!'
  need-level: '&2&l[!] &7Your pickaxe needs to be level &f&n{required-level}&r &7to prestige!'
  pickaxe-prestiged:
    - ''
    - '&2&l[!] &aYou have &f&nprestiged&r &ayour pickaxe to &f&l&n{prestige-level}&r &a!'
    - ''
    - '&a&lPRESTIGE &f{old-level} &8&l➜ &a&lPRESTIGE &f{new-level}'
    - ''
    - '&a&lPERKS:'
    - ' &6▏ &eEssence Boost: &f{essence-boost}x'
    - ' &2▏ &aMoney Boost: &f{money-boost}x'
    - ' &3▏ &bEnchant Proc Boost: &f{enchant-proc-boost}x'
    - ''
    - '&7&o(( Reach Pickaxe Level &f&n{level} &7&oto prestige again! ))'

```


# shops.yml

```yaml
# Information About the Main Menu
#  main:
#    options:
#      size: 45
#      title: "&8Example Menu"
#      default: true - If its the first menu that opens when you type /essence shop
#    items:
#      '1': // Can be anything but cant repeat
#        material: 'STONE' // Material of the item shown in GUI
#        amount: 1 // Amount of Item in the GUI
#        name: "&bExample Name" // Name of the item in the GUI
#        lore:          //Lore of the item in the GUI
#          - "&7Example Lore"
#        slot: 5       // What Slot will the item Appear in
#        page: examplepage // When the item is clicked it will open the page defined Mostly used for Main Menu
pages:
  main:
    options:
      size: 45
      title: '&8ServerName » {eco_name} Shop'
      default: true
      filler:
        material: LIGHT_BLUE_STAINED_GLASS_PANE
    items:
      '13':
        material: MAGMA_CREAM
        amount: 1
        name: '&6&l[!] &e&lESSENCE'
        lore:
          - '&7You have &6❋&e{essence} essence'
          - '&7You can get Essence by mining'
          - '&7ores and use Essence to purchase items'
          - '&7in the &e/essence shop'
        slot: 13
      '20':
        material: MOB_SPAWNER
        amount: 1
        name: '&3&l<!> &b&lSpawners Shop'
        lore:
          - ''
          - ' &3● &bCategory: &fSpawners'
          - ' &3● &bContains: &f1 Item'
          - ''
        slot: 20
        page: spawners
      '21':
        material: TRIPWIRE_HOOK
        amount: 1
        name: '&3&l<!> &b&lCrate Keys Shop'
        lore:
          - ''
          - ' &3● &bCategory: &fCrate Keys'
          - ' &3● &bContains: &f4 Items'
          - ''
        slot: 22
        page: keys
      '22':
        material: ENDER_CHEST
        amount: 1
        name: '&3&l<!> &b&lExclusive Shop'
        lore:
          - ''
          - ' &3● &bCategory: &fExclusive'
          - ' &3● &bContains: &f1 Item'
          - ''
        slot: 24
        page: monthlycrates
  spawners:
    options:
      size: 27
      title: '&8ServerName » Spawner Shop'
      filler:
        material: LIGHT_BLUE_STAINED_GLASS_PANE
    items:
      '1':
        material: MOB_SPAWNER
        amount: 1
        name: '&3&l[!] &b&lSilverfish Spawner'
        lore:
          - ''
          - ' &3&l● &bPrice: &f400k Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - ws give {player} spawner Silverfish 1
        price: 400000
        slot: 13
      '18':
        material: BARRIER
        amount: 1
        name: '&c&lGo Back to Categories'
        lore:
          - '&7&o(( Click here to go back ))'
        slot: 22
        page: main
  keys:
    options:
      size: 27
      title: '&8ServerName » Crate Key Shop'
      filler:
        material: LIGHT_BLUE_STAINED_GLASS_PANE
    items:
      '11':
        material: LIME_DYE
        amount: 1
        name: '&2&l[!] &a&lVote Crate Key'
        lore:
          - ''
          - ' &2&l● &aPrice: &f300k Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - crate give p Vote 1 {player}
        price: 300000
        slot: 11
      '12':
        material: LIGHT_BLUE_DYE
        amount: 1
        name: '&3&l[!] &b&lRare Crate Key'
        lore:
          - ''
          - ' &3&l● &bPrice: &f450k Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - crate give p Rare 1 {player}
        price: 450000
        slot: 12
      '14':
        material: PINK_DYE
        amount: 1
        name: '&5&l[!] &d&lUltra Crate Key'
        lore:
          - ''
          - ' &5&l● &dPrice: &f650k Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - crate give p Ultra 1 {player}
        price: 650000
        slot: 14
      '15':
        material: ORANGE_DYE
        amount: 1
        name: '&e&l[!] &6&lLegendary Crate Key'
        lore:
          - ''
          - ' &6&l● &ePrice: &f950k Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - crate give p Legendary 1 {player}
        price: 950000
        slot: 15
      '18':
        material: BARRIER
        amount: 1
        name: '&c&lGo Back to Categories'
        lore:
          - '&7&o(( Click here to go back ))'
        slot: 22
        page: main
  monthlycrates:
    options:
      size: 27
      title: '&8ServerName » Exclusive Essence Shop'
      filler:
        material: LIGHT_BLUE_STAINED_GLASS_PANE
    items:
      '1':
        material: ENDER_CHEST
        amount: 1
        name: '&6&l[!] &e&lMonthly Crate'
        lore:
          - ''
          - ' &6&l● &ePrice: &f15M Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - ac give {player} Monthly 1
        price: 15000000
        slot: 13
      '18':
        material: BARRIER
        amount: 1
        name: '&c&lGo Back to Categories'
        lore:
          - '&7&o(( Click here to go back ))'
        slot: 22
        page: main

```


# Rival Harvester Hoes

### Jump right in

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="image"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h4>Quickstart</h4></td><td>Plugin Installation</td><td><a href="https://gitbookio.github.io/space-quickstart-images/public-docs-card.svg">https://gitbookio.github.io/space-quickstart-images/public-docs-card.svg</a></td><td><a href="/pages/mCnTerlgTs7GZukZnD98">/pages/mCnTerlgTs7GZukZnD98</a></td></tr></tbody></table>


# Harvester Hoe Plugin for Minecraft

The **Rival Harvester Hoes** is a feature-rich Minecraft plugin that transforms farming on your server. Give players enchanted hoes that automatically harvest and replant crops, compete on leaderboards, and earn rewards making crop farming faster, more competitive, and more rewarding than ever.

***

### What is the Harvester Hoe Plugin?

The Harvester Hoe plugin adds custom, upgradeable hoes to your Minecraft server that automatically harvest crops and replant seeds in a single click. Designed for survival, SkyBlock, and prison servers, it turns repetitive crop farming into an engaging progression system with levels, prestige, XP, and economy integration.

Whether you're running a small community server or a large network, the Harvester Hoe plugin scales to fit  with per-player crop tracking, farming zones, leaderboards, and a fully configurable drop system.

***

### Key Features

#### 🌾 Auto-Harvest & Replant

Harvester Hoes automatically break fully grown crops and replant them instantly, saving players time and making large farms viable without manual effort.

#### ⬆️ Hoe Levels & Prestige

Players level up their hoe through farming, unlocking better drops, higher sell prices, and custom item tiers. A prestige system extends progression for your most dedicated players.

#### 🏆 Crop Leaderboards

Built-in leaderboards track crop totals per player across daily, weekly, and monthly timeframes. Supports all crop types individually or combined with the `ALL` material selector.

#### 🎲 Custom Drops

Define custom item drops per crop per hoe level. Give higher-level players enchanted crop variants with glows, custom names, lore, NBT data, and higher sell prices — fully configurable in `config.yml`.

#### 🌀 Harvester Events

Time-limited server-wide farming events where players compete to farm the most crops within a set window. Tracks positions in real time with PlaceholderAPI support.

#### 🗺️ Farming Zones

Create WorldGuard regions where crops automatically regenerate after a configurable time. Supports per-player packet-based crop rendering so multiple players can farm the same zone simultaneously.

#### 💰 AutoSell Integration

Automatically sell harvested crops at configurable per-crop, per-level prices. Works seamlessly with popular economy plugins.

#### 📊 PlaceholderAPI Support

Expose hoe stats, crop counts, leaderboard positions, and event data to any plugin that supports PlaceholderAPI — perfect for scoreboards, holograms, and chat formatting.

***

### Supported Server Types

* **SkyBlock** — crop tracking and farming zone support
* **Survival** — region-based farming zones with WorldGuard
* **Prison** — crop economy with AutoSell and level progression
* **Factions / Towny** — competitive leaderboards and harvester events

***

### Requirements

| Dependency                                                                  | Required                   |
| --------------------------------------------------------------------------- | -------------------------- |
| [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/)   | Recommended                |
| [WorldGuard](https://enginehub.org/worldguard/)                             | For Farming Zones          |
| [PacketEvents](https://www.spigotmc.org/resources/packetevents-api.80279/)  | For Packet Crops (v2.1.2+) |
| [HolographicDisplays](https://dev.bukkit.org/projects/holographic-displays) | For Hologram Leaderboards  |


# Installation

## Before Starting the server

* Download and place the latest **RivalHarvesterHoes1.16.5Plus.jar** in your plugins folder.
* Make sure to download all the dependencies nand add them to your plugins folder.
* Start your server and the plugin will be loaded.

## Dependencies

&#x20; [NBTAPI](https://www.spigotmc.org/resources/nbt-api.7939/), [Vault](https://www.spigotmc.org/resources/vault.34315/) & [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) <[ ProtocolLib](https://ci.dmulloy2.net/job/ProtocolLib//lastBuild/) >


# Placeholders

## 📋 PlaceholderAPI Placeholders

> **Requirements:** [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) is required for all placeholders. For updating Holograms, use [HolographicDisplays](https://dev.bukkit.org/projects/holographic-displays) with [HolographicExtension](https://www.spigotmc.org/resources/holographicextension.18461/).

***

### 💎 Essence

| Placeholder                            | Description                                      |
| -------------------------------------- | ------------------------------------------------ |
| `%rivalhoes_essence%`                  | Player's raw essence amount                      |
| `%rivalhoes_essence_formatted%`        | Player's formatted essence amount                |
| `%rivalhoes_essencetop_position%`      | Player's position on the essence leaderboard     |
| `%rivalhoes_essencetop_name_<place>%`  | Name of player at leaderboard position `<place>` |
| `%rivalhoes_essencetop_value_<place>%` | Essence value at leaderboard position `<place>`  |

***

### 🌾 Crops

{% hint style="danger" %}
**Version 2.1.2+** — Use the new unified crop balance format below instead of the individual crop placeholders
{% endhint %}

#### New Format (v2.1.2+)

```
%rivalhoes_crop_balance_{material}%
%rivalhoes_crop_balance_formatted_{material}%
```

**Examples:**

| Placeholder                             | Description                    |
| --------------------------------------- | ------------------------------ |
| `%rivalhoes_crop_balance_ALL%`          | Total balance across all crops |
| `%rivalhoes_crop_balance_WHEAT%`        | Raw wheat balance              |
| `%rivalhoes_crop_balance_BUBBLE_CORAL%` | Raw bubble coral balance       |

#### Legacy Format (Pre-2.1.2)

| Placeholder                        | Description                 |
| ---------------------------------- | --------------------------- |
| `%rivalhoes_cane%`                 | Raw Sugar Cane count        |
| `%rivalhoes_cane_formatted%`       | Formatted Sugar Cane count  |
| `%rivalhoes_potato%`               | Raw Potato count            |
| `%rivalhoes_potato_formatted%`     | Formatted Potato count      |
| `%rivalhoes_carrot%`               | Raw Carrot count            |
| `%rivalhoes_carrot_formatted%`     | Formatted Carrot count      |
| `%rivalhoes_wheat%`                | Raw Wheat count             |
| `%rivalhoes_wheat_formatted%`      | Formatted Wheat count       |
| `%rivalhoes_cocoabean%`            | Raw Cocoa Bean count        |
| `%rivalhoes_cocoabean_formatted%`  | Formatted Cocoa Bean count  |
| `%rivalhoes_netherwart%`           | Raw Nether Wart count       |
| `%rivalhoes_netherwart_formatted%` | Formatted Nether Wart count |
| `%rivalhoes_pumpkin%`              | Raw Pumpkin count           |
| `%rivalhoes_pumpkin_formatted%`    | Formatted Pumpkin count     |
| `%rivalhoes_melon%`                | Raw Melon count             |
| `%rivalhoes_melon_formatted%`      | Formatted Melon count       |
| `%rivalhoes_crops%`                | Raw total crop count        |
| `%rivalhoes_crops_formatted%`      | Formatted total crop count  |

***

***

### 🏆 Leaderboards

{% hint style="danger" %}
**Version 2.1.2+** — Use the new leaderboard system based on time options&#x20;
{% endhint %}

#### Legacy Format (Pre-2.1.2)

Replace `<crop>` with any crop name (e.g. `wheat`, `cane`) and `<place>` with a leaderboard position number.

| Placeholder                           | Description                                      |
| ------------------------------------- | ------------------------------------------------ |
| `%rivalhoes_<crop>top_name_<place>%`  | Name of the player at position `<place>`         |
| `%rivalhoes_<crop>top_value_<place>%` | Crop value at position `<place>`                 |
| `%rivalhoes_<crop>top_position%`      | The player's current position on the leaderboard |

#### New Format  (v2.1.2+)

```
%rivalhoes_croptop_name_<material>:<place>:<timerange>%
%rivalhoes_croptop_value_<material>:<place>:<timerange>%
```

| Parameter     | Description                      | Example values                         |
| ------------- | -------------------------------- | -------------------------------------- |
| `<material>`  | Crop material name               | `WHEAT`, `SUGAR_CANE`, `ALL, MATERIAL` |
| `<place>`     | Leaderboard position number      | `1`, `2`, `3`                          |
| `<timerange>` | Time periods for the leaderboard | `daily`, `weekly`, `monthly`           |

**Examples:**

| Placeholder                                     | Description                                    |
| ----------------------------------------------- | ---------------------------------------------- |
| `%rivalhoes_croptop_name_WHEAT:1:daily%`        | #1 player on the daily Wheat leaderboard       |
| `%rivalhoes_croptop_value_WHEAT:1:daily%`       | #1 value on the daily Wheat leaderboard        |
| `%rivalhoes_croptop_name_ALL:1:monthly%`        | #1 player on the monthly All Crops leaderboard |
| `%rivalhoes_croptop_value_SUGAR_CANE:3:weekly%` | #3 value on the weekly Sugar Cane leaderboard  |

***

### 🌀 Harvester Event

| Placeholder                                 | Description                                             |
| ------------------------------------------- | ------------------------------------------------------- |
| `%rivalhoes_harvesterevent_time_next%`      | Time until the next event (`m/s` format)                |
| `%rivalhoes_harvesterevent_time_long%`      | Time until the next event (`minute/second` format)      |
| `%rivalhoes_harvesterevent_time_left%`      | Time remaining in the current event (short)             |
| `%rivalhoes_harvesterevent_time_left_long%` | Time remaining in the current event (long)              |
| `%rivalhoes_harvesterevent_active%`         | Returns `true` if an event is active, `false` otherwise |
| `%rivalhoes_harvesterevent_broken%`         | Total crops farmed during the current event             |
| `%rivalhoes_harvesterevent_position%`       | Player's current position in the Harvester Event        |

***

### 🔧 Other

| Placeholder                | Description                                         |
| -------------------------- | --------------------------------------------------- |
| `%rivalhoes_is_hoe%`       | Returns `true` if the player is holding a Hoe       |
| `%rivalhoes_hoe_level%`    | Hoe level (requires Hoe in hand)                    |
| `%rivalhoes_hoe_prestige%` | Hoe prestige (requires Hoe in hand)                 |
| `%rivalhoes_hoe_xp%`       | Hoe XP (requires Hoe in hand)                       |
| `%rivalhoes_hoe_bar%`      | Hoe XP progress bar (requires Hoe in hand)          |
| `%rivalhoes_is_captcha%`   | Returns `true` if the player is in the captcha menu |


# Commands and Permissions

Main Permissions: `rivalhoes.main - rivalhoes.admin`

Hoe Commands:

| COMMANDS                  |             DESCRIPTION             | PERMISSIONS              |
| ------------------------- | :---------------------------------: | ------------------------ |
| /hoe give                 |         Give hoe to a player        | rivalhoes.give           |
| /hoe about                |      View info about the plugin     | -                        |
| /hoe stats                |        View Stats of a player       | rivalhoes.stats          |
| /hoe info                 |         View Enchants on Hoe        | rivalhoes.info           |
| /hoe reload               |          Reload all configs         | rivalhoes.reload         |
| /hoe harvesterevent start |      Start the Harvester Event      | rivalhoes.harvesterevent |
| /hoe calculate            | Calculate Essence price for Enchant | rivalhoes.calculate      |
| /hoe admin                |    Open the Admin Panel for Hoes    | rivalhoes.admin          |
| /hoe setenchant           |       Set a enchant to the Hoe      | rivalhoes.setenchant     |
| /hoe max                  |     Give a hoe with max enchants    | rivalhoes.max            |
| /hoe setowner             |     Change the Owner of the Hoe     | rivalhoes.setowner       |
| /hoe testchance           |     Test the Chance of Enchants     | rivalhoes.testchance     |

Essence Commands:

|               COMMANDS              |         DESCRIPTION        | PERMISSIONS                |
| :---------------------------------: | :------------------------: | -------------------------- |
|      /essence balance \<player>     |    View Essence Balance    | rivalhoes.essence.balance  |
|  /essence give \<player> \<amount>  |   Give Essence to Player   | rivalhoes.essence.give     |
|   /essence pay \<player> \<amount>  |    Pay Essence to Player   | rivalhoes.essence.pay      |
|     /essence withdraw \<amount>     |      Withdraw Essence      | rivalhoes.essence.withdraw |
|   /essence set \<player> \<amount>  |    Set Player's Essence    | rivalhoes.essence.set      |
| /essence remove \<player> \<amount> | Remove Essence from Player | rivalhoes.essence.remove   |
|            /essence shop            |    Open the Essence Shop   | rivalhoes.essence.shop     |
|            /essence reset           |   Reset Player's Essence   | rivalhoes.essence.reset    |
|            /essence force           |   Force save Essence Data  | rivalhoes.admin            |
|             /essence top            |  View Essence Leaderboard  | -                          |

Crop Commands:&#x20;

<table><thead><tr><th width="341.7936342290634" align="center">COMMANDS</th><th align="center">DESCRIPTION</th></tr></thead><tbody><tr><td align="center">/crops balance &#x3C;player> &#x3C;crop></td><td align="center">View  Crop Balance</td></tr><tr><td align="center">/crops give &#x3C;player> &#x3C;crop></td><td align="center">Give Crops to Player</td></tr><tr><td align="center">/crops remove &#x3C;player> &#x3C;crop></td><td align="center">Remove Crops from Player</td></tr><tr><td align="center">/crops reset &#x3C;player> &#x3C;crop></td><td align="center">Reset Player's Crops</td></tr><tr><td align="center">/crops set &#x3C;player> &#x3C;crop> &#x3C;amount></td><td align="center">Set Player's Crops</td></tr><tr><td align="center">/crops top &#x3C;crop></td><td align="center">View Crop Leaderboards</td></tr><tr><td align="center">/crops force</td><td align="center">Force save Crop Data</td></tr></tbody></table>

Other Commands:

* /harvesters - Shows all current players using Harvester Hoes
* /jackhammer - Toggle the JackHammer enchant activation for yourself
* /trench - Toggle the Trench enchant activation for yourself
* /harvesterevent - Shows your current crops, time left and current leaderboard
* /rush - Check the time left on Rush boost&#x20;


# API

All API Methods

```
	double getEssence(OfflinePlayer player);
	void giveEssence(OfflinePlayer player, double value);
	void setEssence(OfflinePlayer player, double value);
	long getCane(OfflinePlayer player);
	void removeEssence(OfflinePlayer player, double value);
	void setCane(OfflinePlayer player, long value);
	long getPotato(OfflinePlayer player);
	long getCarrot(OfflinePlayer player);
	long getBeetroot(OfflinePlayer player);
	long getWheat(OfflinePlayer player);
	long getCocoaBean(OfflinePlayer player);
	long getNetherWart(OfflinePlayer player);
	long getPumpkin(OfflinePlayer player);
	long getMelon(OfflinePlayer player);
	long getCrops(OfflinePlayer player);
	void setPotato(OfflinePlayer player, long value);
	void setCarrot(OfflinePlayer player, long value);
	void setBeetroot(OfflinePlayer player, long value);
	void setWheat(OfflinePlayer player, long value);
	void setCocoaBean(OfflinePlayer player, long value);
	void setNetherWart(OfflinePlayer  player, long value);
	void setPumpkin(OfflinePlayer player, long value);
	void setMelon(OfflinePlayer player, long value);
	void setCrops(OfflinePlayer player, long value);
	
	
   Events: RivalBlockBreakEvent(Player player, Block crop, int amount)
   	   HoeEssenceReceiveEnchant, HoeEssenceReceivePreEnchantEvent, HoeMoneyReceiveEnchant
   
 
```

{% hint style="success" %}
API: <https://docs.rivaldev.xyz/general/apis>
{% endhint %}


# Custom Drops

Custom drops allow you to define different item drops for each crop based on the player's hoe level. As a player's hoe level increases, they unlock better drop tiers automatically.

{% hint style="info" %}
**How tiers work:** `1` is the default drop. If a player's hoe level is equal to or above the `level-requirement` of a higher tier, that tier will be used instead. You can define unlimited tiers per crop.
{% endhint %}

{% hint style="danger" %}
Each drop **must** include a `sell-price` for AutoSell mode to function correctly.
{% endhint %}

***

### Basic Configuration

yaml

```yaml
Custom-Drops:
  enabled: false
  crops:
    SUGAR_CANE:
      '1':                        # Default drop (no level requirement)
        material: SUGAR_CANE
        sell-price: 6.5
      '2':                        # Unlocked at hoe level 5+
        name: '&d&lEnchanted Sugar Cane'
        material: SUGAR_CANE
        glow: true
        sell-price: 10
        level-requirement: 5
```

***

### All Drop Properties

Below is a full reference of every property a drop tier can use.

#### 🏷️ Display

| Property     | Description                                  | Example                      |
| ------------ | -------------------------------------------- | ---------------------------- |
| `name`       | Custom display name (supports color codes)   | `'&d&lEnchanted Sugar Cane'` |
| `material`   | Bukkit material name                         | `SUGAR_CANE`                 |
| `lore`       | List of lore lines (supports color codes)    | See below                    |
| `glow`       | Adds an enchantment glow effect              | `true` / `false`             |
| `customdata` | Custom model data for resource packs (1.16+) | `1`                          |

```yaml
name: '&d&lEnchanted Sugar Cane'
material: SUGAR_CANE
lore:
  - '&7First line of lore'
  - '&7Second line of lore'
glow: true
customdata: 12332
```

***

#### 🖼️ Custom Texture

Use a Base64 string from [minecraft-heads.com](https://minecraft-heads.com/custom-heads) to apply a custom head texture.

yaml

```yaml
base64:
  enabled: true
  value: ''   # Paste your Base64 value here
```

***

#### 💀 Player Skull

Display a specific player's skull as the drop item.

```yaml
skull:
  enabled: true
  name: Steve   # Player name
```

***

#### ✨ Enchants

Add enchantments using [Bukkit Enchantment](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html) names in `ENCHANTMENT:LEVEL` format.

```yaml
enchants:
  - 'DURABILITY:10'
  - 'DIG_SPEED:5'
```

***

#### 🚩 Item Flags

Hide item attributes using [Bukkit ItemFlag](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/ItemFlag.html) names.

```yaml
flags:
  - 'HIDE_ENCHANTS'
  - 'HIDE_ATTRIBUTES'
```

***

#### 🔩 NBT Data

Attach custom NBT data to the item. Three types are supported:

```yaml
nbt:
  integer:
    key: 'nbtitem'
    value: '1'

nbt:
  string:
    key: 'nbtitem'
    value: 'Item'

nbt:
  boolean:
    key: 'nbtitem'
    value: true
```

***

#### 💰 Economy & Requirements

| Property            | Description                             | Example |
| ------------------- | --------------------------------------- | ------- |
| `sell-price`        | Price per item when AutoSell is active  | `20`    |
| `level-requirement` | Minimum hoe level to use this drop tier | `5`     |

***

### Full Drop Example

```yaml
Custom-Drops:
  enabled: true
  crops:
    SUGAR_CANE:
      '1':
        material: SUGAR_CANE
        sell-price: 6.5
      '2':
        name: '&d&lEnchanted Sugar Cane'
        material: SUGAR_CANE
        lore:
          - '&7A magically enhanced cane'
          - '&7Worth more at the market!'
        glow: true
        enchants:
          - 'DURABILITY:10'
        flags:
          - 'HIDE_ENCHANTS'
        nbt:
          integer:
            key: 'nbtitem'
            value: '1'
        sell-price: 20
        level-requirement: 5
```


# Farming Zones

### **🌾 Farming Zones** (v2.1.2+)

Farming Zones let you create regions where players can farm crops that automatically regenerate after a set amount of time. Supports per-player farming so multiple players can farm in the same zone simultaneously without interfering with each other.

{% hint style="info" %}
**Version 2.1.2+** — If you are on a legacy version, see the Farming Zones (Legacy) down below.
{% endhint %}

***

### Requirements

* [WorldGuard](https://enginehub.org/worldguard/) for region management
* [PacketEvents ](https://modrinth.com/plugin/packetevents)*(optional — required for `player-only` mode)*

***

### 1. Setup

&#x20;Plant & Grow Your Crops Wheat must be **planted and fully grown** in the area before creating a farming zone.

### 2. Create the Farming Zone

Run the following command and click the new zone button in the menu to begin your selection: **/hoe farmingzones**

Follow the steps shown in chat using the selection wand to define your zone area.

#### 3. Enable in config.yml

Ensure the following options are set in `config.yml`:

```yaml
Farming-Zones:
  enabled: true
  packetcrops: true
```

#### 4. Set the Crop for the Zone

You can either use the Crop Selector GUI (configured in \`cropselector.yml\`) or set a crop manually with:

/hoe setcrop {player} {material}

{% hint style="info" %}
ItemsAdder, Nexo & Oraxen are supported for material types, instead of a material you can use itemsadder:yourmodel oraxen:yourmodel nexo:yourmodel
{% endhint %}

{% hint style="danger" %}
Any material set must also be added to \`Leaderboard-Materials:\` in \`leaderboards.yml\`. \*\*A server restart is required\*\* after adding the new materials.
{% endhint %}

#### &#x20;Region Flags

You still need a WorldGuard region with the correct flags applied. Use \`/rg define {name}\` and then set:

/rg flag {region} build allow

\*\*or:\*\*

/rg flag {region} rivalharvesterhoes allow

&&#x20;

/rg flag {region} block-break deny

/rg flag {region} block-place deny

/rg flag {region} deny-message -e

***

### Configuration

The region config and structure remain the same as the legacy version:

```yaml
Farming-Zones:
  enabled: true          # Enable the Farming Zones module
  packetcrops: true      # Enable packet-based crops — requires PacketEvents
  player-only: true    # Only the farming player sees their own crops break
  global: false          # If true, every crop acts as a farming zone crop
                         # and regions are ignored
  regions:
    - 'regionname'       #Regions does nothing on this version
  regen-time: 20         # Default crop regen time in seconds
  custom-times:          # Override regen time per crop type
    WHEAT: 5
  particles:
    enabled: true        # Show particles when a crop regenerates
    particle: 'VILLAGER_HAPPY'
```

### **🌾 Farming Zones (Legacy)**

\
Farming Zones let you create regions where players can farm crops that automatically regenerate after a set amount of time. Supports per-player farming so multiple players can farm in the same zone simultaneously without interfering with each other.

{% hint style="danger" %}
&#x20;**Legacy Version** — If you are on version 2.1.2 or above, see the Farming Zones (v2.1.2+) above
{% endhint %}

***

### Requirements

* [WorldGuard](https://enginehub.org/worldguard/) for region management
* [ProtocolLib](https://www.spigotmc.org/resources/protocollib.1997/) *(optional — required for `player-only` mode)*

***

### Setup

#### 1. Create a WorldGuard Region

Define a WorldGuard region over the area you want to use as a farming zone:

```
/rg define {name}
```

#### 2. Set Region Flags

Apply the following flags to your region:

```
/rg flag {region} build allow
```

**or** (if you prefer a more restrictive setup):

```
/rg flag {region} rivalharvesterhoes allow
```

```
/rg flag {region} block-break deny
/rg flag {region} block-place deny
/rg flag {region} deny-message -e
```

#### 3. Add the Region to config.yml

Add your region name to the `regions` list in `config.yml` and configure the module to your liking (see below).

***

### Configuration

```yaml
Farming-Zones:
  enabled: true          # Enable the Farming Zones module
  player-only: false     # Only the farming player sees their own crops break
                         # (other players' crops remain visible) — requires ProtocolLib
  global: false          # If true, every crop acts as a farming zone crop
                         # and regions are ignored
  regions:
    - 'regionname'
  regen-time: 20         # Default crop regen time in seconds
  custom-times:          # Override regen time per crop type
    WHEAT: 5
  particles:
    enabled: true        # Show particles when a crop regens
    particle: 'VILLAGER_HAPPY'
```


# Crop Levels

Crop levels can be defined based on hoe level, prestige, or amount of crops broken

### Valid Crops

Valid crops: Materials 1.16-1.20.4&#x20;

{% code overflow="wrap" fullWidth="false" %}

```yaml
Sugar Cane - Caña de azúcar - SUGAR_CANE
Wheat - Trigo - WHEAT
Carrots - Zanahorias - CARROTS
Potatoes - Patata - POTATOES
Melon - Melón - MELON
Pumpkin - Calabaza - PUMPKIN
Beetroots - Remolacha - BEETROOTS
Nether Wart - Verruga del Nether - NETHER_WART
Cocoa beans - Granos de cacao - COCOA
```

{% endcode %}

## Level Requirements

<pre class="language-yaml"><code class="lang-yaml"><strong># Example of Needing a Hoe Level 5 to break a crop
</strong>Enabled: true
GUI-Size: 27
GUI-Name: '&#x26;8Crop Levels'
prestige-requirements: false
crop-requirements: false
Crop-Levels:
  Level1:
    hoe-level: 5
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTBhNGM5NGRkNjVhN2NhZGM0MTcyY2VkZjM5OTBhODU0Mjc3MmJiMTEzY2RmMWEwZjc4ZWY2NTJjNmFiZTZjYiJ9fX0='
    slot: 12
    name: '&#x26;2&#x26;l[!] &#x26;a&#x26;lLevel 1'
    lore:
      - ''
      - '&#x26;7Crops you can farm:'
      - '&#x26;8* &#x26;7Nether Wart'
      - '&#x26;8* &#x26;7Melon'
      - '&#x26;8* &#x26;7Carrots'
      - ''
      - '&#x26;2&#x26;lYOUR STATS'
      - '&#x26;8* &#x26;7Level: &#x26;f{current-level}'
      - '&#x26;8* &#x26;7Crops Harvested: &#x26;f{crops-harvested}'
      - '&#x26;8* &#x26;7Current XP: &#x26;f{current-xp}'
    crops:
      - MELON
      - NETHER_WART
      - CARROTS
</code></pre>

## Prestige Requirements

```yaml
# Example of Needing a Hoe Prestige 5 to break a crop, instead of using
# hoe-level: for levels it will be using it for the prestige requirement
Enabled: true
GUI-Size: 27
GUI-Name: '&8Crop Levels'
prestige-requirements: true
crop-requirements: false
Crop-Levels:
  Level1:
    hoe-level: 5
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTBhNGM5NGRkNjVhN2NhZGM0MTcyY2VkZjM5OTBhODU0Mjc3MmJiMTEzY2RmMWEwZjc4ZWY2NTJjNmFiZTZjYiJ9fX0='
    slot: 12
    name: '&2&l[!] &a&lLevel 1'
    lore:
      - ''
      - '&7Crops you can farm:'
      - '&8* &7Nether Wart'
      - '&8* &7Melon'
      - '&8* &7Carrots'
      - ''
      - '&2&lYOUR STATS'
      - '&8* &7Crops Harvested: &f{crops-harvested}'
      - '&8* &7Current XP: &f{current-xp}'
    crops:
      - MELON
      - NETHER_WART
      - CARROTS
```

## Crop Requirements

Valid crop: types are 'Crops'(all crops combined) , 'Potato', 'NetherWart', 'Beetroot', 'Carrot', 'CocoaBean', 'Pumpkin', 'Wheat', 'Cane', 'Melon', 'Bamboo'

```yaml
# Example of needing 3000 of any crop to be able to break the crops under crops:

Enabled: true
GUI-Size: 45
GUI-Name: '&8Crop Levels'
prestige-requirements: false
crop-requirements: true
Crop-Levels:
  Level1:
    requirement:
      crop: 'Crops'
      amount: 3000
    material: STONE
    base64:
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTBhNGM5NGRkNjVhN2NhZGM0MTcyY2VkZjM5OTBhODU0Mjc3MmJiMTEzY2RmMWEwZjc4ZWY2NTJjNmFiZTZjYiJ9fX0=
    slot: 12
    name: '&2&l[!] &a&lLevel 1'
    lore:
      - ''
      - '&7Crops you can farm:'
      - '&8* &7Nether Wart'
      - '&8* &7Melon'
      - '&8* &7Carrots'
      - ''
      - '&2&lYOUR STATS'
      - '&8* &7Crops Harvested: &f{crops-harvested}'
      - '&8* &7Current XP: &f{current-xp}'
    crops:
      - MELON
      - NETHER_WART
      - CARROTS
# In Lore of Item and Messages you can also use these placeholders, {crop-needed-name} 
# {crop-current-amount} {crop-needed-amount} {percentage} & {progress}
```


# Configurations

{% content-ref url="/pages/aZuMx7N6NYqoxgwJxfMA" %}
[config.yml](/rival-tools/rival-harvester-hoes/configurations/config.yml)
{% endcontent-ref %}

{% content-ref url="/pages/9mQIx9aq1axayQVXGSyX" %}
[enchants.yml](/rival-tools/rival-harvester-hoes/configurations/enchants.yml)
{% endcontent-ref %}

{% content-ref url="/pages/VQLDDhtvB9JJC7vvYN5R" %}
[leaderboards.yml](/rival-tools/rival-harvester-hoes/configurations/leaderboards.yml)
{% endcontent-ref %}

{% content-ref url="/pages/hxba9jLtd67zVP6Qgrum" %}
[captcha.yml](/rival-tools/rival-harvester-hoes/configurations/captcha.yml)
{% endcontent-ref %}

{% content-ref url="/pages/4lkvzZt9oJi0mhuUHysq" %}
[settings.yml](/rival-tools/rival-harvester-hoes/configurations/settings.yml)
{% endcontent-ref %}

{% content-ref url="/pages/DscXe1iyEZUYLUXY0wD1" %}
[shops.yml](/rival-tools/rival-harvester-hoes/configurations/shops.yml)
{% endcontent-ref %}


# config.yml

```yaml
#####################################################################################################################
#  ____  _____     ___    _       _   _    _    ______     _______ ____ _____ _____ ____    _   _  ___  _____ ____  #
# |  _ \|_ _\ \   / / \  | |     | | | |  / \  |  _ \ \   / | ____/ ___|_   _| ____|  _ \  | | | |/ _ \| ____/ ___| #
# | |_) || | \ \ / / _ \ | |     | |_| | / _ \ | |_) \ \ / /|  _| \___ \ | | |  _| | |_) | | |_| | | | |  _| \___ \ #
# |  _ < | |  \ V / ___ \| |___  |  _  |/ ___ \|  _ < \ V / | |___ ___) || | | |___|  _ <  |  _  | |_| | |___ ___) |#
# |_| \_|___|  \_/_/   \_|_____| |_| |_/_/   \_|_| \_\ \_/  |_____|____/ |_| |_____|_| \_\ |_| |_|\___/|_____|____/ #
#                                                                                                                   #
#####################################################################################################################
Database:
  # SQLite or MySQL
  database-type: SQLite
  mysql:
    host: localhost
    port: 3306
    database: dbName
    username: dbUser
    password: dbPassword
Main:
  # Time is in Ticks: 1 second = 20 ticks
  Money-Giver:
    time: 200
  #Keep Hoe after dying
  keep-on-death: true
  # Prevents player from using the hoe if he is not the owner
  perplayerhoes: true
  # Disables player from upgrading hoe if he is not the owner
  perplayerhoes-upgrades: true
  # Prevents players exploting schematica and farming
  mcmmo:
    exp-per-crop: 20
  aurelium-skills:
    wheat: 2.0
    potato: 2.5
    beetroot: 2.5
    carrot: 2.7
    cocoabean: 3.0
    nether-wart: 3.0
    pumpkin: 3.4
    melon: 3.4
    sugar-cane: 1.7
  # If set to true, it uses crop prices from ShopGUIPlus, if a Crop is missing it defaults to config price
  shopguiplus-hook: true
  # ShopGUIPlus hook must be enabled for this to work
  shopguiplus-multipliers: true
  anti-printerfarm-cane:
    enabled: true
    message:
      value: '&4&l[!] &cYou can''t place sugarcane on top of sugarcane'
      enabled: true
  # Give players a hoe on first join
  on-join-hoe:
    enabled: true
    enchants: speed:1,haste:1,keyfinder:5,spawnerfinder:5
  # Filler used in all GUI's
  filler:
    material: LIGHT_BLUE_STAINED_GLASS_PANE
# Sounds
Sounds:
  use-sounds: true
  main-menu-open: ORB_PICKUP;1.0;1.0
  enchant-purchase: LEVEL_UP;1.0;1.0
  enchant-disenchant: ITEM_BREAK;1.0;1.0
  enchant-maxlevel: ANVIL_LAND;1.0;1.0
  captcha-fail: ANVIL_LAND;1.0;1.0
  captcha-success: LEVEL_UP;1.0;1.0
  hoe-levelup: LEVEL_UP;1.0;1.0
  hoe-levelup-max: WITHER_SHOOT;1.0;1.0
# Main Menu That opens when Right Clicked with Hoe
MainMenu:
  name: '&8ServerName » Hoe'
  size: 27
  hoe-preview-slot: 4
  hoe-preview-enabled: true
  settings-enabled: true
  disenchanter-enabled: true
  enchants-display: false
  croptop-mainmenu: true
  essencetop-mainmenu: true
  prices-mainmenu: true
  stats-enabled: true
  stats-slot: 10
  enchants-display-slot: 12
  upgrades-slot: 13
  settings-slot: 16
  croptop-slot: 21
  essencetop-slot: 22
  prices-slot: 23
# Settings for Crop Prices and Essence Amounts
Settings:
  SugarCane:
    money: 6.5
    essence: 3
  Potato:
    money: 2
    essence: 3
  Melon:
    money: 1.5
    essence: 3
  Pumpkin:
    money: 2.25
    essence: 3
  Wheat:
    money: 2
    essence: 3
  CocoBean:
    money: 2
    essence: 3
  NetherWart:
    money: 2.25
    essence: 3
  Carrot:
    money: 2
    essence: 3
  Beetroot:
    money: 2
    essence: 3
  # Crop Prices GUI Settings
  GUI:
    SugarCane:
      name: '&3&l[!] &b&lSugar Cane'
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
      slot: 10
      enabled: true
    Potato:
      name: '&3&l[!] &b&lPotato'
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
      slot: 11
      enabled: true
    Melon:
      name: '&3&l[!] &b&lMelon'
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
      slot: 12
      enabled: true
    Pumpkin:
      name: '&3&l[!] &b&lPumpkin'
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
      slot: 21
      enabled: true
    Wheat:
      name: '&3&l[!] &b&lWheat'
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
      slot: 14
      enabled: true
    CocoBean:
      name: '&3&l[!] &b&lCocoBean'
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
      slot: 15
      enabled: true
    NetherWart:
      name: '&3&l[!] &b&lNether Wart'
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
      slot: 16
      enabled: true
    Carrot:
      name: '&3&l[!] &b&lCarrot'
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
      slot: 13
      enabled: true
    Beetroot:
      name: '&3&l[!] &b&lBeetroot'
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
      slot: 23
      enabled: true
GUI:
  back-enchanter:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l<!> &c&lGo Back'
    lore:
      - '&7&o(( Click to go back to main menu ))'
    enabled: true
    slot: 36
  back-disenchanter:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l<!> &c&lGo Back'
    lore:
      - '&7&o(( Click to go back to enchanter))'
    enabled: true
    slot: 36
  already-have:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cAlready have the enchant'
    lore:
      - '&7&o(( Your hoe already has this enchant ))'
    message: '&4&l[!] &fYou &calready &fhave this enchant.'
  purchased:
    material: EMERALD_BLOCK
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODZhZGRiZDVkZWRhZDQwOTk5NDczYmU0YTdmNDhmNjIzNmE3OWEwZGNlOTcxYjVkYmQ3MzcyMDE0YWUzOTRkIn19fQ==
    name: '&2&l[!] &aPurchased Enchant'
    lore:
      - '&7&o(( You have purchased this enchant for your hoe ))'
    message: '&2&l[!] &fYou have purchased the {enchant} &fenchant'
  no-level:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cHoe Level too low'
    lore:
      - '&7&o(( Your hoe level is too low ))'
    message: '&4&l[!] &cYour hoe &flevel &cis too low.'
    leveled-up: '&2&l[!] &fYou have &aleveled up &fyour hoe to level &a{level}&f.'
  no-essence:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cNot enough Essence'
    lore:
      - '&7&o(( You dont have enough essence ))'
    message: '&3&l[!] &fYou don''t have enough &bessence &ffor this enchant.'
  max-level:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cMAX LEVEL'
    lore:
      - '&7&o(( This enchant is at its Max Level ))'
    message: '&4&l[!] &fThis enchant is at its &cmax &flevel.'
    message-exceeded: '&4&l[!] &fThis purchase would exceed the &cmax &flevel for
      this enchant.'
  upgrades-mainmenu:
    material: PAINTING
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzUzNjJmOTBmZjI5Y2NkNDBmNDIzNWEwNWRkOTFkZjA5MWNmNDNmM2EyZjcxNDE0ZGZiYmNhNmU1ZDM2MzRkOSJ9fX0=
    name: '&3&l[!] &b&lUpgrade'
    lore:
      - '&7&o(( Click to view all upgrades. ))'
  disenchanter-mainmenu:
    material: PAINTING
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzUzNjJmOTBmZjI5Y2NkNDBmNDIzNWEwNWRkOTFkZjA5MWNmNDNmM2EyZjcxNDE0ZGZiYmNhNmU1ZDM2MzRkOSJ9fX0=
    gui-name: '&8ServerName » Disenchanter'
    gui-slots: 36
    gui-size: 45
    name: '&3&l[!] &b&lDisenchanter'
    lore:
      - '&7&o(( Click to disenchant your enchants. ))'
  settings-mainmenu:
    material: QUARTZ
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGUxNTBhYjdjMDE4NDZmNDgwODk3ZmJkMzVmMDUyNWNhZWI1MmFhNjI0Zjk2NzAwOTVmMzk2MTA1ODkzZGFjYiJ9fX0=
    name: '&3&l[!] &b&lSettings'
    lore:
      - '&7&o(( Click to enable/disable features. ))'
  croptop-mainmenu:
    material: SUGAR_CANE
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTY3MGJhNmNiY2Q2MGNjYTI5MDZiMGM0YWJiNzE2ODIwODUxZDVjMjhhNDJlYmY5NTQ3YTE1ZTc2MTE3NjhkMSJ9fX0=
    name: '&3&l[!] &b&lCrop Leaderboards'
    lore:
      - '&7&o(( Click to view crops leaderboard. ))'
  essencetop-mainmenu:
    material: MAGMA_CREAM
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjgwOWQyZTY5NjEwZjFlNmI3NWZlMGQ0NTk4ZTQ0MWU1NjAzMjVkMmQ1MmQ5N2NmNjY4NTljNDRmYTNkOGE3OSJ9fX0=
    name: '&3&l[!] &b&lEssence Top'
    lore:
      - '&7&o(( Click to view essence top leaderboard. ))'
  prices-mainmenu:
    material: PAPER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGU3NGQ2NDcyZjgxMWVlN2U1ZTgwNWVhOTNkN2I0Yzc2MWM2NmE2NGU1OTM3MDJmYzgwNzNkYjM1N2YwNDY0ZCJ9fX0=
    gui-name: '&8ServerName » Prices'
    name: '&3&l[!] &b&lCrop Prices'
    lore:
      - '&7&o(( Click to view all crop prices. ))'
  # /harvesters GUI - Shows players currently farming
  harvesters-mainmenu:
    gui-name: '&8ServerName » Harvesters'
    item:
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
        - ''
        - '&f● &bSugarcane: &f{sugarcane}'
        - '&f● &bPotato: &f{potato}'
        - '&f● &bCarrot: &f{carrot}'
        - '&f● &bBeetroot: &f{beetroot}'
        - '&f● &bWheat: &f{wheat}'
        - '&f● &bCocoaBean: &f{cocoabean}'
        - '&f● &bNetherWart: &f{netherwart}'
        - '&f● &bPumpkin: &f{pumpkin}'
        - '&f● &bMelon: &f{melon}'
        - ''
        - '&f● &bTotal Crops: &f{global}'
        - ''
        - '&f● &bBlocks Per Second: &f{bps}'
        - ''
        - '&7&o(( Click to teleport to player ))'
    color: '&f&l'
    pages:
      name: '&f&lPAGES'
      base64:
        enabled: false
        value: ''
      material: BOOK
    next-page:
      material: EMERALD
      base64:
        enabled: false
        value: ''
      name: '&2[!] &a&lNEXT PAGE -->'
      lore:
        - '&7&o(( Click to go to the next page ))'
    return-page:
      material: REDSTONE
      base64:
        enabled: false
        value: ''
      name: '&4[!] &c&lGO BACK <--'
      lore:
        - '&7&o(( Click to go back ))'
  # Hoe Settings Menu
  settings-menu:
    name: '&8ServerName » Settings'
    size: 27
    autosell-message-chat-enabled:
      slot: 11
      material: SIGN
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmY3NWQxYjc4NWQxOGQ0N2IzZWE4ZjBhN2UwZmQ0YTFmYWU5ZTdkMzIzY2YzYjEzOGM4Yzc4Y2ZlMjRlZTU5In19fQ==
      name: '&3&l[!] &b&lAutoSell Chat Message'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    autosell-message-chat-disabled:
      material: SIGN
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmY3NWQxYjc4NWQxOGQ0N2IzZWE4ZjBhN2UwZmQ0YTFmYWU5ZTdkMzIzY2YzYjEzOGM4Yzc4Y2ZlMjRlZTU5In19fQ==
      name: '&3&l[!] &b&lAutoSell Chat Message'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    keyfinder-messages-enabled:
      slot: 13
      material: TRIPWIRE_HOOK
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIxNWU4ZWJlZmYwYTIwMDhmMTRiZGEwNzJmNzU2MTVkYWNhYzBjNGRhYmM5MGQ5ZDUyY2MzMjE0ZTVjNTM1NyJ9fX0=
      name: '&3&l[!] &b&lKey Finder Message'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    keyfinder-messages-disabled:
      material: TRIPWIRE_HOOK
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIxNWU4ZWJlZmYwYTIwMDhmMTRiZGEwNzJmNzU2MTVkYWNhYzBjNGRhYmM5MGQ5ZDUyY2MzMjE0ZTVjNTM1NyJ9fX0=
      name: '&3&l[!] &b&lKey Finder Message'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    spawnerfinder-messages-enabled:
      slot: 14
      material: MOB_SPAWNER
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ3ZTJlNWQ1NWI2ZDA0OTQzNTE5YmVkMjU1N2M2MzI5ZTMzYjYwYjkwOWRlZTg5MjNjZDg4YjExNTIxMCJ9fX0=
      name: '&3&l[!] &b&lSpawner Finder Message'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    spawnerfinder-messages-disabled:
      material: MOB_SPAWNER
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ3ZTJlNWQ1NWI2ZDA0OTQzNTE5YmVkMjU1N2M2MzI5ZTMzYjYwYjkwOWRlZTg5MjNjZDg4YjExNTIxMCJ9fX0=
      name: '&3&l[!] &b&lSpawner Finder Message'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    essencepouch-messages-enabled:
      slot: 15
      material: GOLD_INGOT
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTMzZTkyYjA2NTcxOTZjYmExODZjZTc0ZjIwMzhiOTNiZThlNDI1MWFlMmNhYTNlYmY1MWNkZWYwM2E3NDM4NCJ9fX0=
      name: '&3&l[!] &b&lEssence Pouch Message'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    essencepouch-messages-disabled:
      material: GOLD_INGOT
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTMzZTkyYjA2NTcxOTZjYmExODZjZTc0ZjIwMzhiOTNiZThlNDI1MWFlMmNhYTNlYmY1MWNkZWYwM2E3NDM4NCJ9fX0=
      name: '&3&l[!] &b&lEssence Pouch Message'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    moneypouch-messages-enabled:
      slot: 12
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZlMGQ1ZmU4N2QyZDIxZTJiZGU2Mzc0NDI1YTM0MWE3NTczYjM3NWQ1YmI3ZDQ3ZjRiOGRhZTM1Mjk3ZWE0In19fQ==
      name: '&3&l[!] &b&lMoney Pouch Message'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    moneypouch-messages-disabled:
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZlMGQ1ZmU4N2QyZDIxZTJiZGU2Mzc0NDI1YTM0MWE3NTczYjM3NWQ1YmI3ZDQ3ZjRiOGRhZTM1Mjk3ZWE0In19fQ==
      name: '&3&l[!] &b&lMoney Pouch Message'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    actionbar-messages-enabled:
      slot: 21
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzdlYTY3Njg2OTcxOGIxMWU4YTNhMTc0OTdjYzYzOGU2YThkYzFkMzFlNTM4MmZmZTNjZjk0YWFlNzE3YWRhZiJ9fX0=
      name: '&3&l[!] &b&lActionBar Messages'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    actionbar-messages-disabled:
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzdlYTY3Njg2OTcxOGIxMWU4YTNhMTc0OTdjYzYzOGU2YThkYzFkMzFlNTM4MmZmZTNjZjk0YWFlNzE3YWRhZiJ9fX0=
      name: '&3&l[!] &b&lActionBar Messages'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    title-messages-enabled:
      slot: 23
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjgwOGQ5MjEzYWY5ZTIyMzVhMDgyOGMyOWZiODA2MGVkMGUzYTdhZjI5ZGJkNWI1YTkyYWI5NjRjZjhhNTRlYSJ9fX0=
      name: '&3&l[!] &b&lTitle Messages'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    title-messages-disabled:
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjgwOGQ5MjEzYWY5ZTIyMzVhMDgyOGMyOWZiODA2MGVkMGUzYTdhZjI5ZGJkNWI1YTkyYWI5NjRjZjhhNTRlYSJ9fX0=
      name: '&3&l[!] &b&lTitle Messages'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
  stats-mainmenu:
    material: NETHER_STAR
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTQ4MGQ1N2IwZDFkNDMyZTA3NDg3OGM2YWVjNWY0NWEyY2U5OGQ5YzQ4MWZiOGNjODM4MmNmZjE3MWY4MzY5OSJ9fX0=
    name: '&3&l[!] &b&lStats'
    lore:
      - ''
      - '&f&lHoe Stats'
      - '&f&l● &bEssence Harvested: &f{essenceharvesed}'
      - '&f&l● &bHoe Owner: &f{owner}'
      - ''
      - '&f&lHoe Crop Stats'
      - '&f&l● &bSugarcane Harvested: &f{sugarcane}'
      - '&f&l● &bWheat Harvested: &f{wheat}'
      - '&f&l● &bPotatos Harvested: &f{potato}'
      - '&f&l● &bCarrots Harvested: &f{carrots}'
      - '&f&l● &bNetherWarts Harvested: &f{netherwarts}'
      - '&f&l● &bMelons Harvested: &f{melons}'
      - '&f&l● &bPumpkins Harvested: &f{pumpkins}'
      - '&f&l● &bCocoa Beans Harvested: &f{cocobeans}'
      - '&f&l● &bBeetroot Harvested: &f{beetroot}'
      - ''
      - '&f&lYour Stats'
      - '&f&l● &bCurrent Essence: &6❋&e{currentessence}'
# Hoe Levels
Hoe-Levels:
  '1':
    crops-needed: 500
  '2':
    crops-needed: 2000
  '3':
    crops-needed: 5000
  '4':
    crops-needed: 10000
  '5':
    crops-needed: 15000
  '6':
    crops-needed: 17000
  '7':
    crops-needed: 20000
  '8':
    crops-needed: 23000
  '9':
    crops-needed: 25000
  '10':
    crops-needed: 27000
  '11':
    crops-needed: 30000
  '12':
    crops-needed: 32000
  '13':
    crops-needed: 35000
  '14':
    crops-needed: 40000
  '15':
    crops-needed: 45000
# Harvester Hoe Item Settings
Hoe-Settings:
  name: '&3&l<!> &b&lHarvester Hoe &3&l<!>'
  # Possible types: WOODEN, STONE, IRON, GOLDEN, DIAMOND, 1.16+ NETHERITE
  type: 'DIAMOND'
  autosell: '&8(&fAutoSell&8)'
  collect: '&8(&fCollect&8)'
  lore:
    - '&7Destory crops and earn essence to upgrade'
    - '&7your harvester hoe.'
    - ''
    - '&f&lSTATS'
    - ' &f&l● &bOwner: &f{owner}'
    - ' &f&l● &bEssence Harvested: &f{essenceharvested}'
    - ' &f&l● &bLevel: &f{level}'
    - ' &f&l● &bProgress: &8[{progress}&8] &f{percentage}%'
    - ''
    - '&f&lMODE'
    - '&f&l● &bHarvester Mode: &f{mode}'
    - '&7&o(( Shift Right-Click to switch mode ))'
    - ''
    - '&f&lENCHANTS'
    - '&2&l● %enchant-AutoSell%'
    - '&3&l● %enchant-EXPFinder%'
    - '&3&l● %enchant-KeyFinder%'
    - '&3&l● %enchant-SpawnerFinder%'
    - '&3&l● %enchant-MoneyBooster%'
    - '&3&l● %enchant-EssenceBooster%'
    - '&3&l● %enchant-Speed%'
    - '&6&l● %enchant-CropsBooster%'
    - '&6&l● %enchant-EssencePouch%'
    - '&6&l● %enchant-Haste%'
    - '&2&l● %enchant-MoneyPouch%'
    - '&5&l● %enchant-Merchant%'
    - '&4&l● %enchant-AirStrike%'
    - '&3&l● %enchant-Rush%'
    - '&6&l● %enchant-JackHammer%'
    - '&6&l● %enchant-Trench%'
  changed-mode: '&3&l[!] &bChanged Harvester Hoe mode to &f{mode}.'
  opened-gui: '&3&l[!] &bOpened &fHarvester Hoe &bUpgrade GUI.'
  no-hoe: '&4&l[!] &cYou are not holding a harvester hoe.'
  opened-gui-message: true
  glow: true
  format-decimal-progress: true
  hoe-info:
    name: '&3&l[!] &b&lEnchants'
    material: BEACON
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQzZjUyMGM4NTZiYzdhMDM2NGUwZWRlNzI5ZmI0OWQ2ZGMwNDZjZjdkOGY1NjQ5NGQwYzJmMjg2YjYyMzUzMSJ9fX0=
    lore:
      - ''
      - '&f&lHoe Enchants'
      - '&f&l● %enchant-AutoSell%'
      - '&3&l● %enchant-EXPFinder%'
      - '&3&l● %enchant-KeyFinder%'
      - '&3&l● %enchant-SpawnerFinder%'
      - '&3&l● %enchant-MoneyBooster%'
      - '&3&l● %enchant-EssenceBooster%'
      - '&3&l● %enchant-Speed%'
      - '&6&l● %enchant-CropsBooster%'
      - '&6&l● %enchant-EssencePouch%'
      - '&6&l● %enchant-Haste%'
      - '&2&l● %enchant-MoneyPouch%'
      - '&5&l● %enchant-Merchant%'
      - '&4&l● %enchant-AirStrike%'
      - '&3&l● %enchant-Rush%'
      - ''
command:
  essence:
    default:
      - '&f&l[!] &e&lEssence Commands '
      - ' &8● &f/essence &7balance <player>'
      - ' &8● &f/essence &7pay <player> <amount>'
      - ' &8● &f/essence &7withdraw <player> <amount>'
      - ' &8● &f/essence &7shop'
    admin:
      - '&f&l[!] &e&lEssence Admin Commands '
      - ' &8● &f/essence &7give <player> <amount>'
      - ' &8● &f/essence &7reset <player>'
      - ' &8● &f/essence &7set <player> <amount>'
      - ' &8● &f/essence &7remove <player> <amount>'
      - ' &8● &f/essence &7reload'
      - ' &8● &f/essence &7force'
  crops:
    default:
      - '&3&l[!] &b&lCrops Commands'
      - ' &8● &f/crops top &7<crop>'
      - ' &8● &f/crops balance &7<player> <crop>'
    admin:
      - '&3&l[!] &b&lCrops Admin Commands'
      - ' &8● &f/crops set &7<player> <crop> <amount>'
      - ' &8● &f/crops give &7<player> <crop> <amount>'
      - ' &8● &f/crops reset &7<player> <crop> <amount>'
      - ' &8● &f/crops remove &7<player> <crop> <amount>'
      - ' &8● &f/crops force &7'
  hoe:
    default:
      - '&f&l[!] &b&lHoe Commands '
      - ' &8● &f/hoe &7about'
      - ' &8● &f/hoe &7info'
      - ' &8● &f/hoe &7stats'
    admin:
      - '&f&l[!] &b&lHoe Admin Commands '
      - ' &8● &f/hoe &7give <player> <enchant:level>,<enchant:level>,<level:level>,<autosell:1>'
      - ' &8● &f/hoe &7testchance <enchant> <levels> <blocks>'
      - ' &8● &f/hoe &7calc <enchant> <levels>'
      - ' &8● &f/hoe &7admin'
      - ' &8● &f/hoe &7reload'
# Permissions - add rivalhoes.main to give access to commands, rivalhoes.admin permission for admin commands
permissions:
  force-captcha: rivalhoes.captcha.force
  harvesters: rivalhoes.harvesters
  hoe-testchance: rivalhoes.testchance
  hoe-stats: rivalhoes.stats
  hoe-reload: rivalhoes.reload
  hoe-info: rivalhoes.info
  hoe-give: rivalhoes.give
  hoe-harvesterevent: rivalhoes.harvesterevent
  hoe-calculate: rivalhoes.calculate
  hoe-admin: rivalhoes.admin
  hoe-max: rivalhoes.max
  hoe-setenchant: rivalhoes.setenchant
  hoe-setowner: rivalhoes.setowner
  crops-force: rivalhoes.crops.force
  crops-give: rivalhoes.crops.give
  crops-remove: rivalhoes.crops.removed
  crops-reset: rivalhoes.crops.reset
  crops-set: rivalhoes.crops.set
  crops-balance: rivalhoes.crops.balance
  crops-top: rivalhoes.crops.top
  essence-give: rivalhoes.essence.give
  essence-remove: rivalhoes.essence.remove
  essence-reset: rivalhoes.essence.reset
  essence-set: rivalhoes.essence.set
  essence-pay: rivalhoes.essence.pay
  essence-balance: rivalhoes.essence.balance
  essence-shop: rivalhoes.essence.shop
  essence-withdraw: rivalhoes.essence.withdraw
  harvester-event: rivalhoes.harvesterevent
  no-permission: '&b&lSERVERNAME &8» &7You do not have access to that command.'
Shop:
  open-essence-shop: '&3&l[!] &bOpening the essence shop...'
  not-enough: '&4&l[!] &cYou don''t have enough essence for this item.'
  successful-purchase: '&3&l[!] &bYou have successfully bought this item for &f{price}
    &bessence.'
Crops:
  set-admin: '&4&l[!] &cYou set &f{player}''s&c {crop} amount to &f{value}&c.'
  set-player: '&4&l[!] &cYour &f{crop} &camount has been set to &f{value}&c.'
  remove-admin: '&4&l[!] &cYou removed &f{value}&c {crop} from &f{player}''s &cbalance.'
  remove-player: '&4&l[!] &f{value} &c{crop} have been taken from your account.'
  give-admin: '&4&l[!] &cYou have given &f{player} {value} &c{crop}.'
  give-player: '&4&l[!] &cYou have been given &f{value}&c {crop}.'
  reset-admin: '&4&l[!] &cYou have reset &f{player}''s&c {crop} amount.'
  reset-player: '&4&l[!] &cYour &f{crop} &camount has been reset.'
# Harvester Event
HarvesterEvent:
  config:
    started-event: '&4&l[!] &7You have &astarted &7the Harvester Event.'
    already-started: '&4&l[!] &7The Harvester Event has already been started!'
    not-started: '&3&l[!] &7The &fHarvester Event &7has not started yet!'
  auto-start:
    enabled: true
    # Times in Seconds
    time: 1200
  lasts-time: 300
  message-started:
    - '[center]&3&lHarvester Event'
    - ''
    - '[center]&8● &7Harvester Event has started!'
    - '[center]&8● &7Ends in: &f5mins'
    - '[center]&7(( Top 5 Harvesters receive a reward! ))'
  places: 5
  message:
    - '[center]&3&lHarvester Event'
    - ''
    - '[center]&8● &7Harvester Event has ended!'
    - ''
    - '[center]&a#1 &b&l{player-0} &8- &f{amount-0}'
    - '[center]&6#2 &b&l{player-1} &8- &f{amount-1}'
    - '[center]&c#3 &b&l{player-2} &8- &f{amount-2}'
    - '[center]&f#4 &b&l{player-3} &8- &f{amount-3}'
    - '[center]&f#5 &b&l{player-4} &8- &f{amount-4}'
    - '[center]&7&o(( Top 5 players have received their rewards! ))'
  current:
    - '[center]&3&lHarvester Event'
    - ''
    - '[center]&8● &7Current Leaderboard!'
    - ''
    - '[center]&a#1 &b&l{player-0} &8- &f{amount-0}'
    - '[center]&6#2 &b&l{player-1} &8- &f{amount-1}'
    - '[center]&c#3 &b&l{player-2} &8- &f{amount-2}'
    - '[center]&f#4 &b&l{player-3} &8- &f{amount-3}'
    - '[center]&f#5 &b&l{player-4} &8- &f{amount-4}'
    - '[center]&7&o(( Top 5 players will receive a reward! ))'
    - ''
    - '[center]&3&lYour Crops Broken: &f{current}'
    - '[center]&3&lTime Left: &f{time-left}'
    - ''
  rewards:
    '0':
      commands:
        - eco give {player} 500000
      message: '&3&lHARVESTER EVENT &8» &7You have placed in #1 Place and received
        a reward'
    '1':
      commands:
        - eco give {player} 400000
      message: '&3&lHARVESTER EVENT &8» &7You have placed in #2 Place and received
        a reward'
    '2':
      commands:
        - eco give {player} 300000
      message: '&3&lHARVESTER EVENT &8» &7You have placed in #3 Place and received
        a reward'
    '3':
      commands:
        - eco give {player} 200000
      message: '&3&lHARVESTER EVENT &8» &7You have placed in #4 Place and received
        a reward'
    '4':
      commands:
        - eco give {player} 100000
      message: '&3&lHARVESTER EVENT &8» &7You have placed in #5 Place and received
        a reward'
Essence:
  item-material: MAGMA_CREAM
  item-name: '&e{amount} &8» &6&lEssence'
  item-lore:
    - ''
    - '&7&o(( Click to redeem &f{amount}  &7&oessence ))'
    - ''
  decimal-format: '#,###'
  no-hoe: '&4&l[!] &cYou must be holding a Harvester Hoe'
  banned-region-hoe: '&4&l[!] &cYou cant use a Harvester Hoe in this region'
  banned-regions:
    - spawn
    - warzone
  bottom-block: '&4&l[!] &cYou can not break bottom block of sugarcane with your hoe.'
  per-player-hoe: '&4&l[!] &fYou can''t use that &cHarvester Hoe &fas you are not
    the &cOwner &fof the &cHarvester Hoe&f.'
  full-inventory: '&4&l[!] &fYour inventory is full!'
  received-hoe: '&3&l[!] &bYou have received a &fHarvester Hoe&b.'
  given-hoe: '&3&l[!] &bYou have given &f{player} &ba &fHarvester Hoe&b.'
  invalid-player: '&4&l[!] &cYou have entered an invalid player name!'
  invalid-page: '&4&l[!] &cThere is no page by that name'
  invalid-number: '&4&l[!] &cYou didn''t enter a valid number.'
  inventory-full: '&4&l[!] &cYour inventory is full.'
  only-players: '&4&l[!] &cOnly players may do this.'
  incorrect-usage: '&4&l[!] &cIncorrect Usage: &f{command}'
  under-zero: '&4&l[!] &cYou may not use numbers under 1!'
  no-essence: '&4&l[!] &cYou do not have that much essence, you have &f{essence}'
  yourself: '&4&l[!] &cYou cannot send essence to yourself.'
  redeemed: '&3&l[!] &bYou have redeemed &f{value}&b essence.'
  withdrawn: '&3&l[!] &bYou have withdrawn &f{value}&b essence.'
  set-admin: '&3&l[!] &bYou set &f{player}''s&b essence amount to &f{value}&b.'
  set-player: '&3&l[!] &bYour &fessence &bamount has been set to &f{value}&b.'
  remove-admin: '&3&l[!] &bYou removed &f{value}&b essence from &f{player}''s&b balance.'
  remove-player: '&3&l[!] &f{value} &bessence have been taken from your account.'
  give-admin: '&3&l[!] &bYou have given &f{player} {value} &bessence.'
  give-player: '&3&l[!] &bYou have been given &f{value}&b essence.'
  paid-player: '&3&l[!] &bYou have received &f{value}&b essence from &f{player}'
  player-that-paid: '&3&l[!] &bYou have paid &f{player} {value} &bessence.'
  reset-admin: '&3&l[!] &bYou have reset &f{player}''s&b essence amount.'
  reset-player: '&3&l[!] &bYour &fessence &bamount has been reset.'
  player-balance-format:
    - '&e&lYour Essence &8» &f{amount}'
    - '&7Spend Essence by upgrading your hoe or in /essence shop'
  others-balance-format:
    - '&e&l{player}''s Essence &8» &f{amount}'
    - '&7Spend Essence by upgrading your hoe or in /essence shop'
DefaultSettings:
  AutoSellChat: true
  KeyFinder: true
  SpawnerFinder: true
  MoneyPouch: true
  EssencePouch: true
  ActionBar: true
  Titles: true
Features:
  drophoe-title:
    enabled: true
    title: '&4&l[!] &c&lDROP'
    subtitle: '&7Press &cQ &7again to drop your hoe!'
    fadeIn: 20
    fadeOut: 20
    time: 80
  drophoe-actionbar:
    enabled: true
    value: '&4&l[!] &c&lDROP &7Press &cQ &7again to drop your hoe!'
    time: 80
  drophoe-messages:
    drop-hoe-enabled: true
    message: '&4&l[!] &7Press &cQ &7in the next &c10 seconds &7to drop your hoe!'
    time: 10
  levelup-title:
    enabled: true
    title: '&2&l[!] &a&lLEVEL UP'
    subtitle: '&7Leveled up your Hoe to level &f{level}&7!'
    fadeIn: 20
    fadeOut: 20
    time: 80
  levelup-actionbar:
    enabled: true
    value: '&2&l[!] &aYou have leveled up your Hoe to level &f{level}&a!'
    time: 80
  modechanged-title:
    enabled: true
    title: '&3&l[!] &b&lMODE'
    title-noautosell: '&4&l[!] &c&lAUTOSELL'
    subtitle-noautosell: '&7You don''t have AutoSell on your Hoe'
    subtitle: '&7Changed mode to &8» &f{mode}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  modechanged-actionbar:
    enabled: true
    value: '&3&l[!] &b&lMODE &8» &7Changed mode to &f{mode}'
    value-noautosell: '&4&l[!] &c&lAUTOSELL &8» &7You don''t have AutoSell unlocked!'
    time: 80
  merchant-title:
    enabled: true
    title: '&5&l[!] &d&lMERCHANT'
    subtitle: '&7&o(( Activated. ))'
    fadeIn: 20
    fadeOut: 20
    time: 80
  merchant-actionbar:
    enabled: true
    value: '&5&l[!] &d&lMERCHANT &7has been activated'
    time: 80
  essencedeposit-title:
    enabled: true
    title: '&6&l[!] &e&lESSENCE'
    subtitle: '&a&l+ &6❋&e{essence}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  essencedeposit-actionbar:
    enabled: true
    value: '&6&l[!] &e&lESSENCE &e&l+ &6❋&e{essence}'
    time: 80
  essencewithdraw-title:
    enabled: true
    title: '&6&l[!] &e&lESSENCE'
    subtitle: '&c&l- &6❋&e{essence}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  essencewithdraw-actionbar:
    enabled: true
    value: '&6&l[!] &e&lESSENCE &c&l- &6❋&e{essence}'
    time: 80
  essencenone-title:
    enabled: true
    title: '&4&l[!] &c&lESSENCE'
    subtitle: '&7&o(( You dont''t have enough essence. ))'
    fadeIn: 20
    fadeOut: 20
    time: 80
  essencenone-actionbar:
    enabled: true
    value: '&4&l[!] &7You dont have enough Essence, You have: &6❋&e{essence}'
    time: 80
  fullinventory-title:
    enabled: true
    title: '&4&l[!] &c&lINVENTORY'
    subtitle: '&7&o(( Your inventory is full! ))'
    fadeIn: 20
    fadeOut: 20
    time: 80
  fullinventory-actionbar:
    enabled: true
    value: '&4&l[!] &7Your inventory is full!'
    time: 80
  airstrike-title-activated:
    enabled: true
    title: '&4&l[!] &c&lAIRSTRIKE'
    subtitle: '&7&o(( AirStrike inbound! ))'
    fadeIn: 20
    fadeOut: 20
    time: 80
  airstrike-actionbar-activated:
    enabled: true
    value: '&4&l[!] &c&lAirStrike &7inbound!'
    time: 80
  airstrike-title-ended:
    enabled: true
    title: '&4&l[!] &c&lAIRSTRIKE'
    subtitle: '&a&l+ &2$&a{money}  &e&l+ &6❋&e{essence}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  airstrike-actionbar-ended:
    enabled: true
    value: '&4&l[!] &c&lAirStrike: &a&l+ &2$&a{money}  &e&l+ &6❋&e{essence}'
    time: 80
  spawnerfinder-title:
    enabled: true
    title: '&3&l[!] &b&lSPAWNER FINDER'
    subtitle: '{reward}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  spawnerfinder-actionbar:
    enabled: true
    value: '&3&l[!] &b&lSpawner Finder: {reward}'
    time: 80
  keyfinder-title:
    enabled: true
    title: '&3&l[!] &b&lKEY FINDER'
    subtitle: '{reward}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  keyfinder-actionbar:
    enabled: true
    value: '&3&l[!] &b&lKey Finder: {reward}'
    time: 80
  rush-title-activated:
    enabled: true
    title: '&b&l[!] &3&lRUSH'
    subtitle: '&7&oRush mode activated!'
    fadeIn: 20
    fadeOut: 20
    time: 80
  rush-actionbar-activated:
    enabled: true
    value: '&b&l[!] &3&lRush &7has been activated!'
    time: 80
  rush-actionbar-activated-stay:
    enabled: true
    value: '&3&lRUSH: &7Time left: &f{time}'
  jackhammer-title:
    enabled: true
    title: '&6&l[!] &e&lJACKHAMMER'
    subtitle: '&7Your jackhammer enchant has been activated!'
    fadeIn: 20
    fadeOut: 20
    time: 80
  jackhammer-actionbar:
    enabled: true
    value: '&6&l[!] &e&lJACKHAMMER: &7Your jackhammer enchant has been activated!'
    time: 80
```


# enchants.yml

```yaml
#######################################################
#  _____ _   _  ____ _   _    _    _   _ _____ ____   #
#  | ____| \ | |/ ___| | | |  / \  | \ | |_   _/ ___| #
# |  _| |  \| | |   | |_| | / _ \ |  \| | | | \___ \  #
# | |___| |\  | |___|  _  |/ ___ \| |\  | | |  ___) | #
# |_____|_| \_|\____|_| |_/_/   \_|_| \_| |_| |____/  #
#                                                     #
#######################################################
UpgradesMenu:
  name: '&8ServerName » Upgrades'
  size: 45
  noautosell: '&4&l[!] &cYou don''t have AutoSell unlocked.'
  hasenchant: '&4&l[!] &cYou already have that enchant.'
  noenchant: '&4&l[!] &cYou don''t have that enchant'
  bought: '&3&l[!] &bYou have purchased &f%level% level &bof %enchant% &bfor &e%essence%'
  refunded: '&3&l[!] &bYou have refunded the %enchant% Enchant &band received &e%essence% essence&b.'
  noenchantlevel: '&4&l[!] &fYou don''t have a any &cenchant &flevels to disenchant'
  no-essence: '&3&l[!] &bYou don''t have enough &eessence &bto purchase this enchant.'
  nolevel: '&3&l[!] &bYou must have Level &f%level% &bHoe to purchase this enchant.'
  hoe-preview: true
  hoe-preview-slot: 4
  hoe-disenchanter-slot: 40
  disenchant-percentage: 90
Enchants:
  AutoSell:
    upgradable: true
    disenchanter: true
    name: '&a&lAuto Sell'
    material: EMERALD
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmY3NWQxYjc4NWQxOGQ0N2IzZWE4ZjBhN2UwZmQ0YTFmYWU5ZTdkMzIzY2YzYjEzOGM4Yzc4Y2ZlMjRlZTU5In19fQ=='
    slot: 10
    price: 100000
    required-level: 0
    autosell-time: 60
    lore:
      - '&7&o(( Automatically sells all crops. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to purchase Auto Sell ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Automatically sells all crops.. ))'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant ))'
    message:
      - ''
      - '&8&l● &b&lAuto Sell Summary'
      - '&7&o'
      - '&2● &aMoney Made: &2$&a{money}'
      - '&6● &eEssence Harvested: &6❋&e{essence}'
      - ''
      - '&8&l● &b&lBoosters'
      - '&2● &aMoney Booster: &fx{money_boost}'
      - '&6● &eEssence Booster: &fx{essence_boost}'
      - '&8● &fCrops Booster: &fx{crops_boost}'
      - ''
      - '&7&o(( &f&o{items} &7&oitems were sold. ))'
    autosell-actionbar:
      enabled: true
      value: '&2&l[!] &a&lAutoSell: &a&l+ &2$&a{money}  &e&l+ &6❋&e{essence}'
      time: 80
    autosell-title:
      enabled: true
      title: '&2&l[!] &a&lAutoSell'
      subtitle: '&a&l+ &2$&a{money}  &e&l+ &6❋&e{essence}'
      fadeIn: 20
      fadeOut: 20
      time: 80
  KeyFinder:
    enabled: true
    disenchanter: true
    name: '&b&lKey Finder'
    material: TRIPWIRE_HOOK
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIxNWU4ZWJlZmYwYTIwMDhmMTRiZGEwNzJmNzU2MTVkYWNhYzBjNGRhYmM5MGQ5ZDUyY2MzMjE0ZTVjNTM1NyJ9fX0='
    slot: 12
    base-chance: 0.001
    increase-per-level: 0.000007
    price: 50
    price-increase: 80
    max-level: 1000
    required-level: 10
    lore:
      - '&7&o(( Chance to find crate keys ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Chance to find crate keys ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
    message-enabled: true
    message: '&3&l[!] &fYou have found {reward} &ffrom the &bKey Finder &fenchant.'
    rewards:
      '1':
        commands:
          - crates give %player% vote 1
        chance: 100
        name: '&b&l1X Vote Key'
      '2':
        commands:
          - crates give %player% solar 1
        chance: 100
        name: '&b&l1X Solar Key'
      '3':
        commands:
          - crates give %player% galactic 1
        chance: 100
        name: '&b&l1X Galactic Key'
      '4':
        commands:
          - crates give %player% lunar 1
        chance: 80
        name: '&b&l1X Lunar Key'
      '5':
        commands:
          - crates give %player% nova 1
        chance: 70
        name: '&b&l1x Nova Crate Key'
  EXPFinder:
    enabled: true
    disenchanter: true
    name: '&b&lEXP Finder'
    material: EXP_BOTTLE
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODdkODg1YjMyYjBkZDJkNmI3ZjFiNTgyYTM0MTg2ZjhhNTM3M2M0NjU4OWEyNzM0MjMxMzJiNDQ4YjgwMzQ2MiJ9fX0='
    slot: 11
    base-chance: 3.0
    increase-per-level: 0.003
    max-amount: 80
    min-amount: 40
    amount-increase-per-level: 0.003
    price: 150
    price-increase: 25
    max-level: 500
    required-level: 3
    lore:
      - '&7&o(( Chance to find xp ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Chance to find xp ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  SpawnerFinder:
    enabled: true
    disenchanter: true
    name: '&b&lSpawner Finder'
    material: SPAWNER
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ3ZTJlNWQ1NWI2ZDA0OTQzNTE5YmVkMjU1N2M2MzI5ZTMzYjYwYjkwOWRlZTg5MjNjZDg4YjExNTIxMCJ9fX0='
    slot: 13
    base-chance: 0.005
    increase-per-level: 0.00005
    price: 150
    price-increase: 25
    max-level: 500
    required-level: 5
    lore:
      - '&7&o(( Chance to find spawners ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Chance to find spawners ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
    message: '&3&l[!] &fYou have found {reward} &ffrom the &bSpawner Finder &fenchant.'
    rewards:
      '1':
        commands:
          - stacker give -s %player% spawner blaze 1
        chance: 100
        name: '&b&l1X Blaze Spawner'
      '2':
        commands:
          - stacker give -s %player% spawner creeper 1
        chance: 100
        name: '&b&l1X Creeper Spawner'
      '3':
        commands:
          - stacker give -s %player% spawner iron_golem 1
        chance: 80
        name: '&b&l1X Iron Golem Spawner'
      '4':
        commands:
          - stacker give -s %player% spawner witch 1
        chance: 70
        name: '&b&l1X Witch Spawner'
      '5':
        commands:
          - stacker give -s %player% spawner villager 1
        chance: 60
        name: '&b&l1X Villager Spawner'
  MoneyBooster:
    enabled: true
    disenchanter: true
    name: '&b&lMoney Booster'
    material: EMERALD
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ5NzRlYzE5ZDQwZWVmOTJiMmU0YWUzMmFjN2I4NjQ2ZjM0ODljNTA4ZjUwYjE2ZjM4MzUyOTZlMmFkYTIifX19'
    slot: 14
    boost-per-level: 0.01
    price: 100
    price-increase: 150
    max-level: 300
    required-level: 8
    lore:
      - '&7&o(( Boost money gained. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - '&f&l● &bBoost: &f%boost%x'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Boost money gained. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  EssenceBooster:
    enabled: true
    disenchanter: true
    name: '&b&lEssence Booster'
    material: GOLD_NUGGET
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjgwOWQyZTY5NjEwZjFlNmI3NWZlMGQ0NTk4ZTQ0MWU1NjAzMjVkMmQ1MmQ5N2NmNjY4NTljNDRmYTNkOGE3OSJ9fX0='
    slot: 15
    boost-per-level: 0.01
    price: 100
    price-increase: 125
    max-level: 300
    required-level: 8
    lore:
      - '&7&o(( Boost essence gained. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - '&f&l● &bBoost: &f%boost%x'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Boost essence gained. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  CropsBooster:
    enabled: true
    disenchanter: true
    name: '&e&lCrops Booster'
    material: BLAZE_POWDER
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjE0ZWZjZTQ0MzFlMmFmYzYzNjQwYjUwZjc3ZmNlMWRmODYxNzU1N2U0ZGJkNmE2MWNkOTAyOTIyY2Q4OWQwNiJ9fX0='
    slot: 16
    boost-per-level: 0.01
    price: 100
    price-increase: 115
    max-level: 300
    required-level: 5
    lore:
      - '&7&o(( Boosts amount of crops. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - '&f&l● &bBoost: &f%boost%x'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Boosts amount of crops. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  MoneyPouch:
    enabled: true
    disenchanter: true
    name: '&a&lMoney Pouch'
    material: BLAZE_ROD
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZlMGQ1ZmU4N2QyZDIxZTJiZGU2Mzc0NDI1YTM0MWE3NTczYjM3NWQ1YmI3ZDQ3ZjRiOGRhZTM1Mjk3ZWE0In19fQ=='
    slot: 21
    max-amount: 50000
    min-amount: 2000
    base-chance: 0.004
    increase-per-level: 0.00043
    scale-per-level: 0.03
    price: 150
    price-increase: 20
    max-level: 1000
    required-level: 8
    add-to-autosell: true
    message: '&3&lHOE &8» &fYou have received &2$&a{amount} &ffrom &aMoney Pouch&f.'
    lore:
      - '&7&o(( Chance to find bulk amount of money. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Chance to find bulk amount of money. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  EssencePouch:
    enabled: true
    disenchanter: true
    name: '&e&lEssence Pouch'
    material: GOLD_INGOT
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTMzZTkyYjA2NTcxOTZjYmExODZjZTc0ZjIwMzhiOTNiZThlNDI1MWFlMmNhYTNlYmY1MWNkZWYwM2E3NDM4NCJ9fX0='
    slot: 22
    max-amount: 7000
    min-amount: 2000
    base-chance: 0.002
    increase-per-level: 0.00023
    scale-per-level: 0.03
    price: 150
    price-increase: 25
    max-level: 1000
    required-level: 15
    add-to-autosell: true
    message: '&3&lHOE &8» &fYou have received &6❋&e{amount} Essence &ffrom &eEssence
      Pouch&f.'
    lore:
      - '&7&o(( Chance to find bulk amount of essence. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Chance to find bulk amount of essence. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  Rush:
    enabled: true
    disenchanter: true
    name: '&3&lRush'
    material: CHEST
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjdhYWYyZWU2NGJkYjIxMTAxNGM3ZWNjNzAwNmZhYTIzNDQ4ZDc4ZjRiYjkwMmU4YTEzMjVlMWM5ZDdmMTFlIn19fQ=='
    slot: 32
    base-chance: 0.002
    increase-per-level: 0.0023
    price: 150
    price-increase: 25
    max-level: 50
    required-level: 15
    activated: '&3&lRUSH &8» &fYour Rush enchant has activated and lasts for &b{time}&f.'
    command: '&3&lRUSH &8» &fYou have Rush multiplier for another &b{time}&f.'
    no-rush: '&3&lRUSH &8» &cYou don''t have a Rush Multiplier.'
    boosts:
      money:
        enabled: true
        default: 1.5
        increase:
          enabled: true
          per-level: 0.03
      essence:
        enabled: true
        default: 1.5
        increase:
          enabled: true
          per-level: 0.03
    time:
      #Time in Seconds
      default: 30
      increase:
        enabled: true
        per-level: 1
    lore:
      - '&7&o(( Chance to active rush mode and boost money '
      - '&7&oand essence earned for a amount of time. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - '&f&l● &bLasts for: &f%lastsfor%'
      - ' '
      - '&f&l● &aMoney Boost: &f%moneyboost%x'
      - '&f&l● &eEssence Boost: &f%essenceboost%x'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Chance to double money earned from autosell. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  Merchant:
    enabled: true
    disenchanter: true
    name: '&d&lMerchant'
    material: CHEST
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDVjNmRjMmJiZjUxYzM2Y2ZjNzcxNDU4NWE2YTU2ODNlZjJiMTRkNDdkOGZmNzE0NjU0YTg5M2Y1ZGE2MjIifX19'
    slot: 20
    base-chance: 0.002
    increase-per-level: 0.00023
    price: 150
    price-increase: 25
    times-money: 2
    max-level: 1000
    required-level: 15
    activated: '&5&lMERCHANT &8» &fYour merchant enchant has activated&f.'
    message: '&5&lMERCHANT &8» &fYou have doubled the money earned from &aAutoSell&f.'
    lore:
      - '&7&o(( Chance to double money earned from autosell. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Chance to double money earned from autosell. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  AirStrike:
    enabled: true
    disenchanter: true
    name: '&c&lAirStrike'
    material: TNT
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2FmNTk3NzZmMmYwMzQxMmM3YjU5NDdhNjNhMGNmMjgzZDUxZmU2NWFjNmRmN2YyZjg4MmUwODM0NDU2NWU5In19fQ=='
    slot: 24
    money-max-amount: 700000
    money-min-amount: 200000
    essence-max-amount: 70000
    essence-min-amount: 20000
    base-chance: 0.002
    increase-per-level: 0.00023
    scale-per-level: 0.03
    price: 150
    price-increase: 25
    max-level: 1000
    required-level: 10
    add-to-autosell: true
    message-activated: '&c&lAIRSTRIKE &8» &fAirStrike inbound!&f.'
    message:
      - ''
      - '&4&l● &c&lAirStrike'
      - '&7&o'
      - '&2● &aMoney Gathered: &2$&a{money}'
      - '&6● &eEssence Gathered: &6❋&e{essence}'
      - ''
    lore:
      - '&7&o(( Chance to send in a AirStrike. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Chance to send in a AirStrike. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  Speed:
    enabled: true
    disenchanter: true
    name: '&b&lSpeed'
    material: SUGAR
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzBmZWU2OTViNGVmNjY0YzNlNTFkYzQ2YmUyNDU0ODZkMzY1OTYzNjhmOTE2ODNjM2M4MzNhY2Y5ZGNiYiJ9fX0='
    slot: 23
    price: 5000
    price-increase: 2000
    max-level: 3
    required-level: 0
    lore:
      - '&7&o(( Boosts your speed. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Boosts your speed. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  Haste:
    enabled: true
    disenchanter: true
    name: '&e&lHaste'
    material: CLAY_BALL
    base64:
      enabled: true
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGY1MGNkMzU0ODEzYmNlYzc3NDk5MzliNDFhZjhmY2Q1ZTlhOTUxNGQxM2Y2YWRhODViNWY2ODUyMWYxZTgifX19'
    slot: 30
    price: 5000
    price-increase: 2000
    max-level: 5
    required-level: 0
    lore:
      - '&7&o(( Boosts your breaking speed. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Boosts your breaking speed. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  Trench:
    enabled: false
    disenchanter: false
    name: '&e&lTrench'
    material: CLAY_BALL
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWFlOWVjMjE4NDg4ZDhjMWQ4NjIxM2EyNDYzZjg2ZGQ1MzAzZDliMWM4NDBmNzcwOGZlOTcwMDZkZGEzMWUzOSJ9fX0=
    slot: 5
    base-chance: 1.002
    increase-per-level: 0.0023
    price: 150
    price-increase: 250
    max-level: 15
    required-level: 200
    default-size: 3
    toggle:
      enabled: true
      toggle-on: '&6&l[!] &e&lTrench Enchant &7has been toggled &aon!'
      toggle-off: '&6&l[!] &e&lTrench Enchant &7has been toggled &coff!'
    # Infinite Tiers
    size-upgrades:
      tier-1:
        level: 5
        size: 5
      tier-2:
        level: 10
        size: 8
      tier-3:
        level: 15
        size: 10
    lore:
      - '&7&o(( Chance to break crops in a %area%x%area% radius. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - '&f&l● &bCurrent Radius: &f%area%x%area%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Chance to break crops in a %area%x%area% radius. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  JackHammer:
    enabled: false
    disenchanter: false
    name: '&e&lJackHammer'
    material: CLAY_BALL
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjA3M2Q4NGQ2ZmRhNmEzNDA0ZTc3YWQ4ZDBmMTkwODkzYWU2NmQxOTVmYmI0NGQzYzQ2MDdhNmI3MWQ5YjlkNSJ9fX0=
    slot: 3
    base-chance: 0.002
    increase-per-level: 0.0023
    price: 150
    price-increase: 250
    max-level: 5
    required-level: 200
    max-radius: 150
    clear-per-tick: 200
    toggle:
      enabled: true
      toggle-on: '&6&l[!] &e&lJackHammer Enchant &7has been toggled &aon!'
      toggle-off: '&6&l[!] &e&lJackHammer Enchant &7has been toggled &coff!'
    message:
      value: '&6&l[!] &e&lJACKHAMMER: &7Your jackhammer enchant has been activated!'
      enabled: true
    lore:
      - '&7&o(( Chance to break a layer of the current crop. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Chance to break a layer of the current crop. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  CustomEnchant1:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 1'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 1 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 1 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant2:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 2'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 2 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 2 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant3:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 3'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 3 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 3 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20

  CustomEnchant4:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 4'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 4 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 4 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant5:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 5'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 5 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 5 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant6:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 6'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 6 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 6 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant7:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 7'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 7 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 7 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant8:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 8'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 8 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 8 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant9:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 9'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 9 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 9 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom   2
        chance: 20
  CustomEnchant10:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 10'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 10 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%hoe_level% &7on your hoe'
    disenchant:
      - '&7&o(( Custom Enchant 10 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
```


# croplevels.yml

```yaml
Enabled: false
GUI-Size: 27
GUI-Name: '&8Crop Levels'
Crop-Levels:
  Level1:
    hoe-level: 0
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTBhNGM5NGRkNjVhN2NhZGM0MTcyY2VkZjM5OTBhODU0Mjc3MmJiMTEzY2RmMWEwZjc4ZWY2NTJjNmFiZTZjYiJ9fX0='
    slot: 12
    name: '&2&l[!] &a&lLevel 1'
    lore:
      - ''
      - '&7Crops you can farm:'
      - '&8* &7Nether Wart'
      - '&8* &7Melon'
      - '&8* &7Carrots'
    crops:
      - MELON
      - NETHER_WARTS
      - CARROT
  Level2:
    hoe-level: 8
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTQ3YzU1MDY0ZjFkMDc2MjVhZjA1Y2RiYzBmYzdjODQxNzNiMTA1NDEwMjRjODg1NWVkNzEzMmNhNzc2NzI0NiJ9fX0='
    slot: 13
    name: '&5&l[!] &d&lLevel 2'
    lore:
      - ''
      - '&7Required Hoe Level: &f8'
      - ''
      - '&7Crops you can farm:'
      - '&8* &7Nether Wart'
      - '&8* &7Melon'
      - '&8* &7Carrots'
      - '&8* &7Potato'
      - '&8* &7Wheat'
      - '&8* &7Cocoa Bean'
    crops:
      - WHEAT
      - POTATO
      - COCOA
  Level3:
    hoe-level: 15
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDljYjk0ZDg3MjkxOTdhMThhNzY4ODJjMjQ5MThhOGMwNDQ5NGQzNDcyN2Y0ZGYwNjBmYjdhNDVhMWZmODUzNyJ9fX0='
    slot: 14
    name: '&3&l[!] &b&lLevel 3'
    lore:
      - ''
      - '&7Required Hoe Level: &f15'
      - ''
      - '&7Crops you can farm:'
      - '&8* &7Nether Wart'
      - '&8* &7Melon'
      - '&8* &7Carrots'
      - '&8* &7Potato'
      - '&8* &7Wheat'
      - '&8* &7Cocoa Bean'
      - '&8* &7Pumpkin'
      - '&8* &7Sugar Cane'
    crops:
      - SUGAR_CANE
      - PUMPKIN

Messages:
  requirement:
    - '&7'
    - '&4&l[!] &cYou don''t meet the &f&nrequirement&r &cfor this crop!'
    - '&4&l[!] &cYour hoe needs to be &flevel {next-level} &cbut your current &flevel&c is &f{level}'
    - '&7'
```


# leaderboards.yml

```yaml
################################################################################
#  _     _____    _    ____  _____ ____  ____   ___    _    ____  ____  ____   #
# | |   | ____|  / \  |  _ \| ____|  _ \| __ ) / _ \  / \  |  _ \|  _ \/ ___|  #
# | |   |  _|   / _ \ | | | |  _| | |_) |  _ \| | | |/ _ \ | |_) | | | \___ \  #
# | |___| |___ / ___ \| |_| | |___|  _ <| |_) | |_| / ___ \|  _ <| |_| |___) | #
# |_____|_____/_/   \_|____/|_____|_| \_|____/ \___/_/   \_|_| \_|____/|____/  #
#                                                                              #
################################################################################

# Main menu configuration for the /crop top command
Crops:
  main-menu:
    # GUI Name
    name: '&8ServerName » Leaderboards'
    # GUI Size
    size: 45
    # Filler of the GUI
    filler: BLACK_STAINED_GLASS_PANE
    # GUI Items
    SugarCane:
      name: '&3&l[!] &b&lSugar Cane'
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmEyYzg3YWU1ZmEwMzM0NWRmNDJjMTJkZmM5NTcxNzdjNjdjNjllMTQwMGViZWY3MDA1ZWIxM2I1OGJlNjc1OSJ9fX0=
      material: SUGAR_CANE
      lore:
        - '&7&o(( Click to view Sugar Cane Top. ))'
      slot: 10
      enabled: true
    Potato:
      name: '&3&l[!] &b&lPotato'
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjhlNjBlYmQ4MGI2MDYzYTk2ZTlhYWY4NGYwMzgyNTcwNThlNzYyZjFiZWMzYmY1YzBmNjI1MWU2NWQ1YzVlZSJ9fX0=
      material: POTATO
      lore:
        - '&7&o(( Click to view Potato Top. ))'
      slot: 11
      enabled: true
    Melon:
      name: '&3&l[!] &b&lMelon'
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmY4MjdiNWYxMjZjZjU4OGY5MzU1Njc4Y2FlZTMwNTQ0MjZkYTBmYTcxNmRmYTVmMmFlNzk5YmJiMjdiODMifX19
      material: MELON
      lore:
        - '&7&o(( Click to view Melon Top. ))'
      slot: 23
      enabled: true
    Pumpkin:
      name: '&3&l[!] &b&lPumpkin'
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDk4YWFiMzY4ZmE2ODEzYmM3YzZkM2RjNGMyNTVmMzgxYzg4MmMwNDU2ZmUzZGYxMGMyYmFiZmYwMzM0YjYyNyJ9fX0=
      material: PUMPKIN
      lore:
        - '&7&o(( Click to view Pumpkin Top. ))'
      slot: 21
      enabled: true
    Wheat:
      name: '&3&l[!] &b&lWheat'
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2IzYzg0ZTRiZGFmNWNjNWY4NTYzMmFjOTI4ZDA1OWZjMmYxZmYwY2M5ZTU5OThmMWZlOGIyMjc4ODFhZGE4NSJ9fX0=
      material: WHEAT
      lore:
        - '&7&o(( Click to view Wheat Top. ))'
      slot: 14
      enabled: true
    CocoaBean:
      name: '&3&l[!] &b&lCocoa Bean'
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzM5ODJjYjRhMjM4ZTExODlmZGIxODI5NDMzYTcxNDNjZmExOThhMjc2YzhhOWMzNDIyMTdjZmNiMmUzZDM4In19fQ==
      material: COCOABEAN
      lore:
        - '&7&o(( Click to view Cocoa Bean Top. ))'
      slot: 15
      enabled: true
    NetherWart:
      name: '&3&l[!] &b&lNether Wart'
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTExYTNjZWM3YWFmOTA0MjEyY2NmOTNiYjY3YTNjYWYzZDY0OTc4M2JhOTBiOGI2MGJiNjNjNzY4N2ViMzlmIn19fQ==
      material: NETHER_WART
      lore:
        - '&7&o(( Click to view Nether Wart Top. ))'
      slot: 16
      enabled: true
    Carrot:
      name: '&3&l[!] &b&lCarrot'
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmYyNWE5Nzk5OGZmYzU4MWI5NTdkNzMxNjFhYjE4OThjYWM1Y2VjODljODliMzRjMjNjYjZkNDA3NGM0YzhhYyJ9fX0=
      material: CARROT
      lore:
        - '&7&o(( Click to view Carrot Top. ))'
      slot: 13
      enabled: true
    Beetroot:
      name: '&3&l[!] &b&lBeetroot'
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDRiYzQ2Y2U1ZjFkMDA1OTQ2Y2MzYWExNGVjZmUyYTZjOWFkZmM3MmMyMDI1YjAwMTgzYTk1MjBhYWFkZDhiNSJ9fX0=
      material: SUGAR_CANE
      lore:
        - '&7&o(( Click to view Beetroot Top. ))'
      slot: 12
      enabled: true
    Crops:
      name: '&3&l[!] &b&lGlobal Crop Top'
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTY3MGJhNmNiY2Q2MGNjYTI5MDZiMGM0YWJiNzE2ODIwODUxZDVjMjhhNDJlYmY5NTQ3YTE1ZTc2MTE3NjhkMSJ9fX0=
      material: NETHER_STAR
      lore:
        - '&7&o(( Click to view the Crop Top. ))'
      slot: 31
      enabled: true


# Configuration for the SugarCane Top Leaderboard
SugarCane:
  hologram-no-player: No Player
  name: '&8ServerName » SugarCane Top'
  display:
    your-rank: '&3&l<!> &b&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bSugarcane Broken: &f{amount}'
    name: '&3&l<!> &f&l#{rank} &b&l{player}'
    lore:
      - ''
      - '&f● &bSugarcane Broken: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'

# Configuration for the Potato Top Leaderboard
Potato:
  hologram-no-player: No Player
  name: '&8ServerName » Potato Top'
  display:
    your-rank: '&3&l<!> &b&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bPotatoes Broken: &f{amount}'
    name: '&3&l<!> &f&l#{rank} &b&l{player}'
    lore:
      - ''
      - '&f● &bPotatoes Broken: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
# Configuration for the Melon Top Leaderboard
Melon:
  hologram-no-player: No Player
  name: '&8ServerName » Melon Top'
  display:
    your-rank: '&3&l<!> &b&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bMelons Broken: &f{amount}'
    name: '&3&l<!> &f&l#{rank} &b&l{player}'
    lore:
      - ''
      - '&f● &bMelons Broken: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
# Configuration for the Pumpkin Top Leaderboard
Pumpkin:
  hologram-no-player: No Player
  name: '&8ServerName » Pumpkin Top'
  display:
    your-rank: '&3&l<!> &b&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bPumpkins Broken: &f{amount}'
    name: '&3&l<!> &f&l#{rank} &b&l{player}'
    lore:
      - ''
      - '&f● &bPumpkins Broken: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
# Configuration for the Wheat Top Leaderboard
Wheat:
  hologram-no-player: No Player
  name: '&8ServerName » Wheat Top'
  display:
    your-rank: '&3&l<!> &b&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bWheat Broken: &f{amount}'
    name: '&3&l<!> &f&l#{rank} &b&l{player}'
    lore:
      - ''
      - '&f● &bWheat Broken: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
# Configuration for the CocoaBean Top Leaderboard
CocoaBean:
  hologram-no-player: No Player
  name: '&8ServerName » CocoaBean Top'
  display:
    your-rank: '&3&l<!> &b&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bCocoaBeans Broken: &f{amount}'
    name: '&3&l<!> &f&l#{rank} &b&l{player}'
    lore:
      - ''
      - '&f● &bCocoaBeans Broken: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
# Configuration for the NetherWart Top Leaderboard
NetherWart:
  hologram-no-player: No Player
  name: '&8ServerName » NetherWart Top'
  display:
    your-rank: '&3&l<!> &b&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bNetherWarts Broken: &f{amount}'
    name: '&3&l<!> &f&l#{rank} &b&l{player}'
    lore:
      - ''
      - '&f● &bNetherWarts Broken: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
# Configuration for the Carrot Top Leaderboard
Carrot:
  hologram-no-player: No Player
  name: '&8ServerName » Carrot Top'
  display:
    your-rank: '&3&l<!> &b&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bCarrots Broken: &f{amount}'
    name: '&3&l<!> &f&l#{rank} &b&l{player}'
    lore:
      - ''
      - '&f● &bCarrots Broken: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
# Configuration for the Beetroot Top Leaderboard
Beetroot:
  hologram-no-player: No Player
  name: '&8ServerName » Beetroot Top'
  display:
    your-rank: '&3&l<!> &b&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bBeetroots Broken: &f{amount}'
    name: '&3&l<!> &f&l#{rank} &b&l{player}'
    lore:
      - ''
      - '&f● &bBeetroots Broken: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
# Configuration for the Essence Top Leaderboard
Essence:
  hologram-no-player: No Player
  name: '&8ServerName » Essence Top'
  display:
    your-rank: '&6&l<!> &e&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bEssence: &6❋&e{amount}'
    name: '&6&l<!> &f&l#{rank} &e&l{player}'
    lore:
      - ''
      - '&f● &bEssence: &6❋&e{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
# Configuration for the Crops Top Leaderboard
Crop:
  hologram-no-player: No Player
  name: '&8ServerName » Crop Top'
  display:
    your-rank: '&2&l<!> &a&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&2&lCROPS'
      - '&8● &aSugarCane: &f{sugarcane}'
      - '&8● &aPotato: &f{potato}'
      - '&8● &aCarrot: &f{carrot}'
      - '&8● &aBeetroot: &f{beetroot}'
      - '&8● &aWheat: &f{wheat}'
      - '&8● &aCocoaBean: &f{cocoabean}'
      - '&8● &aNetherWart: &f{netherwart}'
      - '&8● &aPumpkin: &f{pumpkin}'
      - '&8● &aMelon: &f{melon}'
      - ''
      - '&2&lGLOBAL'
      - '&8● &aTotal Amount: &f{amount}'
    name: '&2&l<!> &f&l#{rank} &a&l{player}'
    lore:
      - ''
      - '&2&lCROPS'
      - '&8● &aSugarCane: &f{sugarcane}'
      - '&8● &aPotato: &f{potato}'
      - '&8● &aCarrot: &f{carrot}'
      - '&8● &aBeetroot: &f{beetroot}'
      - '&8● &aWheat: &f{wheat}'
      - '&8● &aCocoaBean: &f{cocoabean}'
      - '&8● &aNetherWart: &f{netherwart}'
      - '&8● &aPumpkin: &f{pumpkin}'
      - '&8● &aMelon: &f{melon}'
      - ''
      - '&2&lGLOBAL'
      - '&8● &aTotal Amount: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'
Data:
  # Save all Data - Time in seconds
  save-data: 300
  broadcast: true
  permission: rival.admin.update
  message:
    - ''
    - '&2&l[!] &a&lRivalHarvesterHoes &8- &7Data has been saved successfully!'
    - ''

# Configuration for the Crops Balance Commands
Balance:
  Invalid-Crop:
    message:
      - ''
      - '&4&l[!] &c&lInvalid Crop, possible crops: &fSugarCane, Potato, Carrot, Beetroot,
      Wheat, CocoaBean, NetherWart, Pumpkin, Melon'
      - ''
  SugarCane:
    player-balance-format:
      - '&a&lYour Sugarcane &8» &f{amount}'
      - '&7Harvest Sugarcane and compete on the /sugarcane top leaderboards'
    others-balance-format:
      - '&a&l{player}''s Sugarcane &8» &f{amount}'
      - '&7Harvest Sugarcane and compete on the /sugarcane top leaderboards'

  # Configuration for the Potato Top Leaderboard
  Potato:
    player-balance-format:
      - '&a&lYour Potatoes &8» &f{amount}'
      - '&7Harvest Potatoes and compete on the /potato top leaderboards'
    others-balance-format:
      - '&a&l{player}''s Potato &8» &f{amount}'
      - '&7Harvest Potatoes and compete on the /potato top leaderboards'
  # Configuration for the Beetroot Top Leaderboard
  Beetroot:
    player-balance-format:
      - '&a&lYour Beetroots &8» &f{amount}'
      - '&7Harvest Sugarcane and compete on the /sugarcane top leaderboards'
    others-balance-format:
      - '&a&l{player}''s Beetroot &8» &f{amount}'
      - '&7Harvest Beetroot and compete on the /beetroot top leaderboards'
  # Configuration for the Carrot Top Leaderboard
  Carrot:
    player-balance-format:
      - '&a&lYour Carrots &8» &f{amount}'
      - '&7Harvest Sugarcane and compete on the /carrot top leaderboards'
    others-balance-format:
      - '&a&l{player}''s Carrots &8» &f{amount}'
      - '&7Harvest Sugarcane and compete on the /carrot top leaderboards'
  # Configuration for the Wheat Top Leaderboard
  Wheat:
    player-balance-format:
      - '&a&lYour Wheat &8» &f{amount}'
      - '&7Harvest Wheat and compete on the /wheat top leaderboards'
    others-balance-format:
      - '&a&l{player}''s Wheat &8» &f{amount}'
      - '&7Harvest Wheat and compete on the /wheat top leaderboards'
  # Configuration for the CocoaBean Top Leaderboard
  CocoaBean:
    player-balance-format:
      - '&a&lYour CocoaBeans &8» &f{amount}'
      - '&7Harvest CocoaBeans and compete on the /cocoabean top leaderboards'
    others-balance-format:
      - '&a&l{player}''s CocoaBeans &8» &f{amount}'
      - '&7Harvest Cocoabeans and compete on the /cocoabean top leaderboards'
  # Configuration for the NetherWart Top Leaderboard
  NetherWart:
    player-balance-format:
      - '&a&lYour Netherwart &8» &f{amount}'
      - '&7Harvest Netherwart and compete on the /netherwart top leaderboards'
    others-balance-format:
      - '&a&l{player}''s Netherwart &8» &f{amount}'
      - '&7Harvest Netherwart and compete on the /netherwart top leaderboards'
  # Configuration for the Pumpkin Top Leaderboard
  Pumpkin:
    player-balance-format:
      - '&a&lYour Pumpkins &8» &f{amount}'
      - '&7Harvest Pumpkins and compete on the /pumpkin top leaderboards'
    others-balance-format:
      - '&a&l{player}''s Pumpkins &8» &f{amount}'
      - '&7Harvest Pumpkins and compete on the /pumpkin top leaderboards'
  # Configuration for the Melon Top Leaderboard
  Melon:
    player-balance-format:
      - '&a&lYour Melons &8» &f{amount}'
      - '&7Harvest Melons and compete on the /melon top leaderboards'
    others-balance-format:
      - '&a&l{player}''s Melons &8» &f{amount}'
      - '&7Harvest Melons and compete on the /melon top leaderboards'
  # Configuration for Crop Balance Command
  Crops:
    player-balance-format:
      - '&a&lYour Total Crops &8» &f{amount}'
      - ''
      - '&2&lCROPS'
      - '&8● &aSugarCane: &f{sugarcane}'
      - '&8● &aPotato: &f{potato}'
      - '&8● &aCarrot: &f{carrot}'
      - '&8● &aBeetroot: &f{beetroot}'
      - '&8● &aWheat: &f{wheat}'
      - '&8● &aCocoaBean: &f{cocoabean}'
      - '&8● &aNetherWart: &f{netherwart}'
      - '&8● &aPumpkin: &f{pumpkin}'
      - '&8● &aMelon: &f{melon}'
      - '&7Harvest Crops and compete on the /crop top leaderboards'
    others-balance-format:
      - '&a&l{player}''s Total Crops &8» &f{amount}'
      - ''
      - '&2&lCROPS'
      - '&8● &aSugarCane: &f{sugarcane}'
      - '&8● &aPotato: &f{potato}'
      - '&8● &aCarrot: &f{carrot}'
      - '&8● &aBeetroot: &f{beetroot}'
      - '&8● &aWheat: &f{wheat}'
      - '&8● &aCocoaBean: &f{cocoabean}'
      - '&8● &aNetherWart: &f{netherwart}'
      - '&8● &aPumpkin: &f{pumpkin}'
      - '&8● &aMelon: &f{melon}'
      - '&7Harvest Crops and compete on the /crop top leaderboards'

# /hoe stats <player> command
Hoe-Stats:
  message:
    - '&a&l{player}''s Stats'
    - ''
    - '&2&lBALANCES'
    - '&8● &aMoney: &f{money}'
    - '&8● &aEssence: &f{essence}'
    - ''
    - '&2&lCROPS'
    - '&8● &aSugarCane: &f{sugarcane}'
    - '&8● &aPotato: &f{potato}'
    - '&8● &aCarrot: &f{carrot}'
    - '&8● &aBeetroot: &f{beetroot}'
    - '&8● &aWheat: &f{wheat}'
    - '&8● &aCocoaBean: &f{cocoabean}'
    - '&8● &aNetherWart: &f{netherwart}'
    - '&8● &aPumpkin: &f{pumpkin}'
    - '&8● &aMelon: &f{melon}'
    - '&8● &aGlobal: &f{global}'
Crop-Commands:
  usage:
    - '&b&l{crop} Commands'
    - '&8● &f/{crop-lowercase} &7balance <player>'
    - '&8● &f/{crop-lowercase} &7top'
```


# captcha.yml

```yaml
################################################
#   ____    _    ____ _____ ____ _   _    _    #
#  / ___|  / \  |  _ |_   _/ ___| | | |  / \   #
# | |     / _ \ | |_) || || |   | |_| | / _ \  #
# | |___ / ___ \|  __/ | || |___|  _  |/ ___ \ #
# \____/_/   \_|_|    |_| \____|_| |_/_/   \_\ #
#                                              #
################################################

Captcha:
  Settings:
    # Triggers Captcha when player is farming
    Farming:
      enabled: true
    # Triggers Captcha when player is fishing
    Fishing:
      enabled: true
    # Triggers Captcha when player is killing mobs
    Mobs:
      enabled: true

Captcha-Menu:
  # Should the Captcha be Enabled
  captcha-enabled: true
  # Name of Inventory - Dont remove %item%
  name: '&8Captcha » Click %item%'
  # Chance to activate Captcha
  chance: 0.02
  # How many times the player can fail the captcha
  captcha-times: 5
  # Bypass Permission
  bypass-permission: rivalhoes.captchabypass
  # Captcha failed message
  failedcaptcha: '&4&l[!] &cYou have failed captcha  &f{time}&c/&f5'
  # Command to run when player has failed the captcha
  command: kick {player} Captcha Failed
  # Seconds player spent in the captcha GUI
  time-in-gui: 15
  # Should the player be punished
  punish: true
  # Message when player logs out
  logged-out: '&4&l[!] &f{player} &chas logged out while in &fCaptcha'
  # Message when player spends to much time in captcha
  time: '&4&l[!] &f{player} &chas been in the Captcha for &f15 seconds&c.'
  # Message Broadcast when player fails the Captcha
  failed: '&4&l[!] &f{player} &chas failed the Captcha&f.'
  # Message when player confirms the captcha
  confirm-message: '&2&l[!] &aYou have confirmed the captcha'
  # /captcha <player> command message
  forced: '&4&l[!] &cForced a captcha check for &f{player}'
  # Sends the message to the player when captcha activates
  player-message: '&4&l[!] &cPlease solve the captcha to continue!'
  # If Enabled it Disables Captcha Menu and Runs the Custom Command when captcha is activated
  custom-command:
    enabled: false
    command: captcha {player}
  # Send alerts and failed message to discord, Tutorial how to make a webhook: https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
  discord-webhook:
    url: ''
    enabled: false

Block-Per-Second:
  # Enable the alert if player is breaking to many blocks at a time
  enabled: true
  # Permission to receive the alert message
  permission: rivalhoes.notify
  # Message sent to players with permission
  message: '&4&l[Alert] &c{player} &7is breaking to many blocks per second &8(&f{blocks}&8)'

```


# settings.yml

```yaml
############################################################################
#   ____ ____   ___  ____    ____  _____ _____ _____ ___ _   _  ____ ____  #
#  / ___|  _ \ / _ \|  _ \  / ___|| ____|_   _|_   _|_ _| \ | |/ ___/ ___| #
# | |   | |_) | | | | |_) | \___ \|  _|   | |   | |  | ||  \| | |  _\___ \ #
# | |___|  _ <| |_| |  __/   ___) | |___  | |   | |  | || |\  | |_| |___) |#
# \____|_| \_\\___/|_|     |____/|_____| |_|   |_| |___|_| \_|\____|____/  #
#                                                                          #
############################################################################
Crop-Settings:
  Wheat:
    enabled: true
  Potato:
    enabled: true
  Carrot:
    enabled: true
  NetherWart:
    enabled: true
  CocoaBean:
    enabled: true
  Beetroot:
    enabled: true
  Pumpkin:
    enabled: true
  Melon:
    enabled: true
  SugarCane:
    enabled: true
```


# shops.yml

```yaml
# Information About the Main Menu
#  main:
#    options:
#      size: 45
#      title: "&8Example Menu"
#      default: true - If its the first menu that opens when you type /essence shop
#    items:
#      '13': // Can be anything but cant repeat
#        material: 'STONE' // Material of the item shown in GUI
#        amount: 1 // Amount of Item in the GUI
#        name: "&bExample Name" // Name of the item in the GUI
#        lore:          //Lore of the item in the GUI
#          - "&7Example Lore"
#        slot: 5       // What Slot will the item Appear in
#        page: examplepage // When the item is clicked it will open the page defined Mostly used for Main Menu
pages:
  main:
    options:
      size: 45
      title: '&8ServerName » Essence Shop'
      default: true
      filler:
        material: LIGHT_BLUE_STAINED_GLASS_PANE
    items:
      '13':
        material: MAGMA_CREAM
        amount: 1
        name: '&6&l[!] &e&lESSENCE'
        lore:
          - '&7You have &6❋&e{essence} essence'
          - '&7You can get Essence by harvesting'
          - '&7crops and use Essence to purchase items'
          - '&7in the &e/essence shop'
        slot: 13
      '20':
        material: MOB_SPAWNER
        amount: 1
        name: '&3&l<!> &b&lSpawners Shop'
        lore:
          - ''
          - ' &3● &bCategory: &fSpawners'
          - ' &3● &bContains: &f1 Item'
          - ''
        slot: 20
        page: spawners
      '21':
        material: TRIPWIRE_HOOK
        amount: 1
        name: '&3&l<!> &b&lCrate Keys Shop'
        lore:
          - ''
          - ' &3● &bCategory: &fCrate Keys'
          - ' &3● &bContains: &f4 Items'
          - ''
        slot: 22
        page: keys
      '22':
        material: ENDER_CHEST
        amount: 1
        name: '&3&l<!> &b&lExclusive Shop'
        lore:
          - ''
          - ' &3● &bCategory: &fExclusive'
          - ' &3● &bContains: &f1 Item'
          - ''
        slot: 24
        page: monthlycrates
  spawners:
    options:
      size: 27
      title: '&8ServerName » Spawner Shop'
      filler:
        material: LIGHT_BLUE_STAINED_GLASS_PANE
    items:
      '1':
        material: MOB_SPAWNER
        amount: 1
        name: '&3&l[!] &b&lSilverfish Spawner'
        lore:
          - ''
          - ' &3&l● &bPrice: &f400k Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - ws give {player} spawner Silverfish 1
        price: 400000
        slot: 13
      '18':
        material: BARRIER
        amount: 1
        name: '&c&lGo Back to Categories'
        lore:
          - '&7&o(( Click here to go back ))'
        slot: 22
        page: main
  keys:
    options:
      size: 27
      title: '&8ServerName » Crate Key Shop'
      filler:
        material: LIGHT_BLUE_STAINED_GLASS_PANE
    items:
      '11':
        material: LIME_DYE
        amount: 1
        name: '&2&l[!] &a&lVote Crate Key'
        lore:
          - ''
          - ' &2&l● &aPrice: &f300k Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - crate give p Vote 1 {player}
        price: 300000
        slot: 11
      '12':
        material: LIGHT_BLUE_DYE
        amount: 1
        name: '&3&l[!] &b&lRare Crate Key'
        lore:
          - ''
          - ' &3&l● &bPrice: &f450k Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - crate give p Rare 1 {player}
        price: 450000
        slot: 12
      '14':
        material: PINK_DYE
        amount: 1
        name: '&5&l[!] &d&lUltra Crate Key'
        lore:
          - ''
          - ' &5&l● &dPrice: &f650k Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - crate give p Ultra 1 {player}
        price: 650000
        slot: 14
      '15':
        material: ORANGE_DYE
        amount: 1
        name: '&e&l[!] &6&lLegendary Crate Key'
        lore:
          - ''
          - ' &6&l● &ePrice: &f950k Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - crate give p Legendary 1 {player}
        price: 950000
        slot: 15
      '18':
        material: BARRIER
        amount: 1
        name: '&c&lGo Back to Categories'
        lore:
          - '&7&o(( Click here to go back ))'
        slot: 22
        page: main
  monthlycrates:
    options:
      size: 27
      title: '&8ServerName » Exclusive Essence Shop'
      filler:
        material: LIGHT_BLUE_STAINED_GLASS_PANE
    items:
      '1':
        material: ENDER_CHEST
        amount: 1
        name: '&6&l[!] &e&lMonthly Crate'
        lore:
          - ''
          - ' &6&l● &ePrice: &f15M Essence'
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - ac give {player} Monthly 1
        price: 15000000
        slot: 13
      '18':
        material: BARRIER
        amount: 1
        name: '&c&lGo Back to Categories'
        lore:
          - '&7&o(( Click here to go back ))'
        slot: 22
        page: main

```


# croplevels.yml

```yaml
Enabled: false
GUI-Size: 27
GUI-Name: '&8Crop Levels'
Crop-Levels:
  Level1:
    hoe-level: 0
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTBhNGM5NGRkNjVhN2NhZGM0MTcyY2VkZjM5OTBhODU0Mjc3MmJiMTEzY2RmMWEwZjc4ZWY2NTJjNmFiZTZjYiJ9fX0='
    slot: 12
    name: '&2&l[!] &a&lLevel 1'
    lore:
      - ''
      - '&7Crops you can farm:'
      - '&8* &7Nether Wart'
      - '&8* &7Melon'
      - '&8* &7Carrots'
      - ''
      - '&2&lYOUR STATS'
      - '&8* &7Level: &f{current-level}'
      - '&8* &7Crops Harvested: &f{crops-harvested}'
      - '&8* &7Current XP: &f{current-xp}'
    crops:
      - MELON
      - NETHER_WARTS
      - CARROTS
  Level2:
    hoe-level: 8
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTQ3YzU1MDY0ZjFkMDc2MjVhZjA1Y2RiYzBmYzdjODQxNzNiMTA1NDEwMjRjODg1NWVkNzEzMmNhNzc2NzI0NiJ9fX0='
    slot: 13
    name: '&5&l[!] &d&lLevel 2'
    lore:
      - ''
      - '&7Required Hoe Level: &f8'
      - ''
      - '&7Crops you can farm:'
      - '&8* &7Nether Wart'
      - '&8* &7Melon'
      - '&8* &7Carrots'
      - '&8* &7Potato'
      - '&8* &7Wheat'
      - '&8* &7Cocoa Bean'
      - ''
      - '&2&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&2&lYOUR STATS'
      - '&8* &7Level: &f{current-level}'
      - '&8* &7Crops Harvested: &f{crops-harvested}'
      - '&8* &7Current XP: &f{current-xp}'
    crops:
      - WHEAT
      - POTATOES
      - COCOA
  Level3:
    hoe-level: 15
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDljYjk0ZDg3MjkxOTdhMThhNzY4ODJjMjQ5MThhOGMwNDQ5NGQzNDcyN2Y0ZGYwNjBmYjdhNDVhMWZmODUzNyJ9fX0='
    slot: 14
    name: '&3&l[!] &b&lLevel 3'
    lore:
      - ''
      - '&7Required Hoe Level: &f15'
      - ''
      - '&7Crops you can farm:'
      - '&8* &7Nether Wart'
      - '&8* &7Melon'
      - '&8* &7Carrots'
      - '&8* &7Potato'
      - '&8* &7Wheat'
      - '&8* &7Cocoa Bean'
      - '&8* &7Pumpkin'
      - '&8* &7Beetroot'
      - '&8* &7Sugar Cane'
      - '&8* &7Bamboo'
      - ''
      - '&2&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&2&lYOUR STATS'
      - '&8* &7Level: &f{current-level}'
      - '&8* &7Crops Harvested: &f{crops-harvested}'
      - '&8* &7Current XP: &f{current-xp}'
    crops:
      - SUGAR_CANE
      - BEETROOTS
      - PUMPKIN
      - BAMBOO

Messages:
  requirement:
    - '&7'
    - '&4&l[!] &cYou don''t meet the &f&nrequirements&r &cfor this crop!'
    - '&4&l[!] &cYour hoe needs to be &flevel {next-level} &cbut your current &flevel&c is &f{level}'
    - '&7'
```


# Rival Fishing Rods


# Installation

## Before Starting the server

* Place the latest **RivalFishingRods.jar** in your plugins folder.
* Make sure you have **RivalHarvesterHoes** installed and enabled, if you do not change **economy-type:** to RivalFishingRods in config.yml&#x20;
* Make sure to download all the dependencies for your Server Version and add them to your plugins folder.
* Start your server and the Plugin will be loaded.

## Dependencies

&#x20;[WorldGuard](https://dev.bukkit.org/projects/worldguard/files/3342964), [NBTAPI](https://www.spigotmc.org/resources/nbt-api.7939/), [Vault](https://www.spigotmc.org/resources/vault.34315/) , PlaceholderAPI


# Placeholders

**Placeholder List:**

**Essence if using RivalHarvesterHoes as economy:**

* %rivalhoes\_essence% - Raw Essence
* %rivalhoes\_essence\_formatted% - Formatted Essence
* %rivalhoes\_essencetop\_position% - Essence Position
* %rivalhoes\_essencetop\_name\_\<place>% - Get Name of Player
* %rivalhoes\_essencetop\_value\_\<place>% - Get Value of Place

Essence if using RivalFishingRods as economy:

* %rivalrods\_essence% - Raw Essence
* %rivalrods\_essence\_formatted% - Formatted Essence
* %rivalrods\_essencetop\_position% - Essence Position
* %rivalrods\_essencetop\_name\_\<place>% - Get Name of Player
* %rivalrods\_essencetop\_value\_\<place>% - Get Value of Place

**Fishes:**

* %rivalrods\_fishes% - Raw Fishes
* %rivalrods\_fishes\_formatted% - Formatted Fishes
* %rivalrods\_fishtop\_name\_\<place>% - Get Name of Player
* %rivalrods\_fishtop\_value\_\<place>% - Get Value of Place
* %rivalrods\_fishtop\_position% - Get the position of Player on the leaderboard

#### Fishing Competition:

* %rivalrods\_fishingcompetition\_time\_next% - Returns time until next event formatted m/s
* %rivalrods\_fishingcompetition\_time\_long% - Returns time until next event formatted minute/second
* %rivalrods\_fishingcompetition\_time\_left% - Return time left of the current fishing competition
* %rivalrods\_fishingcompetition\_active% - Returns "true" if active, false if not
* %rivalrods\_fishingcompetition\_caught% - Returns amount of Fishes caught in Fishing Competition
* %rivalrods\_fishingcompetition\_position% - Returns current position in the Fishing Competition
* %rivalrods\_is\_rod% - Returns "true" if a rod is in hand, "false" if not

For Placeholders you will need [PlaceholderAPI](broken://pages/nZybHQMKVwGG6nzWrypm),  for updating Holograms use [HolographicDisplays ](https://dev.bukkit.org/projects/holographic-displays)& [HolographicExtension](https://www.spigotmc.org/resources/holographicextension.18461/) to make updating Placeholders


# Commands and Permissions

Main Permissions: `rivalrods.main - rivalrods.admin`

Hoe Commands:

| COMMANDS                      |              DESCRIPTION              | PERMISSIONS               |
| ----------------------------- | :-----------------------------------: | ------------------------- |
| /rod give                     |         Give a hoe to a player        | rivalrods.give            |
| /rod about                    |       View info about the plugin      | -                         |
| /rod stats                    |         View Stats of a player        | rivalrods.stats           |
| /rod info                     |          View Enchants on Rod         | rivalrods.info            |
| /rod reload                   |           Reload all configs          | rivalrods.reload          |
| /rod fishingcompetition start |     Start the fishing competition     | rrivalrods.harvesterevent |
| /rod calculate                |  Calculate Essence price for Enchant  | rivalrods.calculate       |
| /rod admin                    | Open the Admin Panel for Fishing Rods | rivalrods.admin           |
| /rod setenchant               |        Set a enchant to the rod       | rivalrods.setenchant      |
| /rod max                      |      Give a rod with max enchants     | rivalrods.max             |
| /rod setowner                 |  Change the Owner of the Fishing Rod  | rivalrods.setowner        |
| /rod testchance               |      Test the Chance of Enchants      | rivalrods.testchance      |

Fish Commands:&#x20;

<table><thead><tr><th width="341.7936342290634" align="center">COMMANDS</th><th align="center">DESCRIPTION</th></tr></thead><tbody><tr><td align="center">/fish balance &#x3C;player> </td><td align="center">View  Fish Balance</td></tr><tr><td align="center">/fish give &#x3C;player> &#x3C;amount></td><td align="center">Give Fish to Player</td></tr><tr><td align="center">/fish remove &#x3C;player> &#x3C;amount></td><td align="center">Remove Fish from Player</td></tr><tr><td align="center">/fish reset &#x3C;player></td><td align="center">Reset Player's Fishes amount</td></tr><tr><td align="center">/fish set &#x3C;player> &#x3C;amount></td><td align="center">Set Player's Fishes amount</td></tr><tr><td align="center">/fish top</td><td align="center">View Fish Top Leaderboard</td></tr><tr><td align="center">/fish force</td><td align="center">Force save Fish Data</td></tr></tbody></table>

Other Commands:

* /fisherman- Shows all current players using Fishing Rods
* /fishingcompetition- Shows your current fishes, time left and current leaderboard


# Custom Loot

This configuration section allows for setting up custom loot drops with various settings, including item specifics, drop chance, requirements based on player levels, and more.

**`imperial: true`**

You can add `imperial: true` to the drop configuration if you want the `{length}` placeholder to display values in the **Imperial measurement system** (inches, feet) instead of the default **Metric system** (centimeters, meters).

**Top-Level Configuration Options**

| Key           | Type    | Description                                                    |
| ------------- | ------- | -------------------------------------------------------------- |
| `custom-loot` | Section | Main configuration section for custom loot drops.              |
| `enabled`     | Boolean | Enables or disables the custom loot system.                    |
| `chance`      | Integer | Chance (in %) for custom loot to drop when conditions are met. |
| `rewards`     | Section | Defines specific loot items and their requirements.            |

**Rewards Section**

Each entry under `rewards` defines an individual loot item and its requirements. Entries are identified by unique string keys (e.g., `'1'`), which should be incremented for each new reward.

| Key                 | Type    | Description                                                                          |
| ------------------- | ------- | ------------------------------------------------------------------------------------ |
| `chance`            | Integer | Chance (in %) for this specific reward to drop, independent of `custom-loot` chance. |
| `level-requirement` | Integer | Minimum player level required for this reward to be available.                       |
| `item`              | Section | Item configuration section (see below for details).                                  |
| `amount`            | Integer | Quantity of the item to drop.                                                        |
| `size`              | Range   | Specifies a range (e.g., `15-30`) for the item's stack size.                         |

**Item Configuration Section**

Each reward includes an `item` section that specifies the properties and appearance of the item to be dropped.

| Key        | Type    | Description                                                                                             |
| ---------- | ------- | ------------------------------------------------------------------------------------------------------- |
| `material` | String  | The base material of the item (e.g., `RAW_FISH`).                                                       |
| `base64`   | Section | Custom texture configuration for the item.                                                              |
| `name`     | String  | Display name of the item. Supports color codes (`&` format).                                            |
| `lore`     | List    | List of strings defining the lore of the item, supporting color codes and placeholders like `{length}`. |

**Note**: Color codes use `&#` syntax to specify hex colors (e.g., `&#6B9F94`), which can create more customized color effects.

**Base64 Section**

The `base64` section is used to apply a custom texture to the item. This requires two fields:

| Key       | Type    | Description                                                                                                |
| --------- | ------- | ---------------------------------------------------------------------------------------------------------- |
| `enabled` | Boolean | Enables or disables custom texture for the item.                                                           |
| `value`   | String  | Base64-encoded texture value for the item. Example values can be obtained through external skin databases. |

**Example Breakdown**

* **Material**: Specifies the item as a `RAW_FISH`.
* **Custom Texture**: Enabled with a Base64-encoded texture, applied only if `base64.enabled` is set to `true`.
* **Item Name**: Displayed as `&lsᴀʀᴅɪɴᴀ` in teal color.
* **Lore**: Provides extra text with `{length}`, which can be set to show in Imperial or Metric values.
* **Amount**: 1 item will drop per successful reward.
* **Size**: Specifies a range for the item stack, generating between 15 and 30 weight.

```yaml
  custom-loot:
    enabled: true
    chance: 100
    rewards:
      #Must have atleast one reward with level-requirement:0
      '1':
        imperial: true
        chance: 100
        level-requirement: 0
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOWZiZTFiZTE5ZTRmZmFiYTk3ZDYxYmVlZjdjYTMwMTBiNjI5OTZjNjQxZTU3MDg0ZmMzNjRhNmYzZWIxNDEzOCJ9fX0=
          name: '&#6B9F94&lsᴀʀᴅɪɴᴀ'
          lore:
            - '&8ᴄᴏᴍᴍᴏɴ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 15-30

      '2':
        chance: 70
        level-requirement: 0
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MmQ3ZGQ2YWFkZjM1Zjg2ZGEyN2ZiNjNkYTRlZGRhMjExZGY5NmQyODI5ZjY5MTQ2MmE0ZmIxY2FiMCJ9fX0=
          name: '&#C2AE92&lᴄᴏᴅ'
          lore:
            - '&8ʀᴀʀᴇ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 40-85

      '3':
        chance: 60
        level-requirement: 0
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzViYTM5M2I5MjZlZTY5YTE0ZDRkODUzYjI1ZDI4NWE4NjhiMTZjNTZjOTE5ZDJiODI0NDEzZTY1NjZkNGU1NSJ9fX0=
          name: '&#FC5D94&lᴛʀᴏᴘɪᴄᴀʟ ꜰɪѕʜ'
          lore:
            - '&8ʀᴀʀᴇ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 35-40

      '4':
        chance: 50
        level-requirement: 0
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDZkZDVlNmFkZGI1NmFjYmM2OTRlYTRiYTU5MjNiMWIyNTY4ODE3OGZlZmZhNzIyOTAyOTllMjUwNWM5NzI4MSJ9fX0=
          name: '&#EE6426&lᴄʟᴏᴡɴꜰɪѕʜ'
          lore:
            - '&8ᴄᴏᴍᴍᴏɴ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 8-17

      '5':
        chance: 40
        level-requirement: 0
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTNlNjY4ODZhMzRlZWJiNTIwMzBmMGYzM2ZiZTYwYjcwYzY3ZGRjOTE4ZmFlZTQ1YTQyN2QzZjY4NzMwM2E4In19fQ==
          name: '&#E1C52E&lɢᴏʟᴅꜰɪѕʜ'
          lore:
            - '&8ʀᴀʀᴇ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 12-41

      '6':
        chance: 30
        level-requirement: 0
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDVhZjQ2OWU4MWUwZThmMjgwNzkyZTA2Mzk5NTg2MDFkMTIwMWRkNDIxNmI1M2FiNGE2NjU4MTBkYzMwNWU0MyJ9fX0=
          name: '&#FFFB00&lᴇʟᴇᴄᴛʀɪᴄ ᴍᴇᴅᴜsᴀ '
          lore:
            - '&8ᴇхᴏᴛɪᴄ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 120-200

      '7':
        chance: 20
        level-requirement: 0
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmI2NTZiYWM2NGFkYTY0ZmEyMjFlOWY0OGZiZjhhYjkzMzRiNzkzNGVmYjk3OWQ3NThkZjRkMGMxYmQxNzY5NSJ9fX0=
          name: '&#9B60FD&lᴍᴇᴅᴜsᴀ'
          lore:
            - '&8ᴇхᴏᴛɪᴄ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 120-200
      '8':
        chance: 10
        level-requirement: 0
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGZiYmQxYjExZGM3YTA3MTZlZDMxNWEzZTFiMjhmODllMDUwZjUyNDQ4MTAyZTI0ZTE4NzA2MjZjOWE4MTcyMyJ9fX0=
          name: '&#A3BEE8&lѕʜᴀʀᴋ'
          lore:
            - '&8ᴇхᴏᴛɪᴄ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 100-210
      '9':
        chance: 5
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2FmNzIyMTc5ODU0NmY4ZjllNzZhNmEzZWUzYjE3NjczNGU5ZDVmMTdkYmNiMDg1OTgxOTQxNzU4Njk4NjQzNiJ9fX0=
          name: '&#2893FF&lᴡʜᴀʟᴇ'
          lore:
            - '&8ᴇхᴏᴛɪᴄ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 2500-3000
      '10':
        chance: 5
        lava-drop: true
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTE0MGM0MmZjM2ExYmEyZmU3N2M0NWI5NzVmYTg3ZThmNTRhMWIxODMzYmM3NmU2MzM5YjRjMjYyMzA0MDExZCJ9fX0=
          name: '&#B0952A&lꜰʟʏꜰɪѕʜ'
          lore:
            - '&8ᴄᴏᴍᴍᴏɴ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 17-30
      '11':
        chance: 5
        lava-drop: true
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjU2YjU5NTViMjk1NTIyYzk2ODk0ODE5NjBjMDFhOTkyY2ExYzc3NTRjZjRlZTMxM2M4ZGQwYzM1NmQzMzVmIn19fQ==
          name: '&#FF6600&lᴍᴀɢᴍᴀꜰɪѕʜ'
          lore:
            - '&8ʀᴀʀᴇ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 200-500
      '12':
        chance: 5
        lava-drop: true
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTIzZTBhMjUwNDhiNjBhMmNjMDkyZjcyOTQzMTU5ZWMxNzAwNjNiYjIzNWFhNzk2OTBlZjM0YWIxODFkNjkxIn19fQ==
          name: '&#8E9091&lѕᴋᴇʟᴇᴛᴏɴ ꜰɪѕʜ'
          lore:
            - '&8ʀᴀʀᴇ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 200-500
      '13':
        chance: 5
        lava-drop: true
        item:
          material: RAW_FISH
          base64:
            enabled: true
            value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDlhNTI2NzNjNzdhYzA3OWVkMzQ3MmI2OWZlNGU5MWJkMjgwMTlmMjhmM2U5ZDg1YmY5NGRmYWQ2ZTM5OGM0ZiJ9fX0=
          name: '&#8E9091&lᴘɪɴᴇᴀᴘᴘʟᴇ ꜰɪѕʜ'
          lore:
            - '&8ᴇхᴏᴛɪᴄ ᴛɪᴇʀ'
            - '&7'
            - '&#2893FF▶ {length}'
        amount: 1
        size: 2000-5000
```

Possible Loot

<pre class="language-yaml"><code class="lang-yaml"><strong>   custom-loot:
</strong>    enabled: true
    chance: 100
    rewards:
      #Must have atleast one reward with level-requirement:0
      '1':
        size: 2000-5000 
        lava-drop: true
        ############################## 
        level-requirement: 5
        chance: 3
        commands:
         - '[sound]ENTITY_LEVEL_UP;1.0;1.0'
         - '[message]&#x26;7Example Message %player%'
         - '[broadcast]&#x26;7Example Message %player%'
         - '[json]{"text":"Message"}'
        permission: 'needed-permission'
        exp: 10-20 #Minecraft EXP
        xp: 10-20 #Tool XP
        use-price: false # Set to true if using sell-price: instead of length
        sell-price: 100-200
        amount: 1-3
        regions:
          - 'worldguardregions'
        prestige-requirement: 2
        level-requirement: 3
        exact-level: 2
        essence: 200
        item:
         name: ''
       ############################## 
         material: RAW_FISH
       ############################## 
         base64:
            enabled: true
            value: '' #https://minecraft-heads.com/custom-heads
       ############################## 
         skull:
            enabled: true
            name: Steve
       ############################## 
         lore: 
          - '&#x26;7Lore'
          - '&#x26;7Lore'
       ############################## 
         glow: true
       ############################## 
         enchants: # Enchants https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html
          - 'DURABILITY:10'
       ############################## 
         flags:  # ItemFlags https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/ItemFlag.html
          - 'HIDE_ENCHANTS' 
       ##############################
         nbt: 
          integer:
            key: 'nbtitem'
            value: '1'
       ##############################  
         nbt: 
          string:
            key: 'nbtitem'
            value: 'Item'
       ############################## 
         nbt: 
          boolean:
            key: 'nbtitem'
            value: true
        ############################## 
        customdata: 1 # For Custom Textures 1.16+
        customModelData: 1 # For Custom Textures 1.16+
        
        
</code></pre>


# API

**Events**

```
RodEssenceReceiveEvent
```

{% hint style="success" %}
API: <https://docs.rivaldev.xyz/general/apis>
{% endhint %}


# Rival Mob Swords


# Installation

## Before Starting the server

* Place the latest **RivalMobSwords.jar** in your plugins folder.
* Make sure to download all the dependencies for your Server Version and add them to your plugins folder.
* Start your server and the Plugin will be loaded.

## Dependencies

1.16.5+: [WorldGuard](https://dev.bukkit.org/projects/worldguard/files/3342964), [NBTAPI](https://www.spigotmc.org/resources/nbt-api.7939/), [Vault](https://www.spigotmc.org/resources/vault.34315/), PlaceholderAPI


# Placeholders

**Placeholder List:**

**Essence:**

* %rivalhoes\_essence% - Raw Essence
* %rivalhoes\_essence\_formatted% - Formatted Essence
* %rivalhoes\_essencetop\_position% - Essence Position
* %rivalhoes\_essencetop\_name\_\<place>% - Get Name of Player
* %rivalhoes\_essencetop\_value\_\<place>% - Get Value of Place

**Essence RivalMobSwordsEconomy:**

* %rivalmobswords\_essence% - Raw Essence
* %rivalmobswords\_essence\_formatted% - Formatted Essence
* %rivalmobswords\_essencetop\_position% - Essence Position
* %rivalmobswords\_essencetop\_name\_\<place>% - Get Name of Player
* %rivalmobswords\_essencetop\_value\_\<place>% - Get Value of Place

**Mob Top:**

* %rivalmobswords\_mobs% - Raw Mobs
* %rivalmobswords\_mobs\_formatted% - Formatted Mobs
* %rivalmobswords\_mobtop\_name\_\<place>% - Get Name of Player
* %rivalmobswords\_mobtop\_value\_\<place>% - Get Value of Place
* %rivalmobswords\_mobtop\_position% - Get the position of Player on the leaderboard

#### Mob Event:

* %rivalmobswords\_mobevent\_time\_next% - Returns time until next event formatted m/s
* %rivalmobswords\_mobevent\_time\_long% - Returns time until next event formatted minute/second
* %rivalmobswords\_mobevent\_time\_left% - Return time left of the current mob event
* %rivalmobswords\_mobevent\_active% - Returns "true" if active, false if not
* %rivalmobswords\_mobevent\_broken% - Returns amount of Mobs Killed in Mob Event
* %rivalmobswords\_mobevent\_position% - Returns current position in the Mob Event
* %rivalmobswords\_is\_mobsword% - Returns "true" if mobsword in hand, "false" if not<br>

For Placeholders you will need [PlaceholderAPI](broken://pages/nZybHQMKVwGG6nzWrypm),  for updating Holograms use [HolographicDisplays ](https://dev.bukkit.org/projects/holographic-displays)& [HolographicExtension](https://www.spigotmc.org/resources/holographicextension.18461/) to make updating Placeholders


# Commands and Permissions

Main Permissions: `rivalmobswords.main - rivalmobswords.admin`

Hoe Commands:

| COMMANDS                 |             DESCRIPTION             | PERMISSIONS               |
| ------------------------ | :---------------------------------: | ------------------------- |
| /mobsword give           |     Give a mob sword to a player    | rivalmobswords.give       |
| /mobsword about          |      View info about the plugin     | -                         |
| /mobsword stats          |        View Stats of a player       | rivvalmobswords.stats     |
| /mobsword info           |      View Enchants on Mob Sword     | rivalmobswords.info       |
| /mobsword reload         |          Reload all configs         | rivalmobswords.reload     |
| /mobsword mobevent start |   Start the mob sword competition   | vralmobswords.mobevent    |
| /mobsword calculate      | Calculate Essence price for Enchant | rivalmobswords.calculate  |
| /mobsword admin          |  Open the Admin Panel for Mob Sword | rivalmobswords.admin      |
| /mobsword setenchant     |    Set a enchant to the mob sword   | rivalmobswords.setenchant |
| /mobsword max            |  Give a mob sword with max enchants | rivalmobswords.max        |
| /mobsword setowner       |  Change the Owner of the Mob Sword  | rivalmobswords.setowner   |
| /mobsword testchance     |     Test the Chance of Enchants     | rivalmobswords.testchance |

Mob Commands:&#x20;

<table><thead><tr><th width="341.7936342290634" align="center">COMMANDS</th><th align="center">DESCRIPTION</th></tr></thead><tbody><tr><td align="center">/mob balance &#x3C;player> </td><td align="center">View Mobs Killed Balance</td></tr><tr><td align="center">/mob set &#x3C;player> &#x3C;amount></td><td align="center">Set Player's Mob amount</td></tr><tr><td align="center">/mob top</td><td align="center">View Mob Top Leaderboard</td></tr><tr><td align="center">/mob force</td><td align="center">Force save Mob Data</td></tr></tbody></table>

Other Commands:

* /mkillers- Shows all current players using Mob Swords
* /mobevent- Shows your current mobs killed, time left and current leaderboard


# Configurations

{% content-ref url="/pages/AZ4SsOjYeEfHX9yyg9P9" %}
[config.yml](/rival-tools/rival-mob-swords/configurations/config.yml)
{% endcontent-ref %}

{% content-ref url="/pages/dXIt7HGsU9h1iDodOId9" %}
[enchants.yml](/rival-tools/rival-mob-swords/configurations/enchants.yml)
{% endcontent-ref %}

{% content-ref url="/pages/ivV1aiMdjCnEB0SPKtV1" %}
[leaderboards.yml](/rival-tools/rival-mob-swords/configurations/leaderboards.yml)
{% endcontent-ref %}


# config.yml

```yaml
Main:
  # Time is in Ticks: 1 second = 20 ticks
  Money-Giver:
    time: 200
  # If set to true, it uses crop prices from ShopGUIPlus, if a Crop is missing it defaults to config price
  shopguiplus-hook: true
  # ShopGUIPlus hook must be enabled for this to work
  shopguiplus-multipliers: true
  #Keep mobsword after dying
  keep-on-death: true
  # Prevents player from using the mobsword if he is not the owner
  perplayermobsword: true
  # Disables player from upgrading mobsword if he is not the owner
  perplayermobsword-upgrades: true
  on-join-mobsword:
    enabled: true
    enchants: none
  filler:
    material: LIGHT_BLUE_STAINED_GLASS_PANE
Mobs:
  BLAZE:
    essence: 3
    money: 3
  ZOMBIE:
    essence: 3
    money: 4
  SILVERFISH:
    essence: 200
    money: 50
Sounds:
  use-sounds: true
  main-menu-open: ORB_PICKUP;1.0;1.0
  enchant-purchase: LEVEL_UP;1.0;1.0
  enchant-disenchant: ITEM_BREAK;1.0;1.0
  enchant-maxlevel: ANVIL_LAND;1.0;1.0
  captcha-fail: ANVIL_LAND;1.0;1.0
  captcha-success: LEVEL_UP;1.0;1.0
  mobsword-levelup: LEVEL_UP;1.0;1.0
  mobsword-levelup-max: WITHER_SHOOT;1.0;1.0
MainMenu:
  name: '&8ServerName » Mob Sword'
  size: 27
  mobsword-preview-slot: 4
  mobsword-preview-enabled: true
  settings-enabled: true
  disenchanter-enabled: true
  enchants-display: false
  mobtop-mainmenu: true
  essencetop-mainmenu: true
  stats-enabled: true
  stats-slot: 10
  enchants-display-slot: 12
  upgrades-slot: 13
  settings-slot: 16
  mobtop-slot: 21
  essencetop-slot: 23
GUI:
  back-enchanter:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l<!> &c&lGo Back'
    lore:
      - '&7&o(( Click to go back to main menu ))'
    enabled: true
    slot: 36
  back-disenchanter:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l<!> &c&lGo Back'
    lore:
      - '&7&o(( Click to go back to enchanter))'
    enabled: true
    slot: 36
  already-have:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cAlready have the enchant'
    lore:
      - '&7&o(( Your mobsword already has this enchant ))'
    message: '&4&l[!] &fYou &calready &fhave this enchant.'
  purchased:
    material: EMERALD_BLOCK
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODZhZGRiZDVkZWRhZDQwOTk5NDczYmU0YTdmNDhmNjIzNmE3OWEwZGNlOTcxYjVkYmQ3MzcyMDE0YWUzOTRkIn19fQ==
    name: '&2&l[!] &aPurchased Enchant'
    lore:
      - '&7&o(( You have purchased this enchant for your mobsword ))'
    message: '&2&l[!] &fYou have purchased the {enchant} &fenchant'
  no-level:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cMob Sword Level too low'
    lore:
      - '&7&o(( Your mobsword level is too low ))'
    message: '&4&l[!] &cYour mobsword &flevel &cis too low.'
    leveled-up: '&2&l[!] &fYou have &aleveled up &fyour mobsword to level
      &a{level}&f.'
  no-essence:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cNot enough Essence'
    lore:
      - '&7&o(( You dont have enough essence ))'
    message: '&3&l[!] &fYou don''t have enough &bessence &ffor this enchant.'
  max-level:
    material: BARRIER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2VkMWFiYTczZjYzOWY0YmM0MmJkNDgxOTZjNzE1MTk3YmUyNzEyYzNiOTYyYzk3ZWJmOWU5ZWQ4ZWZhMDI1In19fQ==
    name: '&4&l[!] &cMAX LEVEL'
    lore:
      - '&7&o(( This enchant is at its Max Level ))'
    message: '&4&l[!] &fThis enchant is at its &cmax &flevel.'
    message-exceeded: '&4&l[!] &fThis purchase would exceed the &cmax &flevel for
      this enchant.'
  upgrades-mainmenu:
    material: PAINTING
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzUzNjJmOTBmZjI5Y2NkNDBmNDIzNWEwNWRkOTFkZjA5MWNmNDNmM2EyZjcxNDE0ZGZiYmNhNmU1ZDM2MzRkOSJ9fX0=
    name: '&3&l[!] &b&lUpgrade'
    lore:
      - '&7&o(( Click to view all upgrades. ))'
  disenchanter-mainmenu:
    material: PAINTING
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzUzNjJmOTBmZjI5Y2NkNDBmNDIzNWEwNWRkOTFkZjA5MWNmNDNmM2EyZjcxNDE0ZGZiYmNhNmU1ZDM2MzRkOSJ9fX0=
    gui-name: '&8ServerName » MobSword Disenchanter'
    gui-size: 45
    name: '&3&l[!] &b&lDisenchanter'
    lore:
      - '&7&o(( Click to disenchant your enchants. ))'
  settings-mainmenu:
    material: QUARTZ
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGUxNTBhYjdjMDE4NDZmNDgwODk3ZmJkMzVmMDUyNWNhZWI1MmFhNjI0Zjk2NzAwOTVmMzk2MTA1ODkzZGFjYiJ9fX0=
    name: '&3&l[!] &b&lSettings'
    lore:
      - '&7&o(( Click to enable/disable features. ))'
  mobtop-mainmenu:
    material: QUARTZ
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzAyY2IyMTdkODI5ZGMzNTYyODM5MThlNzE0NDZhOGI5YTg5Y2M5N2M3YzFhMjEzNWE1Mjc2ZmJiMDU1NGU2YSJ9fX0=
    name: '&3&l[!] &b&lMob Top Leaderboards'
    lore:
      - '&7&o(( Click to view the mob top leaderboard. ))'
  essencetop-mainmenu:
    material: MAGMA_CREAM
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjgwOWQyZTY5NjEwZjFlNmI3NWZlMGQ0NTk4ZTQ0MWU1NjAzMjVkMmQ1MmQ5N2NmNjY4NTljNDRmYTNkOGE3OSJ9fX0=
    name: '&3&l[!] &b&lEssence Top'
    lore:
      - '&7&o(( Click to view essence top leaderboard. ))'
  # /mkillers GUI - Shows players currently using mob swords
  mkillers-mainmenu:
    gui-name: '&8ServerName » Mob Killers'
    item:
      lore:
        - '&f● &bMoney: &2$&a{money}'
        - '&f● &bEssence: &6❋&e{essence}'
        - ''
        - '&f● &bTotal Mobs killed: &f{kills}'
        - ''
        - '&7&o(( Click to teleport to player ))'
    color: '&f&l'
    pages:
      name: '&f&lPAGES'
      base64:
        enabled: false
        value: ''
      material: BOOK
    next-page:
      material: EMERALD
      base64:
        enabled: false
        value: ''
      name: '&2[!] &a&lNEXT PAGE -->'
      lore:
        - '&7&o(( Click to go to the next page ))'
    return-page:
      material: REDSTONE
      base64:
        enabled: false
        value: ''
      name: '&4[!] &c&lGO BACK <--'
      lore:
        - '&7&o(( Click to go back ))'
  # Mob Sword Settings Menu
  settings-menu:
    name: '&8ServerName » Mob Sword Settings'
    size: 27
    autosell-message-chat-enabled:
      slot: 11
      material: SIGN
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmY3NWQxYjc4NWQxOGQ0N2IzZWE4ZjBhN2UwZmQ0YTFmYWU5ZTdkMzIzY2YzYjEzOGM4Yzc4Y2ZlMjRlZTU5In19fQ==
      name: '&3&l[!] &b&lAutoSell Chat Message'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    autosell-message-chat-disabled:
      material: SIGN
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmY3NWQxYjc4NWQxOGQ0N2IzZWE4ZjBhN2UwZmQ0YTFmYWU5ZTdkMzIzY2YzYjEzOGM4Yzc4Y2ZlMjRlZTU5In19fQ==
      name: '&3&l[!] &b&lAutoSell Chat Message'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    keyfinder-messages-enabled:
      slot: 13
      material: TRIPWIRE_HOOK
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIxNWU4ZWJlZmYwYTIwMDhmMTRiZGEwNzJmNzU2MTVkYWNhYzBjNGRhYmM5MGQ5ZDUyY2MzMjE0ZTVjNTM1NyJ9fX0=
      name: '&3&l[!] &b&lKey Finder Message'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    keyfinder-messages-disabled:
      material: TRIPWIRE_HOOK
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIxNWU4ZWJlZmYwYTIwMDhmMTRiZGEwNzJmNzU2MTVkYWNhYzBjNGRhYmM5MGQ5ZDUyY2MzMjE0ZTVjNTM1NyJ9fX0=
      name: '&3&l[!] &b&lKey Finder Message'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    spawnerfinder-messages-enabled:
      slot: 14
      material: MOB_SPAWNER
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ3ZTJlNWQ1NWI2ZDA0OTQzNTE5YmVkMjU1N2M2MzI5ZTMzYjYwYjkwOWRlZTg5MjNjZDg4YjExNTIxMCJ9fX0=
      name: '&3&l[!] &b&lSpawner Finder Message'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    spawnerfinder-messages-disabled:
      material: MOB_SPAWNER
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ3ZTJlNWQ1NWI2ZDA0OTQzNTE5YmVkMjU1N2M2MzI5ZTMzYjYwYjkwOWRlZTg5MjNjZDg4YjExNTIxMCJ9fX0=
      name: '&3&l[!] &b&lSpawner Finder Message'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    essencepouch-messages-enabled:
      slot: 15
      material: GOLD_INGOT
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTMzZTkyYjA2NTcxOTZjYmExODZjZTc0ZjIwMzhiOTNiZThlNDI1MWFlMmNhYTNlYmY1MWNkZWYwM2E3NDM4NCJ9fX0=
      name: '&3&l[!] &b&lEssence Pouch Message'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    essencepouch-messages-disabled:
      material: GOLD_INGOT
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTMzZTkyYjA2NTcxOTZjYmExODZjZTc0ZjIwMzhiOTNiZThlNDI1MWFlMmNhYTNlYmY1MWNkZWYwM2E3NDM4NCJ9fX0=
      name: '&3&l[!] &b&lEssence Pouch Message'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    moneypouch-messages-enabled:
      slot: 12
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZlMGQ1ZmU4N2QyZDIxZTJiZGU2Mzc0NDI1YTM0MWE3NTczYjM3NWQ1YmI3ZDQ3ZjRiOGRhZTM1Mjk3ZWE0In19fQ==
      name: '&3&l[!] &b&lMoney Pouch Message'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    moneypouch-messages-disabled:
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZlMGQ1ZmU4N2QyZDIxZTJiZGU2Mzc0NDI1YTM0MWE3NTczYjM3NWQ1YmI3ZDQ3ZjRiOGRhZTM1Mjk3ZWE0In19fQ==
      name: '&3&l[!] &b&lMoney Pouch Message'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    actionbar-messages-enabled:
      slot: 21
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzdlYTY3Njg2OTcxOGIxMWU4YTNhMTc0OTdjYzYzOGU2YThkYzFkMzFlNTM4MmZmZTNjZjk0YWFlNzE3YWRhZiJ9fX0=
      name: '&3&l[!] &b&lActionBar Messages'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    actionbar-messages-disabled:
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzdlYTY3Njg2OTcxOGIxMWU4YTNhMTc0OTdjYzYzOGU2YThkYzFkMzFlNTM4MmZmZTNjZjk0YWFlNzE3YWRhZiJ9fX0=
      name: '&3&l[!] &b&lActionBar Messages'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    title-messages-enabled:
      slot: 23
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjgwOGQ5MjEzYWY5ZTIyMzVhMDgyOGMyOWZiODA2MGVkMGUzYTdhZjI5ZGJkNWI1YTkyYWI5NjRjZjhhNTRlYSJ9fX0=
      name: '&3&l[!] &b&lTitle Messages'
      lore:
        - '&f● &7Status: &aEnabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
    title-messages-disabled:
      material: BLAZE_ROD
      base64:
        enabled: true
        value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjgwOGQ5MjEzYWY5ZTIyMzVhMDgyOGMyOWZiODA2MGVkMGUzYTdhZjI5ZGJkNWI1YTkyYWI5NjRjZjhhNTRlYSJ9fX0=
      name: '&3&l[!] &b&lTitle Messages'
      lore:
        - '&f● &7Status: &cDisabled'
        - ''
        - '&7&o(( Click to toggle this message. ))'
  stats-mainmenu:
    material: NETHER_STAR
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTQ4MGQ1N2IwZDFkNDMyZTA3NDg3OGM2YWVjNWY0NWEyY2U5OGQ5YzQ4MWZiOGNjODM4MmNmZjE3MWY4MzY5OSJ9fX0=
    name: '&3&l[!] &b&lStats'
    lore:
      - ''
      - '&f&lMob Sword Stats'
      - '&f&l● &bMob Sword Owner: &f{owner}'
      - '&f&l● &bMobs Killed: &f{kills}'
      - ''
      - '&f&lYour Stats'
      - '&f&l● &bCurrent Essence: &6❋&e{currentessence}'
# Mob Sword Levels
MobSword-Levels:
  '1':
    mobs-needed: 500
  '2':
    mobs-needed: 2000
  '3':
    mobs-needed: 2300
  '4':
    mobs-needed: 2600
  '5':
    mobs-needed: 2900
  '6':
    mobs-needed: 3200
  '7':
    mobs-needed: 3500
  '8':
    mobs-needed: 3800
  '9':
    mobs-needed: 4100
  '10':
    mobs-needed: 4500
# mobsword Item Settings
MobSword-Settings:
  name: '&3&l<!> &b&lMob Sword &3&l<!>'
  # Possible types: WOODEN, STONE, IRON, GOLDEN, DIAMOND
  type: DIAMOND
  autosell: '&8(&fAutoSell&8)'
  collect: '&8(&fCollect&8)'
  lore:
    - '&f&lSTATS'
    - ' &f&l● &bOwner: &f{owner}'
    - ' &f&l● &bLevel: &f{level}'
    - ' &f&l● &bProgress: &8[{progress}&8] &f{percentage}%'
    - ''
    - '&7&o(( Shift Right-Click to upgrade ))'
    - '&7&o(( Shift Left-Click to change mode ))'
    - ''
    - '&f&lENCHANTS'
    - '&2&l● %enchant-AutoSell%'
    - '&2&l● %enchant-MoneyPouch%'
    - '&2&l● %enchant-MoneyBooster%'
    - '&6&l● %enchant-EssencePouch%'
    - '&6&l● %enchant-EssenceBooster%'
    - '&6&l● %enchant-Haste%'
    - '&3&l● %enchant-EXPFinder%'
    - '&3&l● %enchant-SpawnerFinder%'
    - '&3&l● %enchant-KeyFinder%'
    - '&8&l● %enchant-EXPBooster%'
    - '&4&l● %enchant-Strength%'
    - '&4&l● %enchant-Looting%'
    - '&4&l● %enchant-MobSmasher%'
  opened-gui: '&3&l[!] &bOpened &fMob Sword &bUpgrade GUI.'
  changed-mode: '&3&l[!] &bChanged Mob Sword mode to &f{mode}.'
  no-mobsword: '&4&l[!] &cYou are not holding a Mob Sword.'
  opened-gui-message: true
  glow: true
  mobsword-info:
    name: '&3&l[!] &b&lEnchants'
    material: BEACON
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQzZjUyMGM4NTZiYzdhMDM2NGUwZWRlNzI5ZmI0OWQ2ZGMwNDZjZjdkOGY1NjQ5NGQwYzJmMjg2YjYyMzUzMSJ9fX0=
    lore:
      - ''
      - '&f&lENCHANTS'
      - '&2&l● %enchant-AutoSell%'
      - '&2&l● %enchant-MoneyPouch%'
      - '&2&l● %enchant-MoneyBooster%'
      - '&6&l● %enchant-EssencePouch%'
      - '&6&l● %enchant-EssenceBooster%'
      - '&6&l● %enchant-Haste%'
      - '&3&l● %enchant-EXPFinder%'
      - '&3&l● %enchant-SpawnerFinder%'
      - '&3&l● %enchant-KeyFinder%'
      - '&8&l● %enchant-EXPBooster%'
      - '&4&l● %enchant-Strength%'
      - '&4&l● %enchant-Looting%'
      - '&4&l● %enchant-MobSmasher%'
      - ''
command:
  mobsword:
    default:
      - '&f&l[!] &b&lMobSword Commands '
      - ' &8● &f/mobsword &7about'
      - ' &8● &f/mobsword &7info'
      - ' &8● &f/mobsword &7stats'
    admin:
      - '&f&l[!] &b&lMobSword Admin Commands '
      - ' &8● &f/mobsword &7give <player> <enchant:level>,<enchant:level>,<level:level>'
      - ' &8● &f/mobsword &7max <player>'
      - ' &8● &f/mobsword &7testchance <enchant> <levels> <kills>'
      - ' &8● &f/mobsword &7calc <enchant> <levels>'
      - ' &8● &f/mobsword &7admin'
      - ' &8● &f/mobsword &7reload'
# Permissions - add rivalmobswords.main to give access to commands, rivalmobswords.admin permission for admin commands
permissions:
  mobsword-testchance: rivalmobswords.testchance
  mobsword-stats: rivalmobswords.stats
  mobsword-reload: rivalmobswords.reload
  mobsword-info: rivalmobswords.info
  mobsword-give: rivalmobswords.give
  mobsword-mobevent: rivalmobswords.mobevent
  mobsword-calculate: rivalmobswords.calculate
  mobsword-admin: rivalmobswords.admin
  mobsword-max: rivalmobswords.max
  mobsword-setenchant: rivalmobswords.setenchant
  mobsword-setowner: rivalmobswords.setowner
  mob-balance: rivalmobswords.mob.balance
  mob-force: rivalmobswords.mob.force
  mob-set: rivalmobswords.mob.set
  mob-event: rivalmobswords.mob.event
  mkillers: rivalmobswords.mkillers
  mob-event-command: rivalmobswords.mob.command
  no-permission: '&4&l[!] &cYou do not have access to that command.'
MobEvent:
  config:
    started-event: '&4&l[!] &7You have &astarted &7the Mob Event.'
    already-started: '&4&l[!] &7The Mob Event has already been started!'
    not-started: '&3&l[!] &7The &fMob Event &7has not started yet!'
  auto-start:
    enabled: true
    # Times in Seconds
    time: 2400
  lasts-time: 300
  message-started:
    - '[center]&3&lMob Event'
    - ''
    - '[center]&8● &7The Mob Event has started!'
    - '[center]&8● &7Ends in: &f5mins'
    - '[center]&7(( Top 5 Players with most mob kills will receive a reward! ))'
  places: 5
  message:
    - '[center]&3&lMob Event'
    - ''
    - '[center]&8● &7The Mob Killing Event has ended!'
    - ''
    - '[center]&a#1 &b&l{player-0} &8- &f{amount-0}'
    - '[center]&6#2 &b&l{player-1} &8- &f{amount-1}'
    - '[center]&c#3 &b&l{player-2} &8- &f{amount-2}'
    - '[center]&f#4 &b&l{player-3} &8- &f{amount-3}'
    - '[center]&f#5 &b&l{player-4} &8- &f{amount-4}'
    - '[center]&7(( Top 5 Players with most mob kills have received a reward! ))'
  current:
    - '[center]&3&lMob Event'
    - ''
    - '[center]&8● &7Current Leaderboard!'
    - ''
    - '[center]&a#1 &b&l{player-0} &8- &f{amount-0}'
    - '[center]&6#2 &b&l{player-1} &8- &f{amount-1}'
    - '[center]&c#3 &b&l{player-2} &8- &f{amount-2}'
    - '[center]&f#4 &b&l{player-3} &8- &f{amount-3}'
    - '[center]&f#5 &b&l{player-4} &8- &f{amount-4}'
    - '[center]&7(( Top 5 Players with most mob kills will receive a reward! ))'
    - ''
    - '[center]&3&lYour Mobs Killed: &f{current}'
    - '[center]&3&lTime Left: &f{time-left}'
    - ''
  rewards:
    '0':
      commands:
        - eco give {player} 500000
      message: '&3&lEVENT &8» &7You have placed in #1 Place and received a reward'
    '1':
      commands:
        - eco give {player} 400000
      message: '&3&lEVENT &8» &7You have placed in #2 Place and received a reward'
    '2':
      commands:
        - eco give {player} 300000
      message: '&3&lEVENT &8» &7You have placed in #3 Place and received a reward'
    '3':
      commands:
        - eco give {player} 200000
      message: '&3&lEVENT &8» &7You have placed in #4 Place and received a reward'
    '4':
      commands:
        - eco give {player} 100000
      message: '&3&lEVENT &8» &7You have placed in #5 Place and received a reward'
DefaultSettings:
  AutoSellChat: true
  KeyFinder: true
  SpawnerFinder: true
  MoneyPouch: true
  EssencePouch: true
  ActionBar: true
  Titles: true
Messages:
  cant-use: '&4&l[!] &fYou can''t use a &cMob Sword &fon this mob!'
  no-mobsword: '&4&l[!] &cYou must be holding a Mob Sword'
  per-player-mobsword: '&4&l[!] &fYou can''t use that &cMob Sword &fas you are not
    the &cOwner &fof the &cMob Sword&f.'
  full-inventory: '&4&l[!] &fYour inventory is full!'
  received-mobsword: '&3&l[!] &bYou have received a &fMob Sword&b.'
  given-mobsword: '&3&l[!] &bYou have given &f{player} &ba &fMob Sword&b.'
  inventory-full: '&4&l[!] &cYour inventory is full.'
  incorrect-usage: '&4&l[!] &cIncorrect Usage: &f{command}'
  invalid-number: '&4&l[!] &cYou didn''t enter a valid number.'
  invalid-player: '&4&l[!] &cYou have entered an invalid player name!'
  set-admin: '&4&l[!] &cYou set &f{player}''s&c Mobs amount to &f{value}&c.'
  set-player: '&4&l[!] &cYour &fMobs &camount has been set to &f{value}&c.'
  remove-admin: '&4&l[!] &cYou removed &f{value}&c Mobs from &f{player}''s &cbalance.'
  remove-player: '&4&l[!] &f{value} &cMobs have been taken from your account.'
  give-admin: '&4&l[!] &cYou have given &f{player} {value} &cMobs.'
  give-player: '&4&l[!] &cYou have been given &f{value}&c Mobs.'
  reset-admin: '&4&l[!] &cYou have reset &f{player}''s&c Mobs amount.'
  reset-player: '&4&l[!] &cYour &fMobs &camount has been reset.'
Features:
  modechanged-title:
    enabled: true
    title: '&3&l[!] &b&lMODE'
    title-noautosell: '&4&l[!] &c&lAUTOSELL'
    subtitle-noautosell: '&7You don''t have AutoSell on your Mob Sword'
    subtitle: '&7Changed mode to &8» &f{mode}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  modechanged-actionbar:
    enabled: true
    value: '&3&l[!] &b&lMODE &8» &7Changed mode to &f{mode}'
    value-noautosell: '&4&l[!] &c&lAUTOSELL &8» &7You don''t have AutoSell unlocked!'
    time: 80
  dropmobsword-title:
    enabled: true
    title: '&4&l[!] &c&lDROP'
    subtitle: '&7Press &cQ &7again to drop your mobsword!'
    fadeIn: 20
    fadeOut: 20
    time: 80
  dropmobsword-actionbar:
    enabled: true
    value: '&4&l[!] &c&lDROP &7Press &cQ &7again to drop your mobsword!'
    time: 80
  dropmobsword-messages:
    drop-mobsword-enabled: true
    message: '&4&l[!] &7Press &cQ &7in the next &c10 seconds &7to drop your mobsword!'
    time: 10
  levelup-title:
    enabled: true
    title: '&2&l[!] &a&lLEVEL UP'
    subtitle: '&7Leveled up your Mob Sword to level &f{level}&7!'
    fadeIn: 20
    fadeOut: 20
    time: 80
  levelup-actionbar:
    enabled: true
    value: '&2&l[!] &aYou have leveled up your Mob Sword to level &f{level}&a!'
    time: 80
  fullinventory-title:
    enabled: true
    title: '&4&l[!] &c&lINVENTORY'
    subtitle: '&7&o(( Your inventory is full! ))'
    fadeIn: 20
    fadeOut: 20
    time: 80
  fullinventory-actionbar:
    enabled: true
    value: '&4&l[!] &7Your inventory is full!'
    time: 80
  spawnerfinder-title:
    enabled: true
    title: '&3&l[!] &b&lSPAWNER FINDER'
    subtitle: '{reward}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  spawnerfinder-actionbar:
    enabled: true
    value: '&3&l[!] &b&lSpawner Finder: {reward}'
    time: 80
  keyfinder-title:
    enabled: true
    title: '&3&l[!] &b&lKEY FINDER'
    subtitle: '{reward}'
    fadeIn: 20
    fadeOut: 20
    time: 80
  keyfinder-actionbar:
    enabled: true
    value: '&3&l[!] &b&lKey Finder: {reward}'
    time: 80
```


# enchants.yml

```yaml
#######################################################
#  _____ _   _  ____ _   _    _    _   _ _____ ____   #
#  | ____| \ | |/ ___| | | |  / \  | \ | |_   _/ ___| #
# |  _| |  \| | |   | |_| | / _ \ |  \| | | | \___ \  #
# | |___| |\  | |___|  _  |/ ___ \| |\  | | |  ___) | #
# |_____|_| \_|\____|_| |_/_/   \_|_| \_| |_| |____/  #
#                                                     #
#######################################################
UpgradesMenu:
  name: '&8ServerName » Mob Sword Upgrades'
  size: 45
  noautosell: '&4&l[!] &cYou don''t have AutoSell unlocked.'
  hasenchant: '&4&l[!] &cYou already have that enchant.'
  noenchant: '&4&l[!] &cYou don''t have that enchant'
  bought: '&3&l[!] &bYou have purchased &f%level% level &bof %enchant% &bfor &e%essence%'
  refunded: '&3&l[!] &bYou have refunded the %enchant% Enchant &band received &e%essence%
    essence&b.'
  noenchantlevel: '&4&l[!] &fYou don''t have a any &cenchant &flevels to disenchant'
  no-essence: '&3&l[!] &bYou don''t have enough &eessence &bto purchase this enchant.'
  nolevel: '&3&l[!] &bYou must have Level &f%level% &bFishing mobsword to purchase
    this enchant.'
  mobsword-preview: true
  mobsword-preview-slot: 4
  mobsword-disenchanter-slot: 40
  disenchant-percentage: 90
Enchants:
  AutoSell:
    upgradable: true
    disenchanter: true
    name: '&a&lAuto Sell'
    material: EMERALD
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmY3NWQxYjc4NWQxOGQ0N2IzZWE4ZjBhN2UwZmQ0YTFmYWU5ZTdkMzIzY2YzYjEzOGM4Yzc4Y2ZlMjRlZTU5In19fQ==
    slot: 10
    price: 100000
    required-level: 0
    autosell-time: 60
    lore:
      - '&7&o(( Automatically sells all mob drops. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to purchase Auto Sell ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Automatically sells all mob drops. ))'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant ))'
    message:
      - ''
      - '&8&l● &b&lAuto Sell Summary'
      - '&7&o'
      - '&2● &aMoney Made: &2$&a{money}'
      - '&6● &eEssence Gained: &6❋&e{essence}'
      - ''
      - '&8&l● &b&lBoosters'
      - '&2● &aMoney Booster: &fx{money_boost}'
      - '&6● &eEssence Booster: &fx{essence_boost}'
      - '&8● &fEXP Booster: &fx{exp_boost}'
      - ''
      - '&7&o(( &f&o{items} &7&oitems were sold. ))'
      - '&7&o(( &f&o{mobs} &7&omobs were killed. ))'
    autosell-actionbar:
      enabled: true
      value: '&2&l[!] &a&lAutoSell: &a&l+ &2$&a{money}  &e&l+ &6❋&e{essence}'
      time: 80
    autosell-title:
      enabled: true
      title: '&2&l[!] &a&lAutoSell'
      subtitle: '&a&l+ &2$&a{money}  &e&l+ &6❋&e{essence}'
      fadeIn: 20
      fadeOut: 20
      time: 80
  KeyFinder:
    enabled: true
    disenchanter: true
    name: '&b&lKey Finder'
    material: TRIPWIRE_HOOK
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIxNWU4ZWJlZmYwYTIwMDhmMTRiZGEwNzJmNzU2MTVkYWNhYzBjNGRhYmM5MGQ5ZDUyY2MzMjE0ZTVjNTM1NyJ9fX0=
    slot: 11
    base-chance: 0.001
    increase-per-level: 7.0E-6
    price: 50
    price-increase: 80
    max-level: 1000
    required-level: 10
    lore:
      - '&7&o(( Chance to find crate keys ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Chance to find crate keys ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
    message-enabled: true
    message: '&3&l[!] &fYou have found {reward} &ffrom the &bKey Finder &fenchant.'
    rewards:
      '1':
        commands:
          - crates give %player% vote 1
        chance: 100
        name: '&b&l1X Vote Key'
      '2':
        commands:
          - crates give %player% solar 1
        chance: 100
        name: '&b&l1X Solar Key'
      '3':
        commands:
          - crates give %player% galactic 1
        chance: 100
        name: '&b&l1X Galactic Key'
      '4':
        commands:
          - crates give %player% lunar 1
        chance: 80
        name: '&b&l1X Lunar Key'
      '5':
        commands:
          - crates give %player% nova 1
        chance: 70
        name: '&b&l1x Nova Crate Key'
  EXPFinder:
    enabled: true
    disenchanter: true
    name: '&b&lEXP Finder'
    material: EXP_BOTTLE
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODdkODg1YjMyYjBkZDJkNmI3ZjFiNTgyYTM0MTg2ZjhhNTM3M2M0NjU4OWEyNzM0MjMxMzJiNDQ4YjgwMzQ2MiJ9fX0=
    slot: 14
    base-chance: 3.0
    increase-per-level: 0.003
    max-amount: 80
    min-amount: 40
    amount-increase-per-level: 0.003
    price: 150
    price-increase: 25
    max-level: 500
    required-level: 3
    lore:
      - '&7&o(( Chance to find xp ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Chance to find xp ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  SpawnerFinder:
    enabled: true
    disenchanter: true
    name: '&b&lSpawner Finder'
    material: SPAWNER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ3ZTJlNWQ1NWI2ZDA0OTQzNTE5YmVkMjU1N2M2MzI5ZTMzYjYwYjkwOWRlZTg5MjNjZDg4YjExNTIxMCJ9fX0=
    slot: 12
    base-chance: 0.005
    increase-per-level: 5.0E-5
    price: 150
    price-increase: 25
    max-level: 500
    required-level: 5
    lore:
      - '&7&o(( Chance to find spawners ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Chance to find spawners ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
    message: '&3&l[!] &fYou have found {reward} &ffrom the &bSpawner Finder &fenchant.'
    rewards:
      '1':
        commands:
          - stacker give -s %player% spawner blaze 1
        chance: 100
        name: '&b&l1X Blaze Spawner'
      '2':
        commands:
          - stacker give -s %player% spawner creeper 1
        chance: 100
        name: '&b&l1X Creeper Spawner'
      '3':
        commands:
          - stacker give -s %player% spawner iron_golem 1
        chance: 80
        name: '&b&l1X Iron Golem Spawner'
      '4':
        commands:
          - stacker give -s %player% spawner witch 1
        chance: 70
        name: '&b&l1X Witch Spawner'
      '5':
        commands:
          - stacker give -s %player% spawner villager 1
        chance: 60
        name: '&b&l1X Villager Spawner'
  EXPBooster:
    enabled: true
    disenchanter: true
    name: '&f&lEXP Booster'
    material: BLAZE_POWDER
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjE0ZWZjZTQ0MzFlMmFmYzYzNjQwYjUwZjc3ZmNlMWRmODYxNzU1N2U0ZGJkNmE2MWNkOTAyOTIyY2Q4OWQwNiJ9fX0=
    slot: 30
    boost-per-level: 0.01
    price: 100
    price-increase: 115
    max-level: 300
    required-level: 5
    lore:
      - '&7&o(( Boosts amount of exp per mob. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - '&f&l● &bBoost: &f%boost%x'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Boosts amount of exp per mob. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  MoneyBooster:
    enabled: true
    disenchanter: true
    name: '&a&lMoney Booster'
    material: EMERALD
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjQ5NzRlYzE5ZDQwZWVmOTJiMmU0YWUzMmFjN2I4NjQ2ZjM0ODljNTA4ZjUwYjE2ZjM4MzUyOTZlMmFkYTIifX19
    slot: 31
    boost-per-level: 0.01
    price: 100
    price-increase: 150
    max-level: 300
    required-level: 8
    lore:
      - '&7&o(( Boost money gained. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - '&f&l● &bBoost: &f%boost%x'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Boost money gained. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  EssenceBooster:
    enabled: true
    disenchanter: true
    name: '&e&lEssence Booster'
    material: GOLD_NUGGET
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjgwOWQyZTY5NjEwZjFlNmI3NWZlMGQ0NTk4ZTQ0MWU1NjAzMjVkMmQ1MmQ5N2NmNjY4NTljNDRmYTNkOGE3OSJ9fX0=
    slot: 32
    boost-per-level: 0.01
    price: 100
    price-increase: 125
    max-level: 300
    required-level: 8
    lore:
      - '&7&o(( Boost essence gained. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - '&f&l● &bBoost: &f%boost%x'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Boost essence gained. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  MoneyPouch:
    enabled: true
    disenchanter: true
    name: '&a&lMoney Pouch'
    material: BLAZE_ROD
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZlMGQ1ZmU4N2QyZDIxZTJiZGU2Mzc0NDI1YTM0MWE3NTczYjM3NWQ1YmI3ZDQ3ZjRiOGRhZTM1Mjk3ZWE0In19fQ==
    slot: 21
    max-amount: 50000
    min-amount: 2000
    base-chance: 0.004
    increase-per-level: 4.3E-4
    scale-per-level: 0.03
    price: 150
    price-increase: 20
    max-level: 1000
    required-level: 8
    message: '&3&lSWORD &8» &fYou have received &2$&a{amount} &ffrom &aMoney Pouch&f.'
    lore:
      - '&7&o(( Chance to find bulk amount of money. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Chance to find bulk amount of money. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  EssencePouch:
    enabled: true
    disenchanter: true
    name: '&e&lEssence Pouch'
    material: GOLD_INGOT
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTMzZTkyYjA2NTcxOTZjYmExODZjZTc0ZjIwMzhiOTNiZThlNDI1MWFlMmNhYTNlYmY1MWNkZWYwM2E3NDM4NCJ9fX0=
    slot: 23
    max-amount: 7000
    min-amount: 2000
    base-chance: 0.002
    increase-per-level: 2.3E-4
    scale-per-level: 0.03
    price: 150
    price-increase: 25
    max-level: 1000
    required-level: 10
    message: '&3&lSWORD &8» &fYou have received &6❋&e{amount} Essence &ffrom &eEssence
      Pouch&f.'
    lore:
      - '&7&o(( Chance to find bulk amount of essence. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Chance to find bulk amount of essence. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  Looting:
    enabled: true
    disenchanter: true
    name: '&4&lLooting'
    material: CLAY_BALL
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGY3ZDNkYTZhOWM2ZjRjYTFmNDgwNjJmNmY0ZDljM2YzZTJjZjEzM2U4Yzg1MjhiODc0ZGQ4Nzk2MjZhOTY3NiJ9fX0=
    slot: 22
    price: 5000
    price-increase: 9000
    boost-per-level: 1
    max-level: 8
    required-level: 0
    lore:
      - '&7&o(( Get more mob drops. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Get more mob drops. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  Haste:
    enabled: true
    disenchanter: true
    name: '&e&lHaste'
    material: CLAY_BALL
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGY1MGNkMzU0ODEzYmNlYzc3NDk5MzliNDFhZjhmY2Q1ZTlhOTUxNGQxM2Y2YWRhODViNWY2ODUyMWYxZTgifX19
    slot: 15
    price: 5000
    price-increase: 2000
    max-level: 5
    required-level: 0
    lore:
      - '&7&o(( Boosts your hitting speed. ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&8[%progress%&8] &f%percentage%%'
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Boosts your hitting speed. ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  Strength:
    enabled: true
    disenchanter: true
    name: '&c&lStrength'
    material: STONE
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGEyYTk1MTU5MmNjMjZjZjViNmQ5ZjY2YWUwMzQ5MTZmOWQyZTk3MjE2ZDQzYjNmYTExYzk3OWFmZDdkZjFhZCJ9fX0=
    slot: 16
    price: 2000
    price-increase: 200
    max-level: 3
    required-level: 0
    lore:
      - '&7&o(( Receive Strength while killing mobs))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Receive Strength while killing mobs))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  MobSmasher:
    enabled: true
    disenchanter: true
    name: '&c&lMob Smasher'
    material: BLAZE_ROD
    base64:
      enabled: true
      value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzZhMzNhOTdkNGVkNTI3OTkxZDAzYmZmNDM3YzNjMWQ3ZWE3OWNjZGYxNDdmYmU0NjlmZDZhMDMxZjc5MWFlMCJ9fX0=
    slot: 13
    base-chance: 0.504
    increase-per-level: 4.3E-4
    mobs-per-level: 2
    price: 1500
    price-increase: 6000
    max-level: 20
    required-level: 0
    lore:
      - '&7&o(( Chance to kill a bulk amount of mobs ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - '&7&o(( &f&oQ&7&o to add MAX levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Chance to kill a bulk amount of mobs ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
      - '&7&o(( &f&oQ&7&o to disenchant All levels ))'
  CustomEnchant1:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 1'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 1 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Custom Enchant 1 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant2:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 2'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 2 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Custom Enchant 2 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant3:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 3'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 3 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Custom Enchant 3 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20

  CustomEnchant4:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 4'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 4 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Custom Enchant 4 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant5:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 5'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 5 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Custom Enchant 5 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant6:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 6'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 6 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Custom Enchant 6 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant7:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 7'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 7 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Custom Enchant 7 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant8:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 8'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 8 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Custom Enchant 8 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
  CustomEnchant9:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 9'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 9 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Custom Enchant 9 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom   2
        chance: 20
  CustomEnchant10:
    enabled: false
    disenchanter: false
    name: '&b&lCustom Enchant 10'
    material: STONE
    base64:
      enabled: false
      value: ''
    slot: 13
    base-chance: 1.3
    increase-per-level: 0.003
    price: 2000
    price-increase: 200
    max-level: 500
    required-level: 0
    lore:
      - '&7&o(( Custom Enchant 10 ))'
      - ' '
      - '&f&l● &bPrice: &f%cost%'
      - '&f&l● &bMax Level: &f%max_level%'
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ' '
      - '&7&o(( &f&oLeft-Click&7&o to add 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to add 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to add 100 levels ))'
      - ' '
      - '&7You must have at least Level &c&l%sword_level% &7on your mob sword'
    disenchant:
      - '&7&o(( Custom Enchant 10 ))'
      - ''
      - '&f&l● &bCurrent Level: &f%current_level%'
      - ''
      - '&7&o(( &f&oLeft-Click&7&o to disenchant 1 level ))'
      - '&7&o(( &f&oRight-Click&7&o to disenchant 10 levels ))'
      - '&7&o(( &f&oMiddle-Click&7&o to disenchant 100 levels ))'
    rewards:
      '1':
        commands:
          - broadcast Custom 1
        chance: 20
      '2':
        commands:
          - broadcast Custom 2
        chance: 20
```


# leaderboards.yml

```yaml
# Configuration for the Mob Top Leaderboard
MobTop:
  hologram-no-player: No Player
  name: '&8ServerName » Mob Top'
  display:
    your-rank: '&3&l<!> &b&lYour Rank: &f&l#{rank} '
    your-lore:
      - ''
      - '&f● &bMobs Killed: &f{amount}'
    name: '&3&l<!> &f&l#{rank} &b&l{player}'
    lore:
      - ''
      - '&f● &bMobs Killed: &f{amount}'
    name-invalid: '&4&l<!>  &f&l#{rank} &c&l?????'
    lore-invalid:
      - ''
      - '&7&o(( No player yet ))'

Data:
  # Save all Data - Time in seconds
  save-data: 300
  broadcast: false
  permission: rival.admin.update
  message:
    - ''
    - '&2&l[!] &a&RivalMobSwords &8- &7Data has been saved successfully!'
    - ''

# Configuration for the Mob Balance Commands
Balance:
  Mobs:
    player-balance-format:
      - '&a&lYour Mobs Killed &8» &f{amount}'
      - '&7Kill mobs and compete on the /mob top leaderboards'
    others-balance-format:
      - '&a&l{player}''s Mobs Killed &8» &f{amount}'
      - '&7Kill mobs and compete on the /mob top leaderboards'

# /mobsword stats <player> command
MobSword-Stats:
  message:
    - '&a&l{player}''s Stats'
    - ''
    - '&2&lBALANCES'
    - '&8● &aMoney: &2$&a{balance}'
    - '&8● &aEssence: &6❋&e{essence}'
    - ''
    - '&2&lMOBS'
    - '&8● &aMobs Killed: &f{killed}'
Mobs-Commands:
  usage:
    - '&b&lMobs Commands'
    - '&8● &f/mob &7balance <player>'
    - '&8● &f/mob &7top'
```


# moblevels.yml

```yaml
Enabled: true
GUI-Size: 27
GUI-Name: '&8Mob Levels'
prestige-requirements: false
Mob-Levels:
  Level1:
    sword-level: 0
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTBhNGM5NGRkNjVhN2NhZGM0MTcyY2VkZjM5OTBhODU0Mjc3MmJiMTEzY2RmMWEwZjc4ZWY2NTJjNmFiZTZjYiJ9fX0='
    slot: 11
    name: '&2&l[!] &a&lLevel 1'
    lore:
      - ''
      - '&7Mobs you can kill:'
      - '&8* &7Cow'
      - '&8* &7Pig'
      - '&8* &7Sheep'
      - '&8* &7Zombie'
      - ''
      - '&2&lYOUR STATS'
      - '&8* &7Level: &f{current-level}'
      - '&8* &7Mobs Killed: &f{mobs-killed}'
      - '&8* &7Current XP: &f{current-xp}'
    mobs:
      - COW
      - PIG
      - SHEEP
      - ZOMBIE
  Level2:
    sword-level: 5
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTQ3YzU1MDY0ZjFkMDc2MjVhZjA1Y2RiYzBmYzdjODQxNzNiMTA1NDEwMjRjODg1NWVkNzEzMmNhNzc2NzI0NiJ9fX0='
    slot: 12
    name: '&5&l[!] &d&lLevel 2'
    lore:
      - ''
      - '&7Required Sword Level: &f5'
      - ''
      - '&7Mobs you can kill:'
      - '&8* &7Skeleton'
      - '&8* &7Spider'
      - '&8* &7Zombie Pigman'
      - '&8* &7Blaze'
      - ''
      - '&d&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&d&lYOUR STATS'
      - '&8* &7Level: &f{current-level}'
      - '&8* &7Mobs Killed: &f{mobs-killed}'
      - '&8* &7Current XP: &f{current-xp}'
    mobs:
      - SKELETON
      - SPIDER
      - PIG_ZOMBIE
      - BLAZE
  Level3:
    sword-level: 10
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDljYjk0ZDg3MjkxOTdhMThhNzY4ODJjMjQ5MThhOGMwNDQ5NGQzNDcyN2Y0ZGYwNjBmYjdhNDVhMWZmODUzNyJ9fX0='
    slot: 14
    name: '&3&l[!] &b&lLevel 3'
    lore:
      - ''
      - '&7Required Sword Level: &f10'
      - ''
      - '&7Mobs you can kill:'
      - '&8* &7Slime'
      - '&8* &7Magma Cube'
      - '&8* &7Silverfish'
      - '&8* &7Ghast'
      - ''
      - '&b&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&b&lYOUR STATS'
      - '&8* &7Level: &f{current-level}'
      - '&8* &7Mobs Killed: &f{mobs-killed}'
      - '&8* &7Current XP: &f{current-xp}'
    mobs:
      - SLIME
      - MAGMA_CUBE
      - SILVERFISH
      - GHAST
  Level4:
    sword-level: 20
    material: STONE
    base64:
      value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzZhZDc1NjVmYTY4OTQyZDJmZjVmMDRlZmRhODBkOWU5Zjg4ZDMzNDAxNjgwZjE4MmUwZjM3YWYzMmI4YzI5NCJ9fX0'
    slot: 15
    name: '&6&l[!] &e&lLevel 4'
    lore:
      - ''
      - '&7Required Sword Level: &f20'
      - ''
      - '&7Mobs you can kill:'
      - '&8* &7Witch'
      - '&8* &7Villager'
      - '&8* &7Iron Golem'
      - '&8* &7Creeper'
      - '&8* &7Enderman'
      - ''
      - '&e&lPROGRESS'
      - '{progress} &7(&f{percentage}%/100%&7)'
      - ''
      - '&e&lYOUR STATS'
      - '&8* &7Level: &f{current-level}'
      - '&8* &7Mobs Killed: &f{mobs-killed}'
      - '&8* &7Current XP: &f{current-xp}'
    mobs:
      - WITCH
      - VILLAGER
      - IRON_GOLEM
      - CREEPER
      - ENDERMAN

Messages:
  requirement:
    - '&7'
    - '&4&l[!] &cYou don''t meet the &f&nrequirements&r &cto kill this mob!'
    - '&4&l[!] &cYour sword needs to be &flevel {next-level} &cbut your current &flevel&c is &f{level}'
    - '&7'
```


# API

#### Events

```
SwordEssenceReceiveEnchantEvent 
SwordEssenceReceivePreEnchantEvent
```

{% hint style="success" %}
API: <https://docs.rivaldev.xyz/general/apis>
{% endhint %}


# Rival Omni Tool Addon

Purchase Link: https\://builtbybit.com/resources/rival-omni-tool-addon.29199/


# Rival Suits

Coming Soon


# Rival Pets

https\://www\.rivaldev.xyz/rivalpets


# Installation

## Before Starting the server

* Place the latest **RivalPets.jar** in your plugins folder.
* Make sure you have the latest dependencies,&#x20;

  ```
  NBTAPI, PlaceholderAPI, ProtocolLib
  ```
* Start your server and the Plugin will be loaded.


# Information

## Features

* Unlimited Pets
* *Per Player Pets*
* Owner Scrolls
* *Inventory or Virtual Pets*
* *Pet Sorting*
* *Pet Candies*
* *Pet Boxes*
* Pet Fusion
* Pet Slots
* Pet Storage
* Pet Cooldowns
* Pet Upgrades
* *HEX Color Support & more*

***

### Supported Plugins

```
RivalHarvesterHoes
RivalPickaxes
RivalMobSwords
RivalFishingRods
SuperMobCoins
ZithiumCollectors
AxGens
VoidChest
CyberLevels
AbyssEconomy
ShopGUIPlus
EDPrison
DeluxeSellwands
EconomyShopGUI & Premium
Scyther
WildTools
AureliumSkills
JobsReborn
OptimalSkills
WarriorMobCoins
ManifestCollector
CoralPrisons
AbyssCollectors
BattlePass
NextGens
WildTools
( Ask for any other to be added)

```

***

### Placeholders

* %rivalpets\_boostraw\_{buffname}% - Shows the current boost raw double
* %rivalpets\_boost\_{buffname}% - Shows the current boost formatted decimal
* %rivalpets\_boostpercentage\_{buffname}% - Shows the current boost  as a percentage
* %rivalpets\_toggleupgrade\_{upgradename}% - Returns true/false if upgrade is toggled on/off
* %rivalpets\_togglemessage\_{upgradename}% - Returns true/false if upgrade messages are toggled on/off
* %rivalpets\_storage% - Shows the current amount of pets in storage
* %rivalpets\_storage\_max% - Shows the max amount of pets in storage
* %rivalpets\_equipped% - Shows the current amount of pets the player has equipped
* %rivalpets\_equipped\_max% - Shows the max amount of pets the player can have active
* %rivalpets\_currency\_{name}% - Shows the raw amount of currency
* %rivalpets\_currency-formatted\_{name}% - Shows the amount of currency 1k, 1m
* %rivalpets\_currency-formatted-decimal\_{name}% - Shows the amount of currency 1,000

### Commands

* /pets give - rivalpets.give
* /pets buffs- rivalpets.buffs
* /pets givecandy- rivalpets.givecandy
* /pets givepetbox - rivalpets.givepetbox
* /pets giveownerscroll- rivalpets.giveownerscroll
* /pets giverarityscroll - rivalpets.giverarityscroll
* /pets givelevelscroll - rivalpets.givelevelscroll
* /pets giveslots- rivalpets.giveslots
* /pets givestorage- rivalpets.givestorage
* /pets hide- rivalpets.hide
* /pets reload- rivalpets.reload
* /pets setowner- rivalpets.setowner
* /pets setslots- rivalpets.setslots
* /pets setstorage- rivalpets.setstorage
* /pets toggle- rivalpets.toggle
* /pets about

Storage Permission "rivalpets.storage.#"

Slots Permission "rivalpets.slots.#"

## **Chat Display**

Permissions:

to use **\[pets]**  in chant if enabled permission : `rivalpets.show`

to click the message in chat if enabled: `rivalpets.preview`

Chat Format: config.yml - Chat-Display: format:&#x20;

***

## Pet Lore Example

```yaml
Inventory-Type:
  material: PLAYER_HEAD
  base64: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2I1M2I5ODJiNDlkYjljYWI4OTY2MzQyNmVjMGI3YjJhYjBkNjM4OTY0ZjkwY2MzYjYzOTE5MGRiNGY3ZmMxYyJ9fX0="
  name: '&c&lIron Man &4&lPet &7[Lvl. {level}]'
  lore:
    - "&8Common Rarity"
    - ""
    - "&7Owner: &f{owner}"
    - ""
    - "&c&lAbility"
    - " &7┣ Increase the chance of essence pouch"
    - " &7you gain by &a{boost-percent:rivalharvesterhoes-enchant-essencepouch}%"
    - ""
    - "&5&lEnhancement"
    - "{enhancement}"
    - ""
    - "&5&lMastery"
    - "&fMastery Level: {mastery}"
    - ''
    - '&5&lBoosts'
    - '{boost_level}'
    - '{boost_buff}'
    - '{boost_experience}'
    - ""
    - "&4&lInformation"
    - " &7┣ Level: &f{level} &8/ &f{max-level}"
    - " &7┣ Experience: &a{exp} &8/ &c{max-exp}"
    - " &7┣ {progress-bar}  &a{percent}%"
    - " &7┣ &7Tier: &fCommon"
    - " "
```

### Example Configs

Pet Config:

````yaml
```yaml
Settings:
  pet-identifier: "IronMan" # ID of pet
  pet-name: '&c&lIron Man Pet' # Name of pet
  pet-tier: 'Common' # Tier of pet, used for bulk delete
  pet-type: ACTION # or ACTIVATION, ACTION will give EXP when a buff event is triggered, ACTION will give when activated
  owner-locked: true # Locks the pet to the player it was given to
  cooldown: 0 # Cooldown between activating the pet
  allow-same-type: false # Allows the same type of pet to be activated at once
  blacklist: [] # Blocks activation of these pets while this pet is active
Lore-Addon:
  equipped:
    - '&e&lEQUIPPED'
    - '&6Click to unequip this pet'
  unequipped:
    - '&7&lCLICK HERE'
    - '&fClick to equip this pet'
  selected-deletion:
    - '&4&lSELECTED FOR DELETION'
    - '&cClick the confirm button to delete'
  bin-selected:
    - '&4&lSELECTED FOR BIN'
    - '&cClick the confirm button to convert to candy'
  bin-select:
    - '&7&lCLICK HERE'
    - '&fClick to select this pet'
  fusion-select:
    - '&7&lCLICK HERE'
    - '&fClick to select this pet'
  fusion-selected:
    - '&4&lSELECTED FOR FUSION'
    - '&cClick the confirm button to fuse these pets'
  inventory-deposit:
    - '&a&lRIGHT CLICK TO DEPOSIT'
    - '&7Right click to deposit this pet to storage!'
  pet-active:
    - '&a&lPET ACTIVE'
    - '&7Right click to deactivate this pet!'
  pet-inactive:
    - '&c&lPET INACTIVE'
    - '&7Right click to activate this pet!'
  pet-cooldown:
    - '&c&lPET COOLDOWN'
    - '&7This pet is on cooldown!'
Pet-Levels:
  max-level: 100 # The max level the pet can reach not including enchants
  xp-base: 50 # Base XP needed for level up
  xp-increase: 3000 # Increase of xp needed per pet level for level up math for max level xp is xp-base + xp-base * xp-increase
Pet-Display:
  name: '&c&lIron Man Pet &7[Lvl. {level}]'
  name-visiblity: true
  swing-hand: true
  model-engine: example_model
  offSet: 0.0
  equipment:
    chestplate:
      material: LEATHER_CHESTPLATE
      color:
        red: 252
        green: 28
        blue: 3
    helmet:
      material: PLAYER_HEAD
      base64: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2I1M2I5ODJiNDlkYjljYWI4OTY2MzQyNmVjMGI3YjJhYjBkNjM4OTY0ZjkwY2MzYjYzOTE5MGRiNGY3ZmMxYyJ9fX0='
    hand:
      material: DIAMOND_SWORD
      glow: true
Pet-Bin:
  candies:
    'CommonCandy':
      chance: 0.01
      amount: 1-3
      message:
        value: '&3&lPet Bin &8┣  &bYou have found &f{amount} &7&lCommon Pet Candy!'
        sound: 'LEVEL_UP:1:2'
    'RareCandy':
      chance: 0.001
      amount: 1-2
      message:
        value: '&3&lPet Bin &8┣  &bYou have found &f{amount} &b&lRare Pet Candy!'
        sound: 'LEVEL_UP:1:2'
Pet-Experience:
  activation:
    xp: 2
    xp-increase: 0.5
#BuffType:multiplier:multiplier-increase:xp:xp-increase
Buffs:
  - 'rivalharvesterhoes-enchant-essencepouch:0.05:0.01:2:0.2'
Inventory-Type:
  material: PLAYER_HEAD
  base64: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmMwODQ3NjVjNjJjMDNmMzQ3OWU3NTkyMDhjYTFlN2ZhOTlmNjc0ZDBjOGJlNzhhM2YxMGY1YjFlODY2Y2EyNCJ9fX0="
  name: '&d&lDragon &5&lPet &7[Lvl. {level}]'
  lore:
    - "&8Common Rarity"
    - ""
    - "&7Owner: &f{owner}"
    - ""
    - '&5&lEnhancement'
    - '{enhancement}'
    - ''
    - '&5&lMastery'
    - '&fMaster Level: {mastery}'
    - ''
    - '&5&lBoosts'
    - '{boost_level}'
    - '{boost_buff}'
    - '{boost_experience}'
    -
    - "&d&lAbility"
    - " &7┣ Increase the amount of essence"
    - " &7you gain by &a{boost-percent:rivalharvesterhoes-essence}%"
    - ""
    - "&5&lInformation"
    - " &7┣ Level: &f{level} &8/ &f{max-level}"
    - " &7┣ Experience: &a{exp} &8/ &c{max-exp}"
    - " &7┣ {progress-bar}  &a{percent}%"
    - " &7┣ &7Tier: &fCommon"
    - " "
    
Boost-Settings:
  default-placeholders:
    none-buff: '&#FF0000None'
    none-level: '&#FF0000None'
    none-experience: '&#FF0000None'
  boosts:
    F:
      chance: 10
      types:
        Level:
          minBoost: 1
          maxBoost: 4
          display: "&#979e06Level &8- %boost%% &8- &#808080&lꜰ ɢʀᴀᴅᴇ"
        Buff:
          minBoost: 1
          maxBoost: 3
          display: "&#850375Buff &8- %boost%% &8- &#808080&lꜰ ɢʀᴀᴅᴇ"
        Experience:
          minBoost: 10
          maxBoost: 20
          display: "&#068f9eExperience &8- %boost%% &8- &#808080&lꜰ ɢʀᴀᴅᴇ"
    E:
      chance: 20
      types:
        Level:
          minBoost: 5
          maxBoost: 9
          display: "&#979e06Level &8- %boost%% &8- &#00FF00&lᴇ ɢʀᴀᴅᴇ"
        Buff:
          minBoost: 4
          maxBoost: 6
          display: "&#850375Buff &8- %boost%% &8- &#00FF00&lᴇ ɢʀᴀᴅᴇ"
        Experience:
          minBoost: 21
          maxBoost: 30
          display: "&#068f9eExperience &8- %boost%% &8- &#00FF00&lᴇ ɢʀᴀᴅᴇ"
    D:
      chance: 30
      types:
        Level:
          minBoost: 10
          maxBoost: 14
          display: "&#979e06Level &8- %boost%% &8- &#FFFF00&lᴅ ɢʀᴀᴅᴇ"
        Buff:
          minBoost: 7
          maxBoost: 9
          display: "&#850375Buff &8- %boost%% &8- &#FFFF00&lᴅ ɢʀᴀᴅᴇ"
        Experience:
          minBoost: 31
          maxBoost: 40
          display: "&#068f9eExperience &8- %boost%% &8- &#FFFF00&lᴅ ɢʀᴀᴅᴇ"
    C:
      chance: 20
      types:
        Level:
          minBoost: 15
          maxBoost: 19
          display: "&#979e06Level &8- %boost%% &8- &#1E90FF&lᴄ ɢʀᴀᴅᴇ"
        Buff:
          minBoost: 10
          maxBoost: 12
          display: "&#850375Buff &8- %boost%% &8- &#1E90FF&lᴄ ɢʀᴀᴅᴇ"
        Experience:
          minBoost: 41
          maxBoost: 50
          display: "&#068f9eExperience &8- %boost%% &8- &#1E90FF&lᴄ ɢʀᴀᴅᴇ"
    B:
      chance: 10
      types:
        Level:
          minBoost: 20
          maxBoost: 24
          display: "&#979e06Level &8- %boost%% &8- &#8A2BE2&lʙ ɢʀᴀᴅᴇ"
        Buff:
          minBoost: 13
          maxBoost: 15
          display: "&#850375Buff &8- %boost%% &8- &#8A2BE2&lʙ ɢʀᴀᴅᴇ"
        Experience:
          minBoost: 51
          maxBoost: 60
          display: "&#068f9eExperience &8- %boost%% &8- &#8A2BE2&lʙ ɢʀᴀᴅᴇ"
    A:
      chance: 5
      types:
        Level:
          minBoost: 25
          maxBoost: 29
          display: "&#979e06Level &8- %boost%% &8- &#FFA500&lᴀ ɢʀᴀᴅᴇ"
        Buff:
          minBoost: 16
          maxBoost: 18
          display: "&#850375Buff &8- %boost%% &8- &#FFA500&lᴀ ɢʀᴀᴅᴇ"
        Experience:
          minBoost: 61
          maxBoost: 70
          display: "&#068f9eExperience &8- %boost%% &8- &#FFA500&lᴀ ɢʀᴀᴅᴇ"
    S:
      chance: 3
      types:
        Level:
          minBoost: 30
          maxBoost: 34
          display: "&#979e06Level &8- %boost%% &8- &#FF1493&lѕ ɢʀᴀᴅᴇ"
        Buff:
          minBoost: 19
          maxBoost: 22
          display: "&#850375Buff &8- %boost%% &8- &#FF1493&lѕ ɢʀᴀᴅᴇ"
        Experience:
          minBoost: 71
          maxBoost: 80
          display: "&#068f9eExperience &8- %boost%% &8- &#FF1493&lѕ ɢʀᴀᴅᴇ"
    SS:
      chance: 1
      types:
        Level:
          minBoost: 35
          maxBoost: 39
          display: "&#979e06Level &8- %boost%% &8- &#00FFFF&lѕѕ ɢʀᴀᴅᴇ"
        Buff:
          minBoost: 23
          maxBoost: 26
          display: "&#850375Buff &8- %boost%% &8- &#00FFFF&lѕѕ ɢʀᴀᴅᴇ"
        Experience:
          minBoost: 81
          maxBoost: 90
          display: "&#068f9eExperience &8- %boost%% &8- &#00FFFF&lѕѕ ɢʀᴀᴅᴇ"
    SSS:
      chance: 1
      types:
        Level:
          minBoost: 40
          maxBoost: 50
          display: "&#979e06Level &8- %boost%% &8- &#FF4500&lѕѕѕ ɢʀᴀᴅᴇ"
        Buff:
          minBoost: 27
          maxBoost: 30
          display: "&#850375Buff &8- %boost%% &8- &#FF4500&lѕѕѕ ɢʀᴀᴅᴇ"
        Experience:
          minBoost: 91
          maxBoost: 100
          display: "&#068f9eExperience &8- %boost%% &8- &#FF4500&lѕѕѕ ɢʀᴀᴅᴇ"
Pet-Mastery:
  max-prestige: 5
  level-boost-per-prestige: 5
  experience-boost-per-prestige: 0.5
  buff-boost-per-prestige: 0.5
  messages:
    broadcast:
      message:
        value: '&3&lRival&f&lPets &8➛ &3{player} &bhas reached pet mastery {level} for his {pet} pet&b!'
        sound: 'LEVEL_UP:1:2'
    message:
      message:
        value: '&3&lRival&f&lPets &8➛ &3You have reached {level} mastery for your {pet}'
        sound: 'LEVEL_UP:1:2'
  custom-requirements:
    enabled: false
    levels:
      '1':
        level: 100
        broadcast:
          message:
            value: '&3&lRival&f&lPets &8➛ &3{player} &bhas reached pet mastery {level} for his {pet} pet&b!'
            sound: 'LEVEL_UP:1:2'
      '2':
        level: 200
        broadcast:
          message:
            value: '&3&lRival&f&lPets &8➛ &3{player} &bhas reached pet mastery {level} for his {pet} pet&b!'
            sound: 'LEVEL_UP:1:2'
      '3':
        level: 300
        broadcast:
          message:
            value: '&3&lRival&f&lPets &8➛ &3{player} &bhas reached pet mastery {level} for his {pet} pet&b!'
            sound: 'LEVEL_UP:1:2'
      '4':
        level: 400
        broadcast:
          message:
            value: '&3&lRival&f&lPets &8➛ &3{player} &bhas reached pet mastery {level} for his {pet} pet&b!'
            sound: 'LEVEL_UP:1:2'
      '5':
        level: 500
        broadcast:
          message:
            value: '&3&lRival&f&lPets &8➛ &3{player} &bhas reached pet mastery {level} for his {pet} pet&b!'
            sound: 'LEVEL_UP:1:2'
Fusion-Settings:
  fusion-enabled: false #If the pets can be fused
  keep-level: true # Keeps highest level between the two pets
  keep-prestige: false
  keep-boosts: false
  keep-enhancement: false
  fuse-into: 'RareDragon' # Pet type it will be fused into Make sure it exists or some bad things will happen
  chance-increase: 0.3
  cost-increase: 5000
  info-placeholder: '&b&LFusing Tiers: &fCommon &7» &bRare'
  broadcast:
    message:
      value: '&3&lRival&f&lPets &8➛ &3{player} &bhas fused two pets into &9&lRare Tier&b!'
      sound: 'LEVEL_UP:1:2'
  message:
    message:
      value: '&3&lRival&f&lPets &8➛ &bYou have fused two {pet}''s into &9&lRare Tier&b!'
      sound: 'UI_TOAST_CHALLENGE_COMPLETE:0.3:2'
Messages:
  pet-leveled-up:
    message: "&2&l[&a&l!&2&l] &aYour &2{pet} &ahas levelled up to &7[Lvl. {level}]"
    sound: 'UI_TOAST_CHALLENGE_COMPLETE:0.3:2'
  pet-given:
    message: "&2&l[&a&l!&2&l] &aYou have given &f{player} &2{pet} &apet."
    sound: 'LEVEL_UP:1:2'
  pet-received:
    message: "&2&l[&a&l!&2&l] &aYou have been given a &2{pet} &apet."
    sound: 'LEVEL_UP:1:2'
  pet-activated:
    message: "&2&l[&a&l!&2&l] &aYou have activated your &2{pet} &apet."
    sound: 'LEVEL_UP:1:2'
  pet-deactivated:
    message: "&2&l[&a&l!&2&l] &aYou have deactivated your &2{pet} &apet."
    sound: 'GHAST_FIREBALL:1:1.5'
  pet-deposit:
    message: "&2&l[&a&l!&2&l] &aYou have deposited &2{pet} &apet to your storage."
    sound: 'LEVEL_UP:1:2'
  pet-withdraw:
    message: "&2&l[&a&l!&2&l] &aYou have withdrawn a &2{pet} &apet."
    sound: 'ITEM_PICKUP:2:1'
  owner-locked-deposit:
    message: "&c&l[&4&l!&c&l] &cYou are not the owner of this pet!."
    sound: 'GHAST_FIREBALL:1:1.5'
  owner-locked:
    message: '&4&l[!] &cYou can''t activate this pet as you are &4&lNOT &cthe owner of it!'
    sound: 'GHAST_FIREBALL:1:1.5'
  blacklist:
    message: "&c&l[&4&l!&c&l] &cYou can''t activate {current-pet} until you disable {other-pet}!."
    sound: 'GHAST_FIREBALL:1:1.5'
```
````

Item Available placeholders:&#x20;

```
{owner}  {exp} {max-exp} {level} {max-level} {boost-percent:[bufftype]}
{boost:[bufftype]
```

Helpful Commands:

&#x20;/pet buffs - Display all currently available buff types&#x20;

**Pet Display**

**Plugin has 3 different modes config.yml display-mode: to change, MODE-1 is the default displays pets in a circle, MODE-2 is similar to the default one with some pets location changes, MODE-3 is a Hypixel like pet display, you will have to limit the pet slots to 1**&#x20;

```yaml
display-mode: MODE-1 MODE-2, MODE-3 or MODE-4 
```

```yaml
Pet-Display:
  name: '&d&lDragon Pet &7[Lvl. {level}]'
  name-visiblity: true # Toggle the name display of the pet
  swing-hand: true # Swing the hand when holding the same material type as in hand:
  small: true # By default set to false, if true the pet size will increase
  offSet: 0.0 # Adds an offset to the name of the pet when using a big custom model or modelengine
  model-engine: none # You can set a modelengine model, if set equipment below is ignored
  equipment:
    helmet: # chestplate:, leggings:, boots:, off-hand: can also be set
      material: PLAYER_HEAD
      base64: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmMwODQ3NjVjNjJjMDNmMzQ3OWU3NTkyMDhjYTFlN2ZhOTlmNjc0ZDBjOGJlNzhhM2YxMGY1YjFlODY2Y2EyNCJ9fX0='
    hand:
      material: DIAMOND_HOE
```

**Pet Commands**

You can make pets execute commands based on vanilla buffs: block-break, mob-kill, fish-catch

```yaml
Commands:
  "block-break-exact-stone":
    use-chance: true # when true it will use the chance: below and when it procs it will pick a random command based on the chance (the number after ; is the chance) or if false it will check chances below each time until it procs one of them
    chance: 10
    commands: 
      - 'eco give %player% 1000;10'
      - 'eco give %player% 1000;20'
      - 'eco give %player% 1000;30'
```

## Animated Display Names <a href="#animated-name" id="animated-name"></a>

```yaml
Pet-Display:
  name: '&c&lIron Man Pet &7[Lvl. {level}]'
  name-visiblity: true
  frame-interval: 3 # Time in ticks before next frame is selected, each line is a frame that's going to be displayed
  animated-name:
    - "&b&lR"  
    - "&b&lR"  
    - "&b&lRi"  
    - "&b&lRiv"  
    - "&b&lRival"  
    - "&f&lRival"  
    - "&b&lRival"  
    - "&b&lRiva"  
    - "&b&lRiv"  
    - "&b&lRi"  
    - "&b&lR"  

```

Potion Effects Names for potioneffect-{} Buff

`SPEED, SLOW, FAST_DIGGING, SLOW_DIGGING, INCREASE_DAMAGE, HEAL, HARM, JUMP, CONFUSION, REGENERATION, DAMAGE_RESISTANCE, FIRE_RESISTANCE, WATER_BREATHING, INVISIBILITY, BLINDNESS, NIGHT_VISION, HUNGER, WEAKNESS, POISON, WITHER`

## All Buffs

**RivalHarvesterHoes** - rivalharvesterhoes-ability-, rivalharvesterhoes-proc-ability, rivalharvesterhoes-enchant-, rivalharvesterhoes-essence, rivalharvesterhoes-expfinder, rivalharvesterhoes-money, rivalharvesterhoes-proc, rivalharvesterhoes-xp

**RivalPickaxes** - rivalpickaxes-enchant-, rivalpickaxes-essence, rivalpickaxes-money, rivalpickaxes-proc, rivalpickaxes-xp

**RivalFishingRods** - rivalfishingrods-essence, rivalfishingrods-money

**RivalMobSwords** - rivalmobswords-money, rivalmobswords-essence, rivalmobswords-xp

**Vanilla** - block-break, block-break-exact-, damage, experience, fish-catch, mob-kill, mob-kill-exact-, potioneffect-, resistance

**WildTools** - wildtools-harvesterhoe, wildtools-sellwand

**ZithiumCollectors** - zithiumcollectors-autosell, zithiumcollectors-sellall, zithiumcollectors-sell

**ZithiumMobCoins** - zithiummobcoins

**AbyssCollectors** - abysscollectors-

**AbyssEconomy** - abysseconomy-

**AuraSkills** - auraskills-

**AureliumSkills** - aureliumskills-

**AxSellWands** - axsellwands

**BattlePass** - battlepass

**CoralPrisons** - fake-block-break, coralprisons-

**CyberLevels** - cyberlevels-xp

**DeluxeSellWands** - deluxesellwands-money, deluxesellwands-token

**EconomyShopGUI** - economyshopgui-sell

**EDPrison** - edprisonbreak, edprison-, edprison-enchant-

**InfiniteChestPro** - infinitechestpro

**JobsReborn** - jobs-

**NextGens** - nextgens-sell, nextgens-sellwand

**OptimalSkills** - optimalskills-

**RivalPets** - rivalpets-xp

**Scyther** - scyther-money

**ShopGUIPlus** - shopgui-buy shopgui-sell

**SuperMobCoins** - supermobcoins

**AxGens** - axgens-sell


# Create Your Own Boosts & Buffs

Down below you will see how you can create your very own boosts using the API!

You can create boosts by registering the boost or not

With Registering ->&#x20;

1. Create a new Class that extends PetBuffRegister .

```java
public class ExampleBuff extends PetBuffRegister {
```

2. Add these methods to it

<pre class="language-java"><code class="lang-java"><strong>    @Override
</strong>    public String getBuffName() {
        return "yourbuffname";
    }


    @Override
    public void onActivatePet(Player player) {

    }

    @Override
    public void onDeactivatePet(Player player) {

    }

    @EventHandler
    public void onBoost(YourCurrencyOrOtherEvents event) {
                Player player = event.getPlayer();
                if (RivalPetsAPI.getApi().hasBuff(player,getBuffName())){
                    RivalPetsAPI.getApi().addExperience(player,getBuffName());
                    double totalBoost = RivalPetsAPI.getApi().getBuffBoost(player,getBuffName())));
        }
    }
</code></pre>

3. After your done in your onEnable() you will need to register the buff like this, don't worry about registering Listeners that is handled by RivalPets and this way your buff will show up in /pets buffs.<br>

```java
if (Bukkit.getPluginManager().getPlugin("RivalPets") != null) {
RivalPetsAPI.getApi().registerBuff(new ExampleBuff (),"YourPluginName");
}
```

4. Make sure in your plugin.yml to add RivalPets to either soft-depend or depend

Without Registering ->&#x20;

In any listeners or anywhere in your code you can do:

Note: this way you will have to register your events<br>

```java
@EventHandler
    public void onBoost(YourCurrencyOrOtherEvents event) {
                Player player = event.getPlayer();
                String buffName = "yourdesiredbuff";
                if (RivalPetsAPI.getApi().hasBuff(player,buffName )){
                RivalPetsAPI.getApi().addExperience(player,buffName );    
                double totalBoost = RivalPetsAPI.getApi().getBuffBoost(player,buffName)));
        }
    }
```


# Configurations


# config.yml

```yaml
Database:
  # SQLite or MySQL
  database-type: SQLite
  mysql:
    host: localhost
    port: 3306
    database: dbName
    username: dbUser
    password: dbPassword
Settings:
  plugin-type: VIRTUAL # or INVENTORY
  display-mode: "MODE-1" # MODE-1, MODE-2, MODE-3
  fusion-mode: 'normal' # or chance
  give-to-storage: true
Commands:
  main-command: 'pets'
  aliases:
    - 'rivalpets'
    - 'pet'
Features:
  Pet-Slots:
    default-slots: 1
    max-slots: 4
  Pet-Storage:
    default-storage: 50
    max-storage: 100
time-placeholders:
  day: 'day'
  days: 'days'
  hour: 'hour'
  hours: 'hours'
  minute: 'minute'
  minutes: 'minutes'
  second: 'second'
  seconds: 'seconds'
default-settings:
  pets-seeing-himself: true
  pets-seeing-others: true
decimal-formats:
  chance-format: "###,###.##"
  cost-format: "###,###.##"
on-join:
  item:
    pet-menu:
      slot:
        enabled: true
        slot: 8
      block-movement: true
      block-dropping: true
      enabled: true
      item-settings:
        material: TURTLE_EGG
        name: '&3&lPet &b&lStorage &7(Right Click)'
        glow: true
        lore:
          - '&7Right click to view and '
          - '&7manage &3all &fof your pets'
          - '&7in your &bstorage&7!'
tier-sorting:
  - 'Ultimate'
  - 'Legendary'
  - 'Rare'
  - 'UnCommon'
  - 'Common'
default-sorting: 'level' # level, name, tier, usage
default-placeholders:
  enhancement: '&cNone'
World-Blacklist:
  # Prevents floating pets from being displayed in these worlds, they are still active just not displayed.
  enabled: false
  player-only: false
  other-player: true
  worlds: []
Buff-World-Blacklist:
  #Disable certain buffs in certain worlds
  buffs:
    'rivalharvesterhoes-money':
      worlds:
        - 'exampleworld'
Chat-Display:
  format: '%player_displayname% &8> '
  replace: '&7Click to view %player_name%''s Pets'
  expire: 30
  permission:
    preview:
      required: false
      message: '&4&l[&c!&4&l] &cYou do not have permission to preview pets!'
    show:
      required: true
      message: '&4&l[&c!&4&l] &cYou do not have permission to show of your pets!'

currencies:
  enhancementticket:
    name: enhancementticket
    singular: Enhancement Ticket
    plural: Enhancement Tickets
    messages:
      usage: '&#FF6B6B⚠ ᴜsᴀɢᴇ: /<command> <balance|give|take|pay|set> [player] [amount]'
      unknown_action: '&#FF6B6B⚠ ᴜɴᴋɴᴏᴡɴ ᴀᴄᴛɪᴏɴ. ᴜsᴇ /<command> <balance|give|take|pay|set>'
      player_not_found: '&#FF6B6B⚠ ᴘʟᴀʏᴇʀ ɴᴏᴛ ғᴏᴜɴᴅ.'
      balance: '&#4ECDC4💰 {player}''s ʙᴀʟᴀɴᴄᴇ: &#FFD93D{balance} {currency}'
      invalid_amount: '&#FF6B6B⚠ ɪɴᴠᴀʟɪᴅ ᴀᴍᴏᴜɴᴛ. ᴘʟᴇᴀsᴇ ᴇɴᴛᴇʀ ᴀ ᴠᴀʟɪᴅ ɴᴜᴍʙᴇʀ.'
      give_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ ɢᴀᴠᴇ &#FFD93D{amount} {currency} &#4ECDC4ᴛᴏ
        {player}.'
      give_receive: '&#4ECDC4📥 ʏᴏᴜ ʜᴀᴠᴇ ʀᴇᴄᴇɪᴠᴇᴅ &#FFD93D{amount} {currency}'
      take_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ ᴛᴏᴏᴋ &#FFD93D{amount} {currency} &#4ECDC4ғʀᴏᴍ
        {player}.'
      take_receive: '&#FF6B6B📤 &#FFD93D{amount} {currency} &#FF6B6Bʜᴀs ʙᴇᴇɴ ᴛᴀᴋᴇɴ
        ғʀᴏᴍ ʏᴏᴜ'
      pay_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ ᴘᴀɪᴅ &#FFD93D{amount} {currency} &#4ECDC4ᴛᴏ
        {player}.'
      pay_receive: '&#4ECDC4📥 ʏᴏᴜ ʜᴀᴠᴇ ʀᴇᴄᴇɪᴠᴇᴅ &#FFD93D{amount} {currency} &#4ECDC4ғʀᴏᴍ
        {player}.'
      set_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ sᴇᴛ {player}''s ʙᴀʟᴀɴᴄᴇ ᴛᴏ &#FFD93D{amount}
        {currency}.'
      set_receive: '&#4ECDC4💼 ʏᴏᴜʀ ʙᴀʟᴀɴᴄᴇ ʜᴀs ʙᴇᴇɴ sᴇᴛ ᴛᴏ &#FFD93D{amount} {currency}'
      console_no_pay: '&#FF6B6B⚠ ʏᴏᴜ ᴄᴀɴɴᴏᴛ ᴜsᴇ ᴛʜᴇ ᴘᴀʏ ᴄᴏᴍᴍᴀɴᴅ ғʀᴏᴍ ᴛʜᴇ ᴄᴏɴsᴏʟᴇ.'
      insufficient_funds: '&#FF6B6B⚠ ʏᴏᴜ ᴅᴏ ɴᴏᴛ ʜᴀᴠᴇ ᴇɴᴏᴜɢʜ ғᴜɴᴅs.'
  boostticket:
    name: boostticket
    singular: Boost Ticket
    plural: Boost Tickets
    messages:
      usage: '&#FF6B6B⚠ ᴜsᴀɢᴇ: /<command> <balance|give|take|pay|set> [player] [amount]'
      unknown_action: '&#FF6B6B⚠ ᴜɴᴋɴᴏᴡɴ ᴀᴄᴛɪᴏɴ. ᴜsᴇ /<command> <balance|give|take|pay|set>'
      player_not_found: '&#FF6B6B⚠ ᴘʟᴀʏᴇʀ ɴᴏᴛ ғᴏᴜɴᴅ.'
      balance: '&#4ECDC4💰 {player}''s ʙᴀʟᴀɴᴄᴇ: &#FFD93D{balance} {currency}'
      invalid_amount: '&#FF6B6B⚠ ɪɴᴠᴀʟɪᴅ ᴀᴍᴏᴜɴᴛ. ᴘʟᴇᴀsᴇ ᴇɴᴛᴇʀ ᴀ ᴠᴀʟɪᴅ ɴᴜᴍʙᴇʀ.'
      give_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ ɢᴀᴠᴇ &#FFD93D{amount} {currency} &#4ECDC4ᴛᴏ
        {player}.'
      give_receive: '&#4ECDC4📥 ʏᴏᴜ ʜᴀᴠᴇ ʀᴇᴄᴇɪᴠᴇᴅ &#FFD93D{amount} {currency}'
      take_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ ᴛᴏᴏᴋ &#FFD93D{amount} {currency} &#4ECDC4ғʀᴏᴍ
        {player}.'
      take_receive: '&#FF6B6B📤 &#FFD93D{amount} {currency} &#FF6B6Bʜᴀs ʙᴇᴇɴ ᴛᴀᴋᴇɴ
        ғʀᴏᴍ ʏᴏᴜ'
      pay_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ ᴘᴀɪᴅ &#FFD93D{amount} {currency} &#4ECDC4ᴛᴏ
        {player}.'
      pay_receive: '&#4ECDC4📥 ʏᴏᴜ ʜᴀᴠᴇ ʀᴇᴄᴇɪᴠᴇᴅ &#FFD93D{amount} {currency} &#4ECDC4ғʀᴏᴍ
        {player}.'
      set_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ sᴇᴛ {player}''s ʙᴀʟᴀɴᴄᴇ ᴛᴏ &#FFD93D{amount}
        {currency}.'
      set_receive: '&#4ECDC4💼 ʏᴏᴜʀ ʙᴀʟᴀɴᴄᴇ ʜᴀs ʙᴇᴇɴ sᴇᴛ ᴛᴏ &#FFD93D{amount} {currency}'
      console_no_pay: '&#FF6B6B⚠ ʏᴏᴜ ᴄᴀɴɴᴏᴛ ᴜsᴇ ᴛʜᴇ ᴘᴀʏ ᴄᴏᴍᴍᴀɴᴅ ғʀᴏᴍ ᴛʜᴇ ᴄᴏɴsᴏʟᴇ.'
      insufficient_funds: '&#FF6B6B⚠ ʏᴏᴜ ᴅᴏ ɴᴏᴛ ʜᴀᴠᴇ ᴇɴᴏᴜɢʜ ғᴜɴᴅs.'
  specialboostticket:
    name: specialboostticket
    singular: Special Boost Ticket
    plural: Special Boost Tickets
    messages:
      usage: '&#FF6B6B⚠ ᴜsᴀɢᴇ: /<command> <balance|give|take|pay|set> [player] [amount]'
      unknown_action: '&#FF6B6B⚠ ᴜɴᴋɴᴏᴡɴ ᴀᴄᴛɪᴏɴ. ᴜsᴇ /<command> <balance|give|take|pay|set>'
      player_not_found: '&#FF6B6B⚠ ᴘʟᴀʏᴇʀ ɴᴏᴛ ғᴏᴜɴᴅ.'
      balance: '&#4ECDC4💰 {player}''s ʙᴀʟᴀɴᴄᴇ: &#FFD93D{balance} {currency}'
      invalid_amount: '&#FF6B6B⚠ ɪɴᴠᴀʟɪᴅ ᴀᴍᴏᴜɴᴛ. ᴘʟᴇᴀsᴇ ᴇɴᴛᴇʀ ᴀ ᴠᴀʟɪᴅ ɴᴜᴍʙᴇʀ.'
      give_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ ɢᴀᴠᴇ &#FFD93D{amount} {currency} &#4ECDC4ᴛᴏ
        {player}.'
      give_receive: '&#4ECDC4📥 ʏᴏᴜ ʜᴀᴠᴇ ʀᴇᴄᴇɪᴠᴇᴅ &#FFD93D{amount} {currency}'
      take_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ ᴛᴏᴏᴋ &#FFD93D{amount} {currency} &#4ECDC4ғʀᴏᴍ
        {player}.'
      take_receive: '&#FF6B6B📤 &#FFD93D{amount} {currency} &#FF6B6Bʜᴀs ʙᴇᴇɴ ᴛᴀᴋᴇɴ
        ғʀᴏᴍ ʏᴏᴜ'
      pay_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ ᴘᴀɪᴅ &#FFD93D{amount} {currency} &#4ECDC4ᴛᴏ
        {player}.'
      pay_receive: '&#4ECDC4📥 ʏᴏᴜ ʜᴀᴠᴇ ʀᴇᴄᴇɪᴠᴇᴅ &#FFD93D{amount} {currency} &#4ECDC4ғʀᴏᴍ
        {player}.'
      set_success: '&#4ECDC4✅ sᴜᴄᴄᴇssғᴜʟʟʏ sᴇᴛ {player}''s ʙᴀʟᴀɴᴄᴇ ᴛᴏ &#FFD93D{amount}
        {currency}.'
      set_receive: '&#4ECDC4💼 ʏᴏᴜʀ ʙᴀʟᴀɴᴄᴇ ʜᴀs ʙᴇᴇɴ sᴇᴛ ᴛᴏ &#FFD93D{amount} {currency}'
      console_no_pay: '&#FF6B6B⚠ ʏᴏᴜ ᴄᴀɴɴᴏᴛ ᴜsᴇ ᴛʜᴇ ᴘᴀʏ ᴄᴏᴍᴍᴀɴᴅ ғʀᴏᴍ ᴛʜᴇ ᴄᴏɴsᴏʟᴇ.'
      insufficient_funds: '&#FF6B6B⚠ ʏᴏᴜ ᴅᴏ ɴᴏᴛ ʜᴀᴠᴇ ᴇɴᴏᴜɢʜ ғᴜɴᴅs.'
```


# enhancements.yml

```yaml
Enhancements:
  Tier1EssenceEnhancement:
    chance: 35
    enabled: true
    display: true
    slot: 12
    buffs:
      - 'rivalharvesterhoes-essence:0.05'
    placeholder-display: '#55FF55&lTier 1 Essence Enhancement'
    gui-display:
      name: '#55FF55&lTier 1 Essence Enhancement'
      lore:
        - '#AAAAAA&oElevate your pet''s potential'
        - '#AAAAAA&owith this Tier 1 boost.'
        - '#FFFFFF&lChance: #55FF55{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#55FF55• +5% essence gain'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzk3OTU1NDYyZTRlNTc2NjY0NDk5YWM0YTFjNTcyZjYxNDNmMTlhZDJkNjE5NDc3NjE5OGY4ZDEzNmZkYjIifX19
      material: PLAYER_HEAD

  Tier2EssenceEnhancement:
    chance: 30
    enabled: true
    display: true
    slot: 16
    buffs:
      - 'rivalharvesterhoes-essence:0.15'
    placeholder-display: '#00FF00&lTier 2 Essence Enhancement'
    gui-display:
      name: '#00FF00&lTier 2 Essence Enhancement'
      lore:
        - '#AAAAAA&oAmplify your pet''s growth'
        - '#AAAAAA&owith this Tier 2 upgrade.'
        - '#FFFFFF&lChance: #00FF00{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#00FF00• +15% essence gain'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTVhNmFkYzFhZjNkOTc4NjNhZjBhNzA5MjhlYTVkYTZmNmQ2NjM5MTNjOGY4YWY0NTZmMzFlMWM5NjQifX19
      material: PLAYER_HEAD

  Tier3EssenceEnhancement:
    chance: 25
    enabled: true
    display: true
    slot: 21
    buffs:
      - 'rivalharvesterhoes-essence:0.2'
    placeholder-display: '#00AAFF&lTier 3 Essence Enhancement'
    gui-display:
      name: '#00AAFF&lTier 3 Essence Enhancement'
      lore:
        - '#AAAAAA&oSupercharge your pet''s abilities'
        - '#AAAAAA&owith this Tier 3 enhancement.'
        - '#FFFFFF&lChance: #00AAFF{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#00AAFF• +20% essence gain'
      material: PLAYER_HEAD
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTVhNmFkYzFhZjNkOTc4NjNhZjBhNzA5MjhlYTVkYTZmNmQ2NjM5MTNjOGY4YWY0NTZmMzFlMWM5NjQifX19

  Tier4EssenceEnhancement:
    chance: 25
    enabled: true
    display: true
    slot: 25
    buffs:
      - 'rivalharvesterhoes-essence:0.25'
    placeholder-display: '#AA00FF&lTier 4 Essence Enhancement'
    gui-display:
      name: '#AA00FF&lTier 4 Essence Enhancement'
      lore:
        - '#AAAAAA&oUnleash your pet''s true potential'
        - '#AAAAAA&owith this Tier 4 powerup.'
        - '#FFFFFF&lChance: #AA00FF{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#AA00FF• +25% essence gain'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmNlYjcxM2NkOWNmOTE5MjY0YjYzMWU3MGY1MjhiZDIwYzQzZTc5MjQxNjk1ZDZiZmM5Y2ZjN2RjZDYzZCJ9fX0=
      material: PLAYER_HEAD

  Tier5EssenceEnhancement:
    chance: 20
    enabled: true
    display: true
    slot: 32
    buffs:
      - 'rivalharvesterhoes-essence:0.30'
    placeholder-display: '#FF5555&lTier 5 Essence Enhancement'
    gui-display:
      name: '#FF5555&lTier 5 Essence Enhancement'
      lore:
        - '#AAAAAA&oAscend to legendary status'
        - '#AAAAAA&owith this Tier 5 enhancement.'
        - '#FFFFFF&lChance: #FF5555{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#FF5555• +30% essence gain'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTMzOTgzODEzOTI2NGRlMjY2NjVmYzFjNWI4NWQ2NTg5ODkyNjI2OTJkMzg1YTJlNWFmN2I4YWVhMmJkYzYifX19
      material: PLAYER_HEAD

  Tier1XPEnhancement:
    chance: 35
    enabled: true
    display: true
    slot: 10
    buffs:
      - 'rivalpets-xp:0.1'
    placeholder-display: '#55FF55&lTier 1 XP Enhancement'
    gui-display:
      name: '#55FF55&lTier 1 XP Enhancement'
      lore:
        - '#AAAAAA&oElevate your pet''s potential'
        - '#AAAAAA&owith this Tier 1 boost.'
        - '#FFFFFF&lChance: #55FF55{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#55FF55• +10% pet xp gain'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzk3OTU1NDYyZTRlNTc2NjY0NDk5YWM0YTFjNTcyZjYxNDNmMTlhZDJkNjE5NDc3NjE5OGY4ZDEzNmZkYjIifX19
      material: PLAYER_HEAD

  Tier2XPEnhancement:
    chance: 30
    enabled: true
    display: true
    slot: 14
    buffs:
      - 'rivalpets-xp:0.15'
    placeholder-display: '#00FF00&lTier 2 XP Enhancement'
    gui-display:
      name: '#00FF00&lTier 2 XP Enhancement'
      lore:
        - '#AAAAAA&oAmplify your pet''s growth'
        - '#AAAAAA&owith this Tier 2 upgrade.'
        - '#FFFFFF&lChance: #00FF00{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#00FF00• +15% pet xp gain'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTVhNmFkYzFhZjNkOTc4NjNhZjBhNzA5MjhlYTVkYTZmNmQ2NjM5MTNjOGY4YWY0NTZmMzFlMWM5NjQifX19
      material: PLAYER_HEAD

  Tier3XPEnhancement:
    chance: 25
    enabled: true
    display: true
    slot: 19
    buffs:
      - 'rivalpets-xp:0.2'
    placeholder-display: '#00AAFF&lTier 3 XP Enhancement'
    gui-display:
      name: '#00AAFF&lTier 3 XP Enhancement'
      lore:
        - '#AAAAAA&oSupercharge your pet''s abilities'
        - '#AAAAAA&owith this Tier 3 enhancement.'
        - '#FFFFFF&lChance: #00AAFF{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#00AAFF• +20% pet xp gain'
      material: PLAYER_HEAD
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTVhNmFkYzFhZjNkOTc4NjNhZjBhNzA5MjhlYTVkYTZmNmQ2NjM5MTNjOGY4YWY0NTZmMzFlMWM5NjQifX19

  Tier4XPEnhancement:
    chance: 25
    enabled: true
    display: true
    slot: 23
    buffs:
      - 'rivalpets-xp:0.25'
    placeholder-display: '#AA00FF&lTier 4 XP Enhancement'
    gui-display:
      name: '#AA00FF&lTier 4 XP Enhancement'
      lore:
        - '#AAAAAA&oUnleash your pet''s true potential'
        - '#AAAAAA&owith this Tier 4 powerup.'
        - '#FFFFFF&lChance: #AA00FF{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#AA00FF• +25% pet xp gain'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmNlYjcxM2NkOWNmOTE5MjY0YjYzMWU3MGY1MjhiZDIwYzQzZTc5MjQxNjk1ZDZiZmM5Y2ZjN2RjZDYzZCJ9fX0=
      material: PLAYER_HEAD

  Tier5XPEnhancement:
    chance: 20
    enabled: true
    display: true
    slot: 30
    buffs:
      - 'rivalpets-xp:0.30'
    placeholder-display: '#FF5555&lTier 5 XP Enhancement'
    gui-display:
      name: '#FF5555&lTier 5 XP Enhancement'
      lore:
        - '#AAAAAA&oAscend to legendary status'
        - '#AAAAAA&owith this Tier 5 enhancement.'
        - '#FFFFFF&lChance: #FF5555{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#FF5555• +30% pet xp gain'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTMzOTgzODEzOTI2NGRlMjY2NjVmYzFjNWI4NWQ2NTg5ODkyNjI2OTJkMzg1YTJlNWFmN2I4YWVhMmJkYzYifX19
      material: PLAYER_HEAD

  Tier1LevelCapEnhancement:
    chance: 35
    enabled: true
    display: true
    slot: 11
    buffs:
      - 'level:10'
    placeholder-display: '#55FF55&lTier 1 Level Cap Enhancement'
    gui-display:
      name: '#55FF55&lTier 1 Level Cap Enhancement'
      lore:
        - '#AAAAAA&oElevate your pet''s potential'
        - '#AAAAAA&owith this Tier 1 boost.'
        - '#FFFFFF&lChance: #55FF55{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#55FF55• +10 pet levels'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzk3OTU1NDYyZTRlNTc2NjY0NDk5YWM0YTFjNTcyZjYxNDNmMTlhZDJkNjE5NDc3NjE5OGY4ZDEzNmZkYjIifX19
      material: PLAYER_HEAD

  Tier2LevelCapEnhancement:
    chance: 30
    enabled: true
    display: true
    slot: 15
    buffs:
      - 'level:15'
    placeholder-display: '#00FF00&lTier 2 Level Cap Enhancement'
    gui-display:
      name: '#00FF00&lTier 2 Level Cap Enhancement'
      lore:
        - '#AAAAAA&oAmplify your pet''s growth'
        - '#AAAAAA&owith this Tier 2 upgrade.'
        - '#FFFFFF&lChance: #00FF00{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#00FF00• +15 pet levels'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTVhNmFkYzFhZjNkOTc4NjNhZjBhNzA5MjhlYTVkYTZmNmQ2NjM5MTNjOGY4YWY0NTZmMzFlMWM5NjQifX19
      material: PLAYER_HEAD

  Tier3LevelCapEnhancement:
    chance: 25
    enabled: true
    display: true
    slot: 20
    buffs:
      - 'level:20'
    placeholder-display: '#00AAFF&lTier 3 Level Cap Enhancement'
    gui-display:
      name: '#00AAFF&lTier 3 Level Cap Enhancement'
      lore:
        - '#AAAAAA&oSupercharge your pet''s abilities'
        - '#AAAAAA&owith this Tier 3 enhancement.'
        - '#FFFFFF&lChance: #00AAFF{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#00AAFF• +20 pet levels'
      material: PLAYER_HEAD
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTVhNmFkYzFhZjNkOTc4NjNhZjBhNzA5MjhlYTVkYTZmNmQ2NjM5MTNjOGY4YWY0NTZmMzFlMWM5NjQifX19

  Tier4LevelCapEnhancement:
    chance: 25
    enabled: true
    display: true
    slot: 24
    buffs:
      - 'level:25'
    placeholder-display: '#AA00FF&lTier 4 Level Cap Enhancement'
    gui-display:
      name: '#AA00FF&lTier 4 Level Cap Enhancement'
      lore:
        - '#AAAAAA&oUnleash your pet''s true potential'
        - '#AAAAAA&owith this Tier 4 powerup.'
        - '#FFFFFF&lChance: #AA00FF{chance}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#AA00FF• +25 pet levels'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmNlYjcxM2NkOWNmOTE5MjY0YjYzMWU3MGY1MjhiZDIwYzQzZTc5MjQxNjk1ZDZiZmM5Y2ZjN2RjZDYzZCJ9fX0=
      material: PLAYER_HEAD

  Tier5LevelCapEnhancement:
    chance: 20
    enabled: true
    display: true
    slot: 31
    buffs:
      - 'level:30'
    placeholder-display: '#FF5555&lTier 5 Level Cap Enhancement'
    gui-display:
      name: '#FF5555&lTier 5 Level Cap Enhancement'
      lore:
        - '#AAAAAA&oAscend to legendary status'
        - '#AAAAAA&owith this Tier 5 enhancement.'
        - '#FFFFFF&lChance: #FF5555{chance-percent}%'
        - ''
        - '#FFAA00&lEnhancement Bonus:'
        - '#FF5555• +30 pet levels'
      base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTMzOTgzODEzOTI2NGRlMjY2NjVmYzFjNWI4NWQ2NTg5ODkyNjI2OTJkMzg1YTJlNWFmN2I4YWVhMmJkYzYifX19
      material: PLAYER_HEAD
```


# gui.yml

```yaml
GUI:
  Main-Menu:Inventory:
    size: 27
    name: '&8&nPets'
    display-slots:
      - 11
      - 12
      - 13
      - 14
      - 15
    custom-items:
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-26
    upgrades:
      enabled: true
      slot: 0
    fusion:
      enabled: true
      slot: 9
    bin:
      enabled: true
      slot: 18
    items:
      slot-locked:
        material: BARRIER
        name: '&4&l[!] &cLocked Slot'
        lore:
          - '&7&oYou need more pet slots'
          - '&cThis slot is locked'
      slot-unlocked:
        material: LIME_STAINED_GLASS_PANE
        name: '&2&l[!] &aUnlocked Slot'
        lore:
          - '&7&oA new slot ready for your pet!'
          - '&a&oThis slot is unlocked.'
      upgrades:
        material: EXPERIENCE_BOTTLE
        name: '&2&l[!] &a&lPet &2&lUpgrades'
        lore:
          - '&7&oUnleash the potential within!'
          - '&a&oEnhance your pet''s abilities!'
          - ''
          - '&eClick to unveil upgrades!'
      fusion:
        material: BEACON
        name: '&3&l[!] &b&lPet &3&lFusion'
        lore:
          - '&7&oHarness the power of fusion!'
          - '&b&oUnite pets for higher tiers!'
          - ''
          - '&eClick to explore fusion options!'
      bin:
        material: HONEYCOMB
        name: '&6&l[!] &e&lPet &6&lBin'
        lore:
          - '&7&oBid farewell to your companions.'
          - '&e&oDispose of unwanted pets for candy!'
          - ''
          - '&eClick to open pets bin!'
      current-page:
        slot: 22
        material: CLOCK
        name: '&e&lInformation'
        lore:
          - '&7View the max amount of pets'
          - '&7you can have Equipped'
          - ''
          - ' &6┣ &eEquipped: &f{equipped} &8/ &f{equipped-max} '
          - ''
          - '&e&lINCREASE'
          - '&6You can purchase extra slots on '
          - '&6our store, store.servername.com'
  Main-Menu:Virtual:
    size: 54
    name: '&8&nPets'

    display-slots:
      - 2
      - 3
      - 4
      - 5
      - 6
    custom-items:
      '1':
        material: LIGHT_GRAY_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-53
      '2':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-8
      '3':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 45-53
    sort-settings:
      enabled: true
      slot: 53
    upgrades:
      enabled: true
      slot: 45
    fusion:
      enabled: true
      slot: 46
    enhancements:
      enabled: true
      slot: 0
    boosts:
      enabled: true
      slot: 8
    mastery:
      enabled: true
      slot: 7
    bin:
      enabled: true
      slot: 47
    delete:
      enabled: true
      slot: 52
    delete-bulk:
      enabled: true
      slot: 51
    items:
      delete-select-pet:
        material: RED_DYE
        glow: true
      delete-bulk:
        material: REDSTONE
        name: '&c&lBulk &4&lDelete'
        lore:
          - '&7&oDispose of pets permanently by tier.'
          - ''
          - '&6&oClick to open delete menu.'
      delete-confirm:
        sound: BLAZE_HIT:1:5
        material: RED_DYE
        name: '&4&lConfirm &c&lDelete'
        lore:
          - '&7&oDispose of pets permanently.'
          - '&7&oSelect pets and confirm'
          - ''
          - '&6&oClick to delete selected pets.'
      delete:
        sound: 'ANVIL_LAND:1:1'
        material: GLOWSTONE_DUST
        name: '&e&lDelete &6&lPets'
        lore:
          - '&7&oDispose of pets permanently.'
          - ''
          - '&6&oClick to enter delete mode.'
      upgrades:
        material: EXPERIENCE_BOTTLE
        name: '&2&l[!] &a&lPet &2&lUpgrades'
        lore:
          - '&7&oUnleash the potential within!'
          - '&a&oEnhance your pet''s abilities!'
          - ''
          - '&eClick to unveil upgrades!'
      enhancements:
        material: EMERALD
        name: '&2&l[!] &a&lPet &2&lEnhancements'
        lore:
          - '&7&oUnlock hidden potential within your pet.'
          - '&a&oEmpower your companion with new abilities.'
          - ''
          - '&eClick to unveil enhancements!'
      mastery:
        material: NETHER_STAR
        name: '&2&l[!] &a&lPet &2&lMastery'
        lore:
          - '&7&oUnlock hidden potential within your pet.'
          - '&a&oEmpower your companion with new buffs.'
          - ''
          - '&eClick to unveil pet mastery!'
      boosts:
        material: ENDER_EYE
        name: '&2&l[!] &a&lPet &2&lBoosts'
        lore:
          - '&7&oUnlock hidden potential within your pet.'
          - '&a&oEmpower your pet with 3 different type of buff boosts.'
          - ''
          - '&eClick to unveil boosts!'
      fusion:
        material: BEACON
        name: '&3&l[!] &b&lPet &3&lFusion'
        lore:
          - '&7&oHarness the power of fusion!'
          - '&b&oUnite pets for higher tiers!'
          - ''
          - '&eClick to explore fusion options!'
      bin:
        material: HONEYCOMB
        name: '&6&l[!] &e&lPet &6&lBin'
        lore:
          - '&7&oBid farewell to your companions.'
          - '&e&oDispose of unwanted pets for candy!'
          - ''
          - '&eClick to open pets bin!'
      sort-level:
        sound: BLAZE_HIT:1:5
        material: REDSTONE
        name: '&4&l[!] &c&lSorting &4&lMode'
        lore:
          - '&7&oAdjust how your pets are organized.'
          - ''
          - '&4&lCurrent Mode:'
          - '&2➥ &aBy Level'
          - '&4➥ &cBy Name'
          - '&4➥ &cBy Tier'
          - '&4➥ &cBy Last Usage'
          - ''
          - '&e&oClick to change sorting mode.'
      sort-name:
        sound: BLAZE_HIT:1:5
        material: REDSTONE
        name: '&4&l[!] &c&lSorting &4&lMode'
        lore:
          - '&7&oAdjust how your pets are organized.'
          - ''
          - '&4&lCurrent Mode:'
          - '&4➥ &cBy Level'
          - '&2➥ &aBy Name'
          - '&4➥ &cBy Tier'
          - '&4➥ &cBy Last Usage'
          - ''
          - '&e&oClick to change sorting mode.'
      sort-tier:
        sound: BLAZE_HIT:1:5
        material: REDSTONE
        name: '&4&l[!] &c&lSorting &4&lMode'
        lore:
          - '&7&oAdjust how your pets are organized.'
          - ''
          - '&4&lCurrent Mode:'
          - '&4➥ &cBy Level'
          - '&4➥ &cBy Name'
          - '&2➥ &aBy Tier'
          - '&4➥ &cBy Last Usage'
          - ''
          - '&e&oClick to change sorting mode.'
      sort-usage:
        sound: BLAZE_HIT:1:5
        material: REDSTONE
        name: '&4&l[!] &c&lSorting &4&lMode'
        lore:
          - '&7&oAdjust how your pets are organized.'
          - ''
          - '&4&lCurrent Mode:'
          - '&4➥ &cBy Level'
          - '&4➥ &cBy Name'
          - '&4➥ &cBy Tier'
          - '&2➥ &aBy Last Usage'
          - ''
          - '&e&oClick to change sorting mode.'
      same-type:
        material: BARRIER
        name: '&4&l[!] &cSame Type'
        lore:
          - ''
          - '&7&oYou can''t equip pets of the same type'
      no-slots:
        material: BARRIER
        name: '&4&l[!] &cNo Pet Slots'
        lore:
          - ''
          - '&7&oYou need more pet slots to activate this pet. &7({current}/{max})'
      on-cooldown:
        material: BARRIER
        name: '&4&l[!] &cOn Cooldown'
        lore:
          - ''
          - '&7&oThis pet is on cooldown for another &f{time}'
      max-pets:
        material: BARRIER
        name: '&4&l[!] &cMax Pets'
        lore:
          - ''
          - '&7&oYou have the max amount of pets equipped'
      slot-locked:
        material: BARRIER
        name: '&4&l[!] &cLocked Slot'
        lore:
          - '&7&oYou need more pet slots'
          - '&cThis slot is locked'
      slot-unlocked:
        material: LIME_STAINED_GLASS_PANE
        name: '&2&l[!] &aUnlocked Slot'
        lore:
          - '&7&oA new slot ready for your pet!'
          - '&a&oThis slot is unlocked.'
      next-page:
        slot: 50
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: LUCK
          extended: false
        upgraded: false
        name: '&a&lNext Page &2&l-->'
        lore:
          - '&7&oNavigate to the next page.'
          - '&a&oClick to move forward.'
      last-page:
        slot: 48
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: INSTANT_HEAL
          extended: false
          upgraded: true
        name: '&4&l<-- &c&lPrevious Page'
        lore:
          - '&7&oReturn to the previous page.'
          - '&c&oClick to move backward.'
      current-page:
        slot: 49
        material: CLOCK
        name: '&e&lInformation &6[Page #{page}&e/&6#{max}]'
        lore:
          - '&7View the max amount of pets'
          - '&7you can have in your storage'
          - ''
          - ' &6┣ &eEquipped: &f{equipped} &8/ &f{equipped-max} '
          - ' &6┣ &eStorage: &f{storage} &8/ &f{storage-max} '
          - ''
          - '&e&lINCREASE'
          - '&6You can purchase extra storage or slots on '
          - '&6our store, store.servername.com'
      no-page:
        material: BARRIER
        name: '&4&l[!] &cNo Page'
        lore:
          - ''
          - '&7&oNo page found'
  Pet-Boosts-Menu:
    size: 36
    name: '&8&nPet Boosts'
    slot-buff: 12
    slot-level: 13
    slot-experience: 14
    custom-items:
      purchase-1:
        slot: 27
        sound: LEVEL_UP:1:2
        placeholder: '%rivalcredits_balance%'
        cost: 200
        commands:
          - credits remove {player} {amount}
          - specialboostticket give {player} 1
        material: ENCHANTED_BOOK
        name: '&5&lSpecial Boost Tickets'
        lore:
          - '&7&oPurchase Special Boost Tickets using Credits'
          - '&6* &ePrice: &b200 Credits'
          - '&c'
          - '&a&lCLICK TO PURCHASE'
      purchase-2:
        slot: 28
        amount: 4
        sound: LEVEL_UP:1:2
        placeholder: '%rivalcredits_balance%'
        cost: 800
        commands:
          - credits remove {player} {amount}
          - specialboostticket give {player} 4
        material: ENCHANTED_BOOK
        name: '&5&lSpecial Boost Tickets'
        lore:
          - '&7&oPurchase Special Boost Tickets using Credits'
          - '&6* &ePrice: &b800 Credits'
          - '&c'
          - '&a&lCLICK TO PURCHASE'
      purchase-3:
        slot: 29
        amount: 8
        sound: LEVEL_UP:1:2
        placeholder: '%rivalcredits_balance%'
        cost: 1600
        commands:
          - credits remove {player} {amount}
          - specialboostticket give {player} 8
        material: ENCHANTED_BOOK
        name: '&5&lSpecial Boost Tickets'
        lore:
          - '&7&oPurchase Special Boost Tickets using Credits'
          - '&6* &ePrice: &b1600 Credits'
          - '&c'
          - '&a&lCLICK TO PURCHASE'
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-26
      '2':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 30-32
      purchase-4:
        slot: 33
        sound: LEVEL_UP:1:2
        placeholder: '%rivalcredits_balance%'
        cost: 100
        commands:
          - credits remove {player} {amount}
          - boostticket give {player} 1
        material: PAPER
        name: '&b&lBoost Tickets'
        lore:
          - '&7&oPurchase Boost Tickets using Credits'
          - '&6* &ePrice: &b100 Credits'
          - '&c'
          - '&a&lCLICK TO PURCHASE'
      purchase-5:
        slot: 34
        amount: 4
        sound: LEVEL_UP:1:2
        placeholder: '%rivalcredits_balance%'
        cost: 400
        commands:
          - credits remove {player} {amount}
          - boostticket give {player} 4
        material: PAPER
        name: '&b&lBoost Tickets'
        lore:
          - '&7&oPurchase Boost Tickets using Credits'
          - '&6* &ePrice: &b400 Credits'
          - '&c'
          - '&a&lCLICK TO PURCHASE'
      purchase-6:
        slot: 35
        amount: 8
        sound: LEVEL_UP:1:2
        placeholder: '%rivalcredits_balance%'
        cost: 800
        commands:
          - credits remove {player} {amount}
          - boostticket give {player} 8
        material: PAPER
        name: '&b&lBoost Tickets'
        lore:
          - '&7&oPurchase Boost Tickets using Credits'
          - '&6* &ePrice: &b800 Credits'
          - '&c'
          - '&a&lCLICK TO PURCHASE'
    items:
      not-enough:
        material: BARRIER
        sound: BLAZE_HIT:1:2
        name: '&4&lNo Credits'
        lore:
          - '&c&oYou do not have enough credits to purchase this.'
          - '&c'
      display-buff:
        sound: BLAZE_HIT:1:2
        material: PLAYER_HEAD
        base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWI4YzM5YmIzOTk3MGQzZDYwYWE1YTM1YWRlZmExZGJlNDg5NDczYmI5NGM1ZWMzMmI3NzI0NjFkZmU3YmI5NCJ9fX0=
        name: '&#850375&lBuff Boost'
        lore:
          - ''
          - '&7&o{boost_buff}'
          - ''
      display-level:
        sound: BLAZE_HIT:1:2
        material: PLAYER_HEAD
        base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzAyZjhhYmVhNTM2NzJkMDYzYTJmYWJjMmFkMjFmMWIzMWUxZDMyMzVhYzRlOWJjZTM2N2YzMTQ1YWYzNmQ3NiJ9fX0=
        name: '&#979e06&lLevel Boost'
        lore:
          - ''
          - '&7&o{boost_level}'
          - ''
      display-experience:
        sound: BLAZE_HIT:1:2
        material: PLAYER_HEAD
        base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjdjMDBhMTY0ZjNlNzllZDE5MGY3Y2IxNmMyNGU4MmExZTg3YTQ4YzY5NDA0MDI4NzhkNWQ2MmM1YzAyYjMyMyJ9fX0=
        name: '&#068f9e&lExperience Boost'
        lore:
          - ''
          - '&7&o{boost_experience}'
          - ''
      selecting:
        sound: BLAZE_HIT:1:2
        material: GRAY_DYE
        name: '&c&lSelecting....'
        lore:
          - '&7&oPlease wait...'
      no-pet-selected:
        sound: BLAZE_HIT:1:2
        material: GRAY_DYE
        name: '&c&lNo Pet Selected'
        lore:
          - '&7&oSelect a pet first to roll '
      no-pet:
        slot: 10
        sound: BLAZE_HIT:1:2
        material: GRAY_DYE
        name: '&c&lNo Pet Selected'
        lore:
          - '&7&oLeft Click to open the pet selector '
          - '&c'
          - '&c&lCLICK HERE'
      roll-all:
        slot: 16
        sound: BLAZE_HIT:1:2
        material: NETHER_STAR
        name: '&c&lClick to roll all boosts'
        lore:
          - '&7&oLeft Click to use a Boost Ticket '
          - '&7&oand find an amazing boosts for your pet'
          - '&7'
          - '&7&oYou have &f&n{amount} &7&otickets left'
          - '&c'
          - '&c&lCLICK TO ROLL'
        requirements:
          amount: '%rivalpets_currency_boostticket%'
          needed: 1
          remove-command: boostticket take {player} {amount} -s
          message: '&4&l[!] &cYou don''t have enough Boost Tickets.'
      roll-buff:
        slot: 21
        sound: BLAZE_HIT:1:2
        material: PURPLE_DYE
        name: '&#850375&lClick to roll a Buff Boost'
        lore:
          - '&7&oLeft Click to use a Boost Ticket '
          - '&7&oand find an amazing boosts for your pet'
          - '&7'
          - '&7&oYou have &f&n{amount} &7&otickets left'
          - '&c'
          - '&#fa0ade&lCLICK TO ROLL'
        requirements:
          amount: '%rivalpets_currency_specialboostticket%'
          needed: 1
          remove-command: specialboostticket take {player} {amount} -s
          message: '&4&l[!] &cYou don''t have enough Special Boost tickets.'
      roll-experience:
        slot: 23
        sound: BLAZE_HIT:1:2
        material: LIGHT_BLUE_DYE
        name: '&#068f9e&lClick to roll a Experience boost'
        lore:
          - '&7&oLeft Click to use a Boost Ticket '
          - '&7&oand find an amazing boosts for your pet'
          - '&7'
          - '&7&oYou have &f&n{amount} &7&otickets left'
          - '&c'
          - '&#05cde3&lCLICK TO ROLL'
        requirements:
          amount: '%rivalpets_currency_specialboostticket%'
          needed: 1
          remove-command: specialboostticket take {player} {amount} -s
          message: '&4&l[!] &cYou don''t have enough Special Boost tickets.'
      roll-level:
        slot: 22
        sound: BLAZE_HIT:1:2
        material: YELLOW_DYE
        name: '&#979e06&lClick to roll a Level boost'
        lore:
          - '&7&oLeft Click to use a Boost Ticket '
          - '&7&oand find an amazing boosts for your pet'
          - '&7'
          - '&7&oYou have &f&n{amount} &7&otickets left'
          - '&c'
          - '&#d1db07&lCLICK TO ROLL'
        requirements:
          amount: '%rivalpets_currency_specialboostticket%'
          needed: 1
          remove-command: specialboostticket take {player} {amount} -s
          message: '&4&l[!] &cYou don''t have enough Special Boost tickets.'
  Bin-Menu:Inventory:
    size: 54
    name: '&8&nPet Bin'
    custom-items:
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-53
    items:
      no-page:
        material: BARRIER
        name: '&4&l[!] &cNo Page'
        lore:
          - ''
          - '&7&oNo page found'
      next-page:
        slot: 50
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: LUCK
          extended: false
        upgraded: false
        name: '&a&lNext Page &2&l-->'
        lore:
          - '&7&oNavigate to the next page.'
          - '&a&oClick to move forward.'
      last-page:
        slot: 48
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: INSTANT_HEAL
          extended: false
          upgraded: true
        name: '&4&l<-- &c&lPrevious Page'
        lore:
          - '&7&oReturn to the previous page.'
          - '&c&oClick to move backward.'
      select-pet:
        material: RED_DYE
      not-selected:
        material: BARRIER
        sound: GHAST_FIREBALL:1:1.5
        name: '&4&l[!] &c&lPlease select a pet'
        lore:
          - '&7&oYou have not selected any pets.'
          - ''
      no-pets:
        material: BARRIER
        sound: GHAST_FIREBALL:1:1.5
        name: '&4&l[!] &c&lNo Pets'
        lore:
          - '&7&oYou do not have any pets that can be converted.'
          - ''
      confirm-pet:
        slot: 46
        sound: LEVEL_UP:1:2
        material: COMPASS
        name: '&2&l[!] &a&lConfirm &2&lPet Bin'
        lore:
          - '&7&oClick to confirm and convert selected pets into candy!'
          - '&8┣ &7You have &f{selected-amount} &7pets selected!'
          - ''
          - '&eClick to finish action!'
      quick-bin-pet:
        slot: 52
        sound: LEVEL_UP:1:2
        material: CAULDRON
        name: '&6&l[!] &e&lQuick &6&lBin'
        lore:
          - '&7&oConverts all level pets with level 0 into candy!'
          - '&8┣ &7You have &f{eligible-amount} &7eligible pets!'
          - ''
          - '&eClick to finish action!'
      current-page:
        slot: 49
        material: CLOCK
        name: '&e&lInformation'
        lore:
          - '&7View the max amount of pets'
          - '&7you can have Equipped'
          - ''
          - ' &6┣ &eEquipped: &f{equipped} &8/ &f{equipped-max} '
          - ''
          - '&e&lINCREASE'
          - '&6You can purchase extra slots on '
          - '&6our store, store.servername.com'
  Bin-Menu:Virtual:
    size: 54
    name: '&8&nPet Bin'
    custom-items:
      '1':
        material: LIGHT_GRAY_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-53
      '2':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-8
      '3':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 45-53
    items:
      no-page:
        material: BARRIER
        name: '&4&l[!] &cNo Page'
        lore:
          - ''
          - '&7&oNo page found'
      next-page:
        slot: 50
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: LUCK
          extended: false
        upgraded: false
        name: '&a&lNext Page &2&l-->'
        lore:
          - '&7&oNavigate to the next page.'
          - '&a&oClick to move forward.'
      last-page:
        slot: 48
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: INSTANT_HEAL
          extended: false
          upgraded: true
        name: '&4&l<-- &c&lPrevious Page'
        lore:
          - '&7&oReturn to the previous page.'
          - '&c&oClick to move backward.'
      select-pet:
        material: RED_DYE
      not-selected:
        material: BARRIER
        sound: GHAST_FIREBALL:1:1.5
        name: '&4&l[!] &c&lPlease select a pet'
        lore:
          - '&7&oYou have not selected any pets.'
          - ''
      no-pets:
        material: BARRIER
        sound: GHAST_FIREBALL:1:1.5
        name: '&4&l[!] &c&lNo Pets'
        lore:
          - '&7&oYou do not have any pets that can be converted.'
          - ''
      confirm-pet:
        slot: 46
        sound: LEVEL_UP:1:2
        material: COMPASS
        name: '&2&l[!] &a&lConfirm &2&lPet Bin'
        lore:
          - '&7&oClick to confirm and convert selected pets into candy!'
          - '&8┣ &7You have &f{selected-amount} &7pets selected!'
          - ''
          - '&eClick to finish action!'
      quick-bin-pet:
        slot: 52
        sound: LEVEL_UP:1:2
        material: CAULDRON
        name: '&6&l[!] &e&lQuick &6&lBin'
        lore:
          - '&7&oConverts all level pets with level 0 into candy!'
          - '&8┣ &7You have &f{eligible-amount} &7eligible pets!'
          - ''
          - '&eClick to finish action!'
  Bulk-Delete:
    size: 27
    name: '&8&nBulk Delete'
    custom-items:
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-26
    tiers:
      "Common":
        slot: 11
        material: DIAMOND
        name: '&7&lCommon Pets'
        lore:
          - '&7Delete all pets with the Common Rarity'
          - ' &f┣ &7Amount: &f{amount}'
          - ''
          - '&4&lWarning! &cThis will permanently delete all pets of this tier'
      "Rare":
        slot: 13
        material: LIGHT_BLUE_DYE
        name: '&9&lRare Pets'
        lore:
          - '&7Delete all pets with the Rare Rarity'
          - ' &f┣ &7Amount: &f{amount}'
          - ''
          - '&4&lWarning! &cThis will permanently delete all pets of this tier'
      "Epic":
        slot: 15
        material: PURPLE_DYE
        name: '&d&lEpic Pets'
        lore:
          - '&7Delete all pets with the Epic Rarity'
          - ' &f┣ &7Amount: &f{amount}'
          - ''
          - '&4&lWarning! &cThis will permanently delete all pets of this tier'
  Pet-Mastery-Menu:
    size: 27
    name: '&8&nPet Mastery'
    items:
      no-pet:
        slot: 13
        material: GRAY_DYE
        name: '&#FF0000&lNo Pet Selected'
        lore:
          - '&#A9A9A9&oChoose your faithful companion!'
          - ''
          - '&#A9A9A9Left-Click to open the pet selector'
          - ''
          - '&#FF0000&lCLICK TO SELECT A PET'
      mastery-unavailable:
        material: RED_DYE
        name: '&c&lPet Mastery'
        lore:
          - '&#808080&oUnlock your pet''s true potential!'
          - '&#00FFFF'
          - '&#808080Needed Pet Level: &f{required-level}'
          - '&#808080Current Mastery Level: &f{level}'
          - ''
          - '&#808080Current Bonuses:'
          - '&#fa0ade• +{buff_boost_percent}% &#850375Buff Boost '
          - '&#05cde3• +{experience_boost_percent}% &#068f9eExperience Gain'
          - '&#d1db07• +{level_boost} &#979e06Level Increase'
          - ''
          - '&#808080Next Bonuses:'
          - '&#fa0ade• +{buff_boost_percent_next}% &#850375Buff Boost '
          - '&#05cde3• +{experience_boost_percent_next}% &#068f9eExperience Gain'
          - '&#d1db07• +{level_boost_next} &#979e06Level Increase'
          - ''
          - '&#FF0000&lUNAVALIABLE'
      mastery-max:
        material: YELLOW_DYE
        name: '&c&lPet Mastery'
        lore:
          - '&#808080&oUnlock your pet''s true potential!'
          - '&#00FFFF'
          - '&#808080Needed Pet Level: &f{required-level}'
          - '&#808080Current Mastery Level: &f{level}'
          - ''
          - '&#808080Current Bonuses:'
          - '&#fa0ade• +{buff_boost_percent}% &#850375Buff Boost '
          - '&#05cde3• +{experience_boost_percent}% &#068f9eExperience Gain'
          - '&#d1db07• +{level_boost}% &#979e06Level Increase'
          - ''
          - '&#808080Next Bonuses:'
          - '&#fa0ade• +{buff_boost_percent_next}% &#850375Buff Boost '
          - '&#05cde3• +{experience_boost_percent_next}% &#068f9eExperience Gain'
          - '&#d1db07• +{level_boost_next} &#979e06Level Increase'
          - ''
          - '&#FF0000&lMAX LEVEL'
      mastery:
        slot: 14
        material: LIME_DYE
        name: '&c&lPet Mastery'
        lore:
          - '&#808080&oUnlock your pet''s true potential!'
          - '&#00FFFF'
          - '&#808080Needed Pet Level: &f{required-level}'
          - '&#808080Current Mastery Level: &f{level}'
          - ''
          - '&#808080Current Bonuses:'
          - '&#fa0ade• +{buff_boost_percent}% &#850375Buff Boost'
          - '&#05cde3• +{experience_boost_percent}% &#068f9eExperience Gain'
          - '&#d1db07• +{level_boost}% &#979e06Level Increase'
          - ''
          - '&#808080Next Bonuses:'
          - '&#fa0ade• +{buff_boost_percent_next}% &#850375Buff Boost '
          - '&#05cde3• +{experience_boost_percent_next}% &#068f9eExperience Gain'
          - '&#d1db07• +{level_boost_next} &#979e06Level Increase'
          - ''
          - '&#FF0000&lCLICK TO PRESTIGE THE PET'
      mastery-no-pet:
        material: GRAY_DYE
        name: '&c&lPet Mastery'
        lore:
          - '&#808080&oSelect an pet to preview its avaliable'
          - '&#808080&omastery boosts'
          - ''
    custom-items:
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-26
      '0':
        material: BOOK
        name: '&#FFD700&lPet Mastery Guide'
        lore:
          - '&#E6E6E6&oMaster the art of pet training!'
          - ''
          - '&#ADD8E6What is Pet Mastery?'
          - '&#E6E6E6Pet Mastery is a system that allows'
          - '&#E6E6E6you to enhance your pet''s abilities'
          - '&#E6E6E6through dedicated training and care.'
          - ''
          - '&#ADD8E6How it works:'
          - '&#E6E6E61. Earn xp'
          - '&#E6E6E62. Level up your pet'
          - '&#E6E6E63. open Mastery and prestige your pet'
          - ''
          - '&#ADD8E6Benefits:'
          - '&#E6E6E6• Increased level limits'
          - '&#E6E6E6• Faster pet experience gain'
          - '&#E6E6E6• Increased buff boosts'
          - ''
          - '&#FFD700&lStart your mastery journey today!'
        slot: 12
  Pet-Preview-Menu:
    size: 27
    display-slots:
      - 11
      - 12
      - 13
      - 14
      - 15
      - 16
    name: '&8&n{player}''s Pets'
    custom-items:
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-26
    items:
      slot-locked:
        material: BARRIER
        name: '&4&l[!] &cLocked Slot'
        lore:
          - '&c&o{player} has this slot locked'
      slot-unlocked:
        material: LIME_STAINED_GLASS_PANE
        name: '&2&l[!] &aUnlocked Slot'
        lore:
          - '&a&o{player} has this slot unlocked'
  Pet-Enhancements-Menu:
    size: 36
    name: '&8&nPet Enhancements'
    spin-slots:
      - 3
      - 4
      - 5
      - 12
      - 14
      - 21
      - 22
      - 23
    requirements:
      amount: '%rivalpets_currency_enhancementticket%'
      needed: 1
      remove-command: enhancementticket take {player} {amount} -s
      message: '&4&l[!] &cYou don''t have enough enhancement tickets.'
    items:
      roll:
        slot: 15
        sound: BLAZE_HIT:1:2
        material: GRAY_DYE
        name: '&c&lNo Pet Selected'
        lore:
          - '&7&oLeft Click to use a Enchancement Ticket '
          - '&7&oand find an amazing Enchancement for your pet'
          - '&7'
          - '&7&oYou have &f&n{amount} &7&otickets left'
          - '&c'
          - '&c&lCLICK TO ROLL'
      no-pet:
        slot: 13
        sound: BLAZE_HIT:1:2
        material: GRAY_DYE
        name: '&c&lNo Pet Selected'
        lore:
          - '&7&oLeft Click to open the pet selector '
          - '&c'
          - '&c&lCLICK HERE'
      preview:
        slot: 11
        material: EMERALD
        name: '&3&lPet Enhancements'
        lore:
          - '&7&oLeft Click to view all of the possible pet '
          - '&7&oenhancements, their buffs and chances to obtain them'
          - '&c'
          - '&b&lCLICK HERE '
          - '&3Click to preview'
      not-enough:
        material: BARRIER
        sound: BLAZE_HIT:1:2
        name: '&4&lNo Credits'
        lore:
          - '&c&oYou do not have enough credits'
          - '&c&opurchase more on store.servername.net'
          - '&c'
    custom-items:
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-35
      purchase-1:
        slot: 30
        sound: LEVEL_UP:1:2
        placeholder: '%rivalcredits_balance%'
        cost: 100
        commands:
          - credits remove {player} {amount}
          - enhancementticket give {player} 1
        material: PAPER
        name: '&5&lEnhancement Tickets'
        lore:
          - '&7&oPurchase Enhancement Tickets using Credits'
          - '&6* &ePrice: &b100 Credits'
          - '&c'
          - '&a&lCLICK TO PURCHASE'
      purchase-2:
        slot: 31
        amount: 4
        sound: LEVEL_UP:1:2
        placeholder: '%rivalcredits_balance%'
        cost: 400
        commands:
          - credits remove {player} {amount}
          - enhancementticket give {player} 4
        material: PAPER
        name: '&5&lEnhancement Tickets'
        lore:
          - '&7&oPurchase Enhancement Tickets using Credits'
          - '&6* &ePrice: &b400 Credits'
          - '&c'
          - '&a&lCLICK TO PURCHASE'
      purchase-3:
        slot: 32
        amount: 8
        sound: LEVEL_UP:1:2
        placeholder: '%rivalcredits_balance%'
        cost: 800
        commands:
          - credits remove {player} {amount}
          - enhancementticket give {player} 8
        material: PAPER
        name: '&5&lEnhancement Tickets'
        lore:
          - '&7&oPurchase Enhancement Tickets using Credits'
          - '&6* &ePrice: &b800 Credits'
          - '&c'
          - '&a&lCLICK TO PURCHASE'
  Pet-Selection-Menu:
    size: 45
    name: '&8&nPet Selection'
    items:
      no-page:
        material: BARRIER
        name: '&4&l[!] &cNo Page'
        lore:
          - ''
          - '&7&oNo page found'
      next-page:
        slot: 44
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: LUCK
          extended: false
        upgraded: false
        name: '&a&lNext Page &2&l-->'
        lore:
          - '&7&oNavigate to the next page.'
          - '&a&oClick to move forward.'
      last-page:
        slot: 36
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: INSTANT_HEAL
          extended: false
          upgraded: true
        name: '&4&l<-- &c&lPrevious Page'
        lore:
          - '&7&oReturn to the previous page.'
          - '&c&oClick to move backward.'
    custom-items:
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-44
  Enhancements-Preview-Menu:
    size: 45
    name: '&8&nEnhancement Preview'
    custom-items:
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-44
  Upgrades-Menu:
    size: 27
    name: '&8&nPet Upgrades'
    custom-items:
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-26
  Fusion-Menu:Chance:
    size: 54
    name: '&8&nPet Fusion'
    pet-slot: 4
    custom-items:
      '1':
        material: LIGHT_GRAY_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-53
      '2':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-8
      '3':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 45-53
    items:
      not-enough:
        material: BARRIER
        sound: BLAZE_HIT:1:2
        name: '&4&lNo Credits'
        lore:
          - '&c&oYou do not have enough credits to purchase this.'
          - '&c'
      current-page:
        slot: 49
        material: CLOCK
        name: '&e&lInformation &6[Page #{page}&e/&6#{max}]'
        lore:
          - '&7View the max amount of pets'
          - '&7you can have in your storage'
          - ''
          - ' &6┣ &eEquipped: &f{equipped} &8/ &f{equipped-max} '
          - ' &6┣ &eStorage: &f{storage} &8/ &f{storage-max} '
          - ''
          - '&e&lINCREASE'
          - '&6You can purchase extra storage or slots on '
          - '&6our store, store.servername.com'
      no-page:
        material: BARRIER
        name: '&4&l[!] &cNo Page'
        lore:
          - ''
          - '&7&oNo page found'
      next-page:
        slot: 50
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: LUCK
          extended: false
        upgraded: false
        name: '&a&lNext Page &2&l-->'
        lore:
          - '&7&oNavigate to the next page.'
          - '&a&oClick to move forward.'
      last-page:
        slot: 48
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: INSTANT_HEAL
          extended: false
          upgraded: true
        name: '&4&l<-- &c&lPrevious Page'
        lore:
          - '&7&oReturn to the previous page.'
          - '&c&oClick to move backward.'
      confirm-fusion:
        slot: 46
        sound: LEVEL_UP:1:2
        material: COMPASS
        name: '&2&l[!] &a&lConfirm &2&lFusion'
        lore:
          - '&7&oClick to confirm and fuse selected pets!'
          - ''
          - '{info}'
          - '&b&lCost: &f{cost} Currency'
          - ''
          - '&3&lChance: &f{chance}%'
          - '&eClick to finish action!'
        placeholder: '%rivalcredits_balance%'
        commands:
          - 'credits remove {player} {amount}'
  Fusion-Menu:Inventory:
    size: 36
    name: '&8&nPet Fusion'
    pet-1-slot: 11
    pet-2-slot: 15
    custom-items:
      '1':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-35
    items:
      current-page:
        slot: 49
        material: CLOCK
        name: '&e&lInformation'
        lore:
          - '&7View the max amount of pets'
          - '&7you can have Equipped'
          - ''
          - ' &6┣ &eEquipped: &f{equipped} &8/ &f{equipped-max} '
          - ''
          - '&e&lINCREASE'
          - '&6You can purchase extra slots on '
          - '&6our store, store.servername.com'
      no-pet:
        slot: 35
        material: BARRIER
        name: '&4&l[!] &c&lNo Pets Selected'
        lore:
          - '&7&oSelect 2 pets with the same tiers to fuse them!'
          - ''
      confirm-fusion:
        slot: 30
        sound: LEVEL_UP:1:2
        material: COMPASS
        name: '&2&l[!] &a&lConfirm &2&lFusion'
        lore:
          - '&7&oClick to confirm and fuse selected pets!'
          - ''
          - '&eClick to finish action!'
      quick-fusion:
        slot: 32
        sound: LEVEL_UP:1:2
        material: BEACON
        name: '&2&l[!] &a&lQuick &2&lFusion'
        lore:
          - '&7&oClick to confirm and fuse all eligible pets !'
          - ''
          - '&eClick to finish action!'
      display-two-selected:
        slot: 13
        sound: LEVEL_UP:1:2
        material: END_PORTAL_FRAME
        name: '&2&l[!] &a&lPet &2Fusion'
        lore:
          - '&7&oYou have selected two pets,'
          - '&7&oclick the confirm action to complete the fusion'
          - ''
          - '&eClick to finish action!'
      display-not-selected:
        slot: 13
        sound: LEVEL_UP:1:2
        material: BEACON
        name: '&2&l[!] &a&lPet &2Fusion'
        lore:
          - '&7&oSelect two of the same tiers of pets to merge them into a higher tier!'
          - ''
          - '&eClick to finish action!'
  Fusion-Menu:Virtual:
    size: 54
    name: '&8&nPet Fusion'
    pet-1-slot: 2
    pet-2-slot: 6
    custom-items:
      '1':
        material: LIGHT_GRAY_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-53
      '2':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 0-8
      '3':
        material: BLACK_STAINED_GLASS_PANE
        name: '&7'
        slot: 45-53
    items:
      current-page:
        slot: 49
        material: CLOCK
        name: '&e&lInformation &6[Page #{page}&e/&6#{max}]'
        lore:
          - '&7View the max amount of pets'
          - '&7you can have in your storage'
          - ''
          - ' &6┣ &eEquipped: &f{equipped} &8/ &f{equipped-max} '
          - ' &6┣ &eStorage: &f{storage} &8/ &f{storage-max} '
          - ''
          - '&e&lINCREASE'
          - '&6You can purchase extra storage or slots on '
          - '&6our store, store.servername.com'
      no-page:
        material: BARRIER
        name: '&4&l[!] &cNo Page'
        lore:
          - ''
          - '&7&oNo page found'
      next-page:
        slot: 50
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: LUCK
          extended: false
        upgraded: false
        name: '&a&lNext Page &2&l-->'
        lore:
          - '&7&oNavigate to the next page.'
          - '&a&oClick to move forward.'
      last-page:
        slot: 48
        sound: LEVEL_UP:1:2
        material: TIPPED_ARROW
        flags:
          HIDE_ATTRIBUTES: true
          HIDE_POTION_EFFECTS: true
        potion:
          type: INSTANT_HEAL
          extended: false
          upgraded: true
        name: '&4&l<-- &c&lPrevious Page'
        lore:
          - '&7&oReturn to the previous page.'
          - '&c&oClick to move backward.'
      no-pet:
        slot: 46
        material: BARRIER
        name: '&4&l[!] &c&lNo Pets Selected'
        lore:
          - '&7&oSelect 2 pets with the same tiers to fuse them!'
          - ''
      confirm-fusion:
        slot: 46
        sound: LEVEL_UP:1:2
        material: COMPASS
        name: '&2&l[!] &a&lConfirm &2&lFusion'
        lore:
          - '&7&oClick to confirm and fuse selected pets!'
          - ''
          - '&eClick to finish action!'
      quick-fusion:
        slot: 52
        sound: LEVEL_UP:1:2
        material: BEACON
        name: '&2&l[!] &a&lQuick &2&lFusion'
        lore:
          - '&7&oClick to confirm and fuse all eligible pets !'
          - ''
          - '&eClick to finish action!'
      display-two-selected:
        slot: 4
        sound: LEVEL_UP:1:2
        material: END_PORTAL_FRAME
        name: '&2&l[!] &a&lPet &2Fusion'
        lore:
          - '&7&oYou have selected two pets,'
          - '&7&oclick the confirm action to complete the fusion'
          - ''
          - '&eClick to finish action!'
      display-not-selected:
        slot: 4
        sound: LEVEL_UP:1:2
        material: BEACON
        name: '&2&l[!] &a&lPet &2Fusion'
        lore:
          - '&7&oSelect two of the same tiers of pets to merge them into a higher tier!'
          - ''
          - '&eClick to finish action!'
```


# messages.yml

```
Messages:
  give-storage-admin:
    message: '&3&l[!] &bYou have given &3{player} &f{amount} &bof pet storage!'
    sound: 'LEVEL_UP:1:2'
  receive-storage-player:
    message: '&3&l[!] &bYou have been &f{amount} &bof pet storage!'
    sound: 'LEVEL_UP:1:2'
  set-storage-player:
    message: '&3&l[!] &bYour pet storage have been set to &f{amount}'
    sound: 'LEVEL_UP:1:2'
  set-storage-admin:
    message: '&3&l[!] &bYour have set pet storage of &f{player} &bto &f{amount}'
    sound: 'LEVEL_UP:1:2'
  give-slots-admin:
    message: '&3&l[!] &bYou have given &3{player} &f{amount} &bof pet slots!'
    sound: 'LEVEL_UP:1:2'
  receive-slots-player:
    message: '&3&l[!] &bYou have been &f{amount} &bof pet slots!'
    sound: 'LEVEL_UP:1:2'
  set-slots-player:
    message: '&3&l[!] &bYour pet slots have been set to &f{amount}'
    sound: 'LEVEL_UP:1:2'
  set-slots-admin:
    message: '&3&l[!] &bYour have set pet slots of &f{player} &bto &f{amount}'
    sound: 'LEVEL_UP:1:2'
  set-owner:
    message: '&3&l[!] &bYour have set the owner of this pet to &f{player}'
    sound: 'LEVEL_UP:1:2'
  set-owner-no-pet:
    message: '&3&l[!] &bYou are not holding an pet in your hand!'
    sound: 'GHAST_FIREBALL:1:5'
  give-candy:
    message: '&3&l[!] &bYou have given {player} &f{amount} of {candy}!'
    sound: 'LEVEL_UP:1:2'
  receive-candy:
    message: '&3&l[!] &bYou have been give &f{amount} {candy}!'
    sound: 'LEVEL_UP:1:2'
  give-petbox:
    message: '&3&l[!] &bYou have given {player} &f{amount} of {petbox}!'
    sound: 'LEVEL_UP:1:2'
  receive-petbox:
    message: '&3&l[!] &bYou have been given &f{amount} {petbox}!'
    sound: 'LEVEL_UP:1:2'
  max-activated:
    message: '&4&l[!] &cYou have the max amount of pets you can activate!'
    sound: 'LEVEL_UP:1:0.3'
  no-slots:
    message: '&4&l[!] &cYou need more pet slots to activate this pet. &7({current}/{max})'
    sound: 'ANVIL_LAND:1:1'
  storage-full-given:
    message: '&4&l[!] &cYou were given a pet but your pet storage was full!'
    sound: 'GHAST_FIREBALL:1:5'
  storage-full-deposit:
    message: '&4&l[!] &cYour pet storage is full &7({current}/{max})!'
    sound: 'GHAST_FIREBALL:1:1.5'
  deleted-pets:
    message: '&4&l[!] &cYou have permanently deleted &f{amount} &cpets!'
    sound: 'ANVIL_LAND:1:1'
  upgrade-max-level:
    message: '&4&l[!] &cThis upgrade is at it''s max level'
    sound: 'GHAST_FIREBALL:1:1.5'
  upgrade-max-level-exceeded:
    message: '&4&l[!] &cThis action would exceed the max level of upgrade'
    sound: 'GHAST_FIREBALL:1:1.5'
  owner-locked-deposit:
    message: '&4&l[!] &cYou can''t deposit this pet as you are &4&lNOT &cthe owner of this pet!'
    sound: 'GHAST_FIREBALL:1:1.5'
  owner-locked:
    message: '&4&l[!] &cYou can''t activate this pet as you are &4&lNOT &cthe owner of it!'
    sound: 'GHAST_FIREBALL:1:1.5'
  owner-locked-bin:
    message: '&4&l[!] &cYou can''t bin this pet as you are &4&lNOT &cthe owner of it!'
    sound: 'GHAST_FIREBALL:1:1.5'
  owner-locked-fusion:
    message: '&4&l[!] &cYou can''t fuse this pet as you are &4&lNOT &cthe owner of it!'
    sound: 'GHAST_FIREBALL:1:1.5'
  cannot-fuse:
    message: '&4&l[!] &cThis pet can not be fused!'
    sound: 'GHAST_FIREBALL:1:1.5'
  cannot-bin:
    message: '&4&l[!] &cThis pet can not be selected for the bin!'
    sound: 'GHAST_FIREBALL:1:1.5'
  cannot-fuse-type:
    message: '&4&l[!] &cThis pet can not be fused, only same tier pets can be fused together!'
    sound: 'GHAST_FIREBALL:1:1.5'
  on-cooldown:
    message: '&4&l[!] &cThis pet is on cooldown for another &f{time}&c!'
    sound: 'GHAST_FIREBALL:1:1.5'
  player-toggle-on:
    message: '&2&l[!] &7You have turned &a&non &7the visibility of your pets!'
    sound: 'LEVEL_UP:1:0.3'
  player-toggle-off:
    message: '&4&l[!] &7You have turned &a&noff &7the visibility of your pets!'
    sound: 'LEVEL_UP:1:0.3'
  player-hide-on:
    message: '&2&l[!] &7You have turned &a&non &7the visibility of other players pets!'
    sound: 'LEVEL_UP:1:0.3'
  player-hide-off:
    message: '&4&l[!] &7You have turned &c&noff &7the visibility of other players pets!'
    sound: 'LEVEL_UP:1:0.3'
  owner-scroll-use:
    message: '&4&l[!] &7You have applied an owner scroll and switched ownership of the pet to yourself!'
    sound: 'LEVEL_UP:1:0.3'
  owner-scroll-already:
    message: '&4&l[!] &7You are already an owner of this pet!'
    sound: 'GHAST_FIREBALL:1:1.5'
  no-permission:
    message: '&4&l[!] &cYou do not have the permission for this command.'
    sound: 'GHAST_FIREBALL:1:1.5'
  command-usage:
    message: '&4&l[!] &cUsage: &f{command}'
    sound: 'GHAST_FIREBALL:1:1.5'
  same-type:
    message: '&4&l[!] &cYou can''t equip pets of the same type!.'
    sound: 'GHAST_FIREBALL:1:1.5'
  fusion-failed:
    message: '&4&l[!] &cUnlucky, fusion failed, you have lost all the pets selected.'
    sound: 'GHAST_FIREBALL:1:1.5'
  no-pets-fusion:
    message: '&4&l[!] &cYou don''t have any pets that can be fused!.'
    sound: 'GHAST_FIREBALL:1:1.5'
  pet-select:
    message: '&4&l[!] &cYou don''t have a pet selected!.'
    sound: 'GHAST_FIREBALL:1:1.5'
  give-levelscroll:
    message: '&3&l[!] &bYou have given {player} a Level Scroll with &f{amount} &blevels!'
    sound: 'LEVEL_UP:1:2'
  receive-levelscroll:
    message: '&3&l[!] &bYou have been given a Level Scroll with &f{amount} &blevels!'
    sound: 'LEVEL_UP:1:2'
  give-rarityscroll:
    message: '&3&l[!] &bYou have given {player} &f{amount} &bPet Rarity Scrolls!'
    sound: 'LEVEL_UP:1:2'
  receive-rarityscroll:
    message: '&3&l[!] &bYou have been given &f{amount} &bPet Rarity Scrolls!'
    sound: 'LEVEL_UP:1:2'
  give-ownerscroll:
    message: '&3&l[!] &bYou have given {player} &f{amount} &bPet Owner Scrolls!'
    sound: 'LEVEL_UP:1:2'
  receive-ownerscroll:
    message: '&3&l[!] &bYou have been given &f{amount} &bPet Owner Scrolls!'
    sound: 'LEVEL_UP:1:2'

  default-command:
    - '&#00BFFF[!] &#87CEFAᴘᴇᴛs ᴄᴏᴍᴍᴀɴᴅs'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs - ᴏᴘᴇɴ ᴍᴀɪɴ ɢᴜɪ'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAᴛᴏɢɢʟᴇ &#808080- &#A9A9A9ᴛᴏɢɢʟᴇ ʏᴏᴜʀ ғʟᴏᴀᴛɪɴɢ ᴘᴇᴛs'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAʜɪᴅᴇ &#808080- &#A9A9A9ʜɪᴅᴇ ᴏᴛʜᴇʀ ᴘʟᴀʏᴇʀs ғʟᴏᴀᴛɪɴɢ ᴘᴇᴛs'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAᴀʙᴏᴜᴛ &#808080- &#A9A9A9sʜᴏᴡ sᴏᴍᴇ ɪɴғᴏʀᴍᴀᴛɪᴏɴ ᴀʙᴏᴜᴛ ᴛʜᴇ ᴘʟᴜɢɪɴ'

  admin-command:
    - '&#00BFFF[!] &#87CEFAᴘᴇᴛs ᴀᴅᴍɪɴ ᴄᴏᴍᴍᴀɴᴅs'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAɢɪᴠᴇ &#A9A9A9<ᴘʟᴀʏᴇʀ> <ᴘᴇᴛ> <ᴀᴍᴏᴜɴᴛ>'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAʙᴜғғs'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAɢɪᴠᴇᴄᴀɴᴅʏ &#A9A9A9<ᴘʟᴀʏᴇʀ> <ᴛʏᴘᴇ> <ᴀᴍᴏᴜɴᴛ>'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAɢɪᴠᴇᴘᴇᴛʙᴏx &#A9A9A9<ᴘʟᴀʏᴇʀ> <ᴛʏᴘᴇ> <ᴀᴍᴏᴜɴᴛ>'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAɢɪᴠᴇᴏᴡɴᴇʀsᴄʀᴏʟʟ &#A9A9A9<ᴘʟᴀʏᴇʀ> <ᴀᴍᴏᴜɴᴛ>'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAɢɪᴠᴇsʟᴏᴛs &#A9A9A9<ᴘʟᴀʏᴇʀ> <ᴀᴍᴏᴜɴᴛ>'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAɢɪᴠᴇsᴛᴏʀᴀɢᴇ &#A9A9A9<ᴘʟᴀʏᴇʀ> <ᴀᴍᴏᴜɴᴛ>'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAsᴇᴛᴏᴡɴᴇʀ &#A9A9A9<ᴘʟᴀʏᴇʀ>'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAsᴇᴛsʟᴏᴛs &#A9A9A9<ᴘʟᴀʏᴇʀ> <ᴀᴍᴏᴜɴᴛ>'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAsᴇᴛsᴛᴏʀᴀɢᴇ &#A9A9A9<ᴘʟᴀʏᴇʀ> <ᴀᴍᴏᴜɴᴛ>'
    - ' &#00BFFF┣  &#FFFFFFᴘᴇᴛs &#87CEFAʀᴇʟᴏᴀᴅ'
```


# petboxes.yml

```yaml
Boxes:
  CommonPetBox:
    name: '&a&lCommon Pet Box'
    lore:
      - '&8Common Pet Box'
      - ''
      - '&aPETS'
      - ' * Dragon Pet'
    material: PLAYER_HEAD
    base64: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDUyZTU2MWZkNjNiNDIzOGExNzEzOWQ1NzNhMTMxY2Y3MjJhMWU5NmY0Nzk1NTc1NTI4ZTZlZDQyNzU2ZDRhIn19fQ==
    # Amount of random pets from list
    amount: 1
    pets:
      - DragonPet:1:50
      - DragonPet:2:50
      # PetType, Amount, Chance
    hologram:
      enabled: true
      value:
        - '&f&lCommon Pet Box'
        - '&8* &7Opened by &f{player}'
    message:
      enabled: true
      value: '&b&lPETBOX &8» &7You have found a {pet} &7from a &f&lCommon Pet Box'
    broadcast:
      enabled: true
      value:
        - '&r'
        - '&b&lPETBOX &8» &f{player} &7opened a &f&lCommon Pet Box &7and found a {pet}'
        - '&r'


Settings:
  #Opens instantly skipping the animation
  quick-open: false
  #Only shows the animation to the player that opened the pet box
  per-player: true
```


# scrolls.yml

```yaml
Owner-Scroll:
  material: 'QUARTZ'
  name: '&#FFD700ᴘᴇᴛ ᴏᴡɴᴇʀsʜɪᴘ sᴄʀᴏʟʟ'
  lore:
    - '&#E6E6E6ᴅʀᴀɢ ᴀɴᴅ ᴅʀᴏᴘ ᴛʜɪs sᴄʀᴏʟʟ ᴏɴᴛᴏ ᴀ ᴘᴇᴛ'
    - '&#E6E6E6ᴛᴏ ᴄʟᴀɪᴍ ᴏᴡɴᴇʀsʜɪᴘ!'
    - ''
    - '&#FFD700✦ &#FFA500ʙᴇᴄᴏᴍᴇ ᴛʜᴇ ᴍᴀsᴛᴇʀ ᴏғ ʏᴏᴜʀ ɴᴇᴡ ᴄᴏᴍᴘᴀɴɪᴏɴ'

Rarity-Scroll:
  material: 'QUARTZ'
  name: '&#FF69B4ᴘᴇᴛ ʀᴀʀɪᴛʏ sᴄʀᴏʟʟ'
  lore:
    - '&#E6E6E6ᴅʀᴀɢ ᴀɴᴅ ᴅʀᴏᴘ ᴛʜɪs sᴄʀᴏʟʟ ᴏɴᴛᴏ ᴀ ᴘᴇᴛ'
    - '&#E6E6E6ᴛᴏ ᴜᴘɢʀᴀᴅᴇ ɪᴛs ʀᴀʀɪᴛʏ!'
    - ''
    - '&#FF69B4✦ &#FF1493ᴇʟᴇᴠᴀᴛᴇ ʏᴏᴜʀ ᴘᴇᴛ ᴛᴏ ɴᴇᴡ ʜᴇɪɢʜᴛs'

Level-Scroll:
  material: 'QUARTZ'
  name: '&#00CED1ᴘᴇᴛ ʟᴇᴠᴇʟ sᴄʀᴏʟʟ'
  lore:
    - '&#E6E6E6ᴅʀᴀɢ ᴀɴᴅ ᴅʀᴏᴘ ᴛʜɪs sᴄʀᴏʟʟ ᴏɴᴛᴏ ᴀ ᴘᴇᴛ'
    - '&#E6E6E6ᴛᴏ ɪɴᴄʀᴇᴀsᴇ ɪᴛs ʟᴇᴠᴇʟ ʙʏ ᴏɴᴇ!'
    - ''
    - '&#00CED1✦ &#20B2AAᴘᴏᴡᴇʀ ᴜᴘ ʏᴏᴜʀ ᴘᴇᴛ ᴡɪᴛʜ ᴀ sɪɴɢʟᴇ ʟᴇᴠᴇʟ'

Level-Scroll-Multi:
  material: 'QUARTZ'
  name: '&#4B0082ᴍᴜʟᴛɪ-ʟᴇᴠᴇʟ ᴘᴇᴛ sᴄʀᴏʟʟ'
  lore:
    - '&#E6E6E6ᴅʀᴀɢ ᴀɴᴅ ᴅʀᴏᴘ ᴛʜɪs sᴄʀᴏʟʟ ᴏɴᴛᴏ ᴀ ᴘᴇᴛ'
    - '&#E6E6E6ᴛᴏ ɪɴᴄʀᴇᴀsᴇ ɪᴛs ʟᴇᴠᴇʟ ʙʏ {amount}!'
    - ''
    - '&#4B0082✦ &#8A2BE2sᴋʏʀᴏᴄᴋᴇᴛ ʏᴏᴜʀ ᴘᴇᴛ''s ᴘᴏᴡᴇʀ'
```


# upgrades.yml

```yaml
Settings:
  enabled: true
  new-upgrade-menu: true
  refund-enabled: false
  refund-percentage: 50
  size: 27
  name: '&8{upgrade} Upgrade'
  custom-items:
    '1':
      material: BLACK_STAINED_GLASS_PANE
      name: '&7'
      slot: 0-26
Refund-Menu:
  size: 27
  name: '&8&nPet Upgrade Refunds'
  custom-items:
    '1':
      material: BLACK_STAINED_GLASS_PANE
      name: '&7'
      slot: 0-26
Toggle-Items:
  enabled: true
  slot: 26
  No-Upgrade:
    material: BARRIER
    name: '&c&lCannot disable'
    lore:
      - '&7You don''t own this upgrade'
  Enabled-Item:
    material: LIME_DYE
    name: '&a&lUpgrade Toggle'
    lore:
      - '&7Whether or not should this upgrade'
      - '&7be enabled while grinding'
      - ''
      - '&a&lENABLED'
      - '&2Click to disable'
  Disabled-Item:
    material: RED_DYE
    name: '&c&lUpgrade Toggle'
    lore:
      - '&7Whether or not should this upgrade'
      - '&7be enabled while grinding'
      - ''
      - '&c&lDISABLED'
      - '&4Click to enable'
Back-Item:
  enabled: true
  slot: 18
  material: BARRIER
  name: '&4&l<!> &c&lGo Back'
  lore:
    - ' &7&o(( Click to go back to main menu! ))'
Refund-Item:
  enabled: true
  slot: 26
  material: BOOK
  name: '&4&l<!> &c&lUpgrade Refunder'
  lore:
    - ' &7&o(( Click to refund your upgrades! ))'
Toggle-Messages:
  enabled: true
  slot: 25
  Enabled-Item:
    material: LIME_DYE
    name: '&a&lUpgrade Messages'
    lore:
      - '&7Whether or not should this upgrade'
      - '&7should send messages while grinding'
      - ''
      - '&a&lENABLED'
      - '&2Click to disable'
  Disabled-Item:
    material: RED_DYE
    name: '&c&lUpgrade Messages'
    lore:
      - '&7Whether or not should this upgrade'
      - '&7should send messages while grinding'
      - ''
      - '&c&lDISABLED'
      - '&4Click to enable'
PurchaseUpgradeItem:
  name: '&a&l+ {amount} Upgrade Levels'
  lore:
    - ' '
    - ' &2&l* &a&lCurrent Level: &f{current_level}'
    - ' &2&l* &a&lNew Level: &f{next_level}'
    - ' &2&l* &a&lPrice: &f{cost}'
    - ' '
    - ' &7&o(( Tip: Click to purchase upgrade! ))'
PurchaseUpgradeMaxItem:
  enabled: true
  slot: 22
  material: IRON_BARS
  name: '&a&l+ {amount} Upgrade Levels'
  lore:
    - ' '
    - ' &2&l* &a&lCurrent Level: &f{current_level}'
    - ' &2&l* &a&lNew Level: &f{next_level}'
    - ' &2&l* &a&lPrice: &f{cost}'
    - ' '
    - ' &7&o(( Tip: Click to purchase max upgrade levels! ))'
Menu-Items:
  '1':
    slot: 9
    amount: 1
    levels: 1
  '2':
    slot: 10
    amount: 2
    levels: 5
  '3':
    slot: 11
    amount: 3
    levels: 10
  '4':
    slot: 12
    amount: 4
    levels: 25
  '5':
    slot: 13
    amount: 5
    levels: 50
  '6':
    slot: 14
    amount: 6
    levels: 100
  '7':
    slot: 15
    amount: 7
    levels: 250
  '8':
    slot: 16
    amount: 8
    levels: 500
  '9':
    slot: 17
    amount: 9
    levels: 1000
Custom-Display:
  XPFinder:
    name: '&a&l+ {amount} Upgrade Levels'
    lore:
      - '&8Custom Upgrade'
      - '&7&oChance to find xp.'
      - ' '
      - ' &2&l* &a&lCurrent Level: &f{current_level}'
      - ' &2&l* &a&lNew Level: &f{next_level}'
      - ' &2&l* &a&lPrice: &f{cost}'
      - ' '
      - ' &7&o(( Tip: Click to purchase upgrade! ))'
Upgrades:
  XPFinder:
    enabled: true
    base: 0.01
    increase-per-level: 0.001
    price: 5000
    amount: 100-500
    message:
      value: '&2&lXP Finder &8┣  &aYou have found &f{amount} &apet xp!'
      sound: LEVEL_UP:1:2
    price-increase: 100
    slot: 11
    max-level: 101
    refund-display:
      name: '&2&lXP Finder &a&lUpgrade'
      lore:
        - '&7Chance to gain a bulk amount of xp'
        - '&7for your pets'
        - ''
        - '&2&lInformation'
        - ' &2┣  &fLevel: &a{level} &8/ &c{max}'
        - ''
        - '&7&o(( Left Click to refund 1 level ))'
        - '&7&o(( Right Click to refund 10 levels ))'
        - '&7&o(( Middle Click to refund 100 levels ))'
        - '&7&o(( Q to refund all levels ))'
      material: EXPERIENCE_BOTTLE
    display:
      name: '&2&lXP Finder &a&lUpgrade'
      lore:
        - '&7Chance to gain a bulk amount of xp'
        - '&7for your pets'
        - ''
        - '&2&lInformation'
        - ' &2┣  &fLevel: &a{level} &8/ &c{max}'
        - ' &2┣  &fPrice: &e{cost} Currency'
        - ''
        - '&2&lActivation Chances'
        - ' &2┣  &fCurrent: &e{chance-percent}%'
        - ''
        - '&7&o(( Left Click to purchase 1 level ))'
        - '&7&o(( Right Click to purchase 10 levels ))'
        - '&7&o(( Q to purchase Max levels ))'
      material: EXPERIENCE_BOTTLE
    economy:
      balance: '%rivalhoes_essence%'
      purchase-message: '&3&l[!] &bYou have purchased &f{levels} level(s) &bof {upgrade}
        &bfor &2$&a{cost}'
      notenough-message: '&4&l[!] &cYou dont have enough essence to purchase this
        upgrade.'
      disenchant-message: '&3&l[!] &bYou have refunded the {upgrade} and received
        &2$&a{cost}'
      give-command: essence give {player} {amount} -s
      remove-command: essence remove {player} {amount} -s
  XPBooster:
    enabled: true
    base: 0.1
    increase-per-level: 0.1
    price: 5000
    price-increase: 100
    slot: 12
    max-level: 100
    refund-display:
      name: '&2&lXP Booster &a&lUpgrade'
      lore:
        - '&7Chance to boost amount of xp you receive'
        - '&7for your pets'
        - ''
        - '&2&lInformation'
        - ' &2┣  &fLevel: &a{level} &8/ &c{max}'
        - ''
        - '&7&o(( Left Click to refund 1 level ))'
        - '&7&o(( Right Click to refund 10 levels ))'
        - '&7&o(( Middle Click to refund 100 levels ))'
        - '&7&o(( Q to refund all levels ))'
      material: ENDER_EYE
    display:
      name: '&2&lXP Booster &a&lUpgrade'
      lore:
        - '&7Chance to boost amount of xp you receive'
        - '&7for your pets'
        - ''
        - '&2&lInformation'
        - ' &2┣  &fLevel: &a{level} &8/ &c{max}'
        - ' &2┣  &fPrice: &e{cost} Currency'
        - ''
        - '&2&lBoost Amount'
        - ' &2┣  &fCurrent: &e{boost}%'
        - ''
        - '&7&o(( Left Click to purchase 1 level ))'
        - '&7&o(( Right Click to purchase 10 levels ))'
        - '&7&o(( Q to purchase Max levels ))'
      material: ENDER_EYE
    economy:
      balance: '%rivalhoes_essence%'
      purchase-message: '&3&l[!] &bYou have purchased &f{levels} level(s) &bof {upgrade}
        &bfor &2$&a{cost}'
      notenough-message: '&4&l[!] &cYou dont have enough essence to purchase this
        upgrade.'
      disenchant-message: '&3&l[!] &bYou have refunded the {upgrade} and received
        &2$&a{cost}'
      give-command: essence give {player} {amount} -s
      remove-command: essence remove {player} {amount} -s
  LevelCap:
    enabled: true
    price: 5000
    price-increase: 100
    slot: 14
    refund-display:
      name: '&6&lLevel Cap &e&lUpgrade'
      lore:
        - '&7Increase the level cap of your pets'
        - ''
        - '&6&lInformation'
        - ' &6┣  &fLevel: &a{level} &8/ &c{max}'
        - ''
        - '&7&o(( Left Click to refund 1 level ))'
        - '&7&o(( Right Click to refund 10 levels ))'
        - '&7&o(( Middle Click to refund 100 levels ))'
        - '&7&o(( Q to refund all levels ))'
      material: RAW_GOLD
    display:
      name: '&6&lLevel Cap &e&lUpgrade'
      lore:
        - '&7Increase the level cap of your pets'
        - ''
        - '&6&lInformation'
        - ' &6┣  &fLevel: &a{level} &8/ &c{max}'
        - ' &6┣  &fPrice: &e{cost} Currency'
        - ''
        - '&6&lBoost Amount'
        - ' &6┣  &fExtra Levels: &e{amount}'
        - ''
        - ''
        - '&7&o(( Left Click to purchase 1 level ))'
        - '&7&o(( Right Click to purchase 10 levels ))'
        - '&7&o(( Q to purchase Max levels ))'
      material: RAW_GOLD
    max-level: 100
    economy:
      balance: '%rivalhoes_essence%'
      purchase-message: '&3&l[!] &bYou have purchased &f{levels} level(s) &bof {upgrade}
        &bfor &2$&a{cost}'
      notenough-message: '&4&l[!] &cYou dont have enough essence to purchase this
        upgrade.'
      disenchant-message: '&3&l[!] &bYou have refunded the {upgrade} and received
        &2$&a{cost}'
      give-command: essence give {player} {amount} -s
      remove-command: essence remove {player} {amount} -s
  CandyFinder:
    enabled: true
    base: 0.01
    increase-per-level: 0.01
    price: 5000
    price-increase: 100
    slot: 15
    refund-display:
      name: '&5&lCandy Finder &d&lUpgrade'
      lore:
        - '&7Chance to find Candies for your pets'
        - ''
        - '&5&lInformation'
        - ' &5┣  &fLevel: &a{level} &8/ &c{max}'
        - ''
        - '&7&o(( Left Click to refund 1 level ))'
        - '&7&o(( Right Click to refund 10 levels ))'
        - '&7&o(( Middle Click to refund 100 levels ))'
        - '&7&o(( Q to refund all levels ))'
      material: HEART_OF_THE_SEA
    display:
      name: '&5&lCandy Finder &d&lUpgrade'
      lore:
        - '&7Chance to find Candies for your pets'
        - ''
        - '&5&lInformation'
        - ' &5┣  &fLevel: &a{level} &8/ &c{max}'
        - ' &5┣  &fPrice: &e{cost} Currency'
        - ''
        - '&5&lActivation Chances'
        - ' &5┣  &fCurrent: &e{chance-percent}%'
        - ''
        - ''
        - '&7&o(( Left Click to purchase 1 level ))'
        - '&7&o(( Right Click to purchase 10 levels ))'
        - '&7&o(( Q to purchase Max levels ))'
      material: HEART_OF_THE_SEA
    max-level: 10
    candies:
      CommonCandy:
        chance: 0.01
        amount: 1-3
        message:
          value: '&3&lCandy Finder &8┣  &bYou have found &f{amount} &7&lCommon Pet
            Candy!'
          sound: LEVEL_UP:1:2
      RareCandy:
        chance: 0.001
        amount: 1-2
        message:
          value: '&3&lCandy Finder &8┣  &bYou have found &f{amount} &b&lRare Pet Candy!'
          sound: LEVEL_UP:1:2
    economy:
      balance: '%rivalhoes_essence%'
      purchase-message: '&3&l[!] &bYou have purchased &f{levels} level(s) &bof {upgrade}
        &bfor &2$&a{cost}'
      notenough-message: '&4&l[!] &cYou dont have enough essence to purchase this
        upgrade.'
      disenchant-message: '&3&l[!] &bYou have refunded the {upgrade} and received
        &2$&a{cost}'
      give-command: essence give {player} {amount} -s
      remove-command: essence remove {player} {amount} -s
```


# candy.yml

```yaml
Candy:
  CommonCandy:
    name: '&7&lCommon Candy'
    lore:
      - '&7Apply this candy on any pet'
      - '&7and give it &f&l{xp} XP&7!'
    material: PLAYER_HEAD
    base64: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGRiY2E3MzQ5NTE3MDUxMTM1NDA0ZTliNDhlZWYzNmViZWJjYjZlODIxZjdhYTc1ZTBlOGI1ODM3ZmUwNDg5NiJ9fX0='
    xp-amount: 10-30
    message: '&2&l[!] &aYou applied a Common Candy and received {amount} xp on your pet '
  RareCandy:
    name: '&b&lRare Candy'
    lore:
      - '&7Apply this candy on any pet'
      - '&7and give it &f&l{xp} XP&7!'
    material: PLAYER_HEAD
    base64: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYWNhZTI5MjBhMTllYWQ1ZGNlOTYzYTMwMTE2NGU5NWE1YTJmNWZlMmEzYjdiOWJmYjBlYjVkZWI1NTlmMDA0MCJ9fX0='
    xp-amount: 50-200
    message: '&2&l[!] &aYou applied a Rare Candy and received {amount} xp on your pet '
  EpicCandy:
    name: '&d&lEpic Candy'
    lore:
      - '&7Apply this candy on any pet'
      - '&7and give it &f&l{xp} XP&7!'
    material: PLAYER_HEAD
    base64: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTE0Y2ZkOGRjY2M5ZDk4NzM1M2EwNGM3M2U0NGVmM2Q2MzFjNTFkMWFkZmIxNjU0YzVjNTZhN2ZiZTJjNmU3MyJ9fX0='
    xp-amount: 200-500
  LegendaryCandy:
    name: '&6&lLegendary Candy'
    lore:
      - '&7Apply this candy on any pet'
      - '&7and give it &f&l{xp} XP&7!'
    material: PLAYER_HEAD
    base64: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWJmODhhZjk2ZDMwMDg1YTZkMDg0Mzc2ZjEwMTg2MjdiN2I0NTEyZDI2YWYyMWU3NTBlNGQwOWNkMjYxZDZiZSJ9fX0='
    xp-amount: 500-1000
  MythicalCandy:
    name: '&9&lMythical Candy'
    lore:
      - '&7Apply this candy on any pet'
      - '&7and give it &f&l{xp} XP&7!'
    material: PLAYER_HEAD
    base64: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2EzMTMwYzg4OGI4OTZlZWY2OTc4ZTE4YTE1NjU0ZDIyMDczODQxYTFmZWI5MzA3YjM0OWVlZTg1OGIwZjdmYiJ9fX0='
    xp-amount: 1000-2000
  DivineCandy:
    name: '&5&lDivine Candy'
    lore:
      - '&7Apply this candy on any pet'
      - '&7and give it &f&l{xp} XP&7!'
    material: PLAYER_HEAD
    base64: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzJiNjVhMjA2YjJlYTkzMWY5NmMxY2YxOGUwZTBjY2VmYjI3NzFmNGVjYWU1NTBjODBjNDI5ZmU0NzdjODAzNiJ9fX0='
    xp-amount: 2000-5000
```


# Rival EXP Shop


# Installation

## Before Starting the server

* Place the latest **RivalEXPShop.jar** in your plugins folder.
* Start your server and the Plugin will be loaded.


# Information

## Features

* *Unlimited Categories*
* *Unlimited Items*
* *Stock System per Item*
* *Purchase Limit per Item*
* *Fully Customizable menus*
* *PlaceholderAPI Support*
* *HEX Color Support*

***

### Commands

* /expshop - Open the Main EXP Shop Category, a category that has default: true will be the one opened.
* /expshop reload - Reloads the whole plugin - **Permission:** rivalexpshop.reload
* /expshop setstock {categoryID} {itemID} {stockNumber} - Modify current stock of specific item - **Permission:** rivalexpshop.admin
* /expshop setlimit {playerName} {categoryID} {itemID} {limitNumber} - Modify current limit of specific item for a specific player - **Permission:** rivalexpshop.admin

***

### Placeholders

* %rivalexpshop\_exp% - Shows raw exp amount
* %rivalexpshop\_exp\_formatted\_decimal% - Shows exp amount with decimal points
* %rivalexpshop\_exp\_formatted\_normal% - Shows exp amount formatted as 1k, 1M, 1B etc

***

### Dated Categories

You have the capability to set a predetermined date for unlocking categories.

**Date Format:** yyyy-MM-dd h:mm:ss a

Example:&#x20;

Under options: add&#x20;

In item lore you can use the **{time} and {until}** placeholders to display the time till the category gets unlocked

***

```yaml
pages:
  examplecategory:
    options:
      size: 27
      title: '&8Experience Shop'
      opening-date: 2023-08-31 12:59:00 AM # Date when the shop will be open to players
      filler:
        material: BLACK_STAINED_GLASS_PANE
```

***

### Rotating Shops

Within all categories, you have the option to cycle items, allowing for a dynamic display. Additionally, you can mix both standard and rotating items within a single category.

Example:

Under options: add

In item lore you can use the **{next-update}** placeholder to display the time till next rotation of the category

For a item to become a rotating item it needs a **chance:** part added in the items settings under it's **price:**

```yaml
pages:
  examplecategory:
    options:
      size: 27
      title: '&8Experience Shop'
      filler:
        material: BLACK_STAINED_GLASS_PANE
      rotating:
        enabled: true
        interval: 43200 # Interval in seconds
        slots: [12,13,14] # Slots in which rotating items will be displayed in
        message: # Sends a message whenever the shop updates, remove the message: and it wont be sent
          - '&8[&e&lEXP SHOP&8]&f The &eExperience Shop&f has now been updated! &6/xpshop'
```

***

### Stock System

This system enables you to establish and maintain a stock of various items, granting you the ability to set specific quantity limits for individual items.

```yaml
pages:
  examplecategory:
    options:
      size: 27
      title: '&8Experience Shop'
      filler:
        material: BLACK_STAINED_GLASS_PANE
  items:
      '1':
        material: LIME_DYE
        amount: 1
        name: '&2&l[!] &a&lVote Crate Key'
        lore:
          - ''
          - ' &3&l* &bPrice: &f{price} EXP'
          - ' &3&l* &bCurrent Stock: &f{current-stock}' # Display amount of items that can be bough
          - ' &3&l* &bMax Stock: &f{max-stock}' # Displays the max amount that can be bought
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - crate give p Vote 1 {player}
        stock: 
          use: true
          amount: 5
        price: 100
        slot: 1
```

***

### Limit System

This system empowers you to create and manage an inventory of diverse items, affording you the option to impose particular purchase limits for individual items, thereby controlling the quantity a player can acquire.

```yaml
pages:
  examplecategory:
    options:
      size: 27
      title: '&8Experience Shop'
      filler:
        material: BLACK_STAINED_GLASS_PANE
  items:
      '1':
        material: LIME_DYE
        amount: 1
        name: '&2&l[!] &a&lVote Crate Key'
        lore:
          - ''
          - ' &3&l* &bPrice: &f{price} EXP'
          - ' &3&l* &bAmount Purchased: &f{current-limit}' # Displays amount the player has purchased
          - ' &3&l* &bMax Limit: &f{max-limit}' # Displays the max amount the player can purchase
          - ''
          - '&7&o(( Click here to purchase ))'
        commands:
          use: true
          commands:
            - crate give p Vote 1 {player}
        limit: 
          use: true
          amount: 10
        price: 100
        slot: 1
```


# Rival Credits


# Information

Rival Credits, The best Minecraft Shop Plugin

## RivalCredits Shop Plugin

Welcome to the complete documentation for RivalCredits - a powerful, best, feature-rich shop system for Minecraft servers.

***

### Features

#### Core Features

* ✅ **Unlimited Categories** - Create as many shop categories as you need
* ✅ **Unlimited Packages** - No limits on the number of items you can sell
* ✅ **Unlimited Pages** - Multi-page support for large amount of packages
* ✅ **Fully Configurable** - Customize every aspect of your shop
* ✅ **Database Support** - MySQL & SQLite support with cross-server functionality
* ✅ **PlaceholderAPI Support** - Full integration with PlaceholderAPI
* ✅ **HEX Color Support** - Modern RGB color codes for names and lore

#### Shop Features

* 📊 **Leaderboards** - Text-based or GUI leaderboards for top purchasers
* 🎯 **Menu Actions** - Execute commands, close menus, play sounds, and more
* 🔒 **Permission Requirements** - Control who can see and purchase items
* ✅ **Confirmation Menu** - Optional purchase confirmation for expensive items
* 💰 **Advanced Discounts** - Per-category, per-item, global, temporary, or permanent
* 🔥 **Special Deals** - Time-limited special offers system
* ⭐ **Hot Products** - Display most-purchased items automatically
* 📝 **Purchase Logs** - Track all purchases with detailed logging
* 🔔 **Discord Webhook** - Log commands and purchases to Discord

#### Advanced Features

* 🎨 **Fully Customizable Menus** - Design your shop exactly how you want
* 🌐 **Cross-Server Support** - Execute commands on other servers (requires MySQL)
* 📈 **View Requirements** - Dynamic item display based on conditions
* 🏆 **Priority System** - Control item display order in the same slot

***

### Commands

#### Player Commands

| Command                          | Permission                    | Description                            |
| -------------------------------- | ----------------------------- | -------------------------------------- |
| `/creditshop`                    | `rivalcredits.use`            | Opens the main shop category           |
| `/credits balance [player]`      | `rivalcredits.balance.others` | Check your or another player's balance |
| `/credits pay <player> <amount>` | `rivalcredits.pay`            | Transfer credits to another player     |

#### Admin Commands

| Command                             | Permission           | Description                   |
| ----------------------------------- | -------------------- | ----------------------------- |
| `/credits reload`                   | `rivalcredits.admin` | Reloads the entire plugin     |
| `/credits give <player> <amount>`   | `rivalcredits.admin` | Give credits to a player      |
| `/credits set <player> <amount>`    | `rivalcredits.admin` | Set a player's credit balance |
| `/credits remove <player> <amount>` | `rivalcredits.admin` | Remove credits from a player  |
| `/credits reset <player>`           | `rivalcredits.admin` | Reset a player's balance to 0 |
| `/credits about`                    | `rivalcredits.admin` | Shows plugin information      |

#### Discount Commands

| Command                           | Description                                                                                                    |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `/credits discount list`          | List all active discounts                                                                                      |
| `/credits discount remove <name>` | Remove a specific discount                                                                                     |
| `/credits discount removeall`     | Remove all discounts                                                                                           |
| `/credits discount create`        | Create a new discount (see [Discounts](https://claude.ai/chat/a06cc945-045e-45cd-962f-428648ac5e8b#discounts)) |

***

### Placeholders

RivalCredits provides the following PlaceholderAPI placeholders:

| Placeholder                        | Output    | Description                  |
| ---------------------------------- | --------- | ---------------------------- |
| `%rivalcredits_balance%`           | `1234`    | Raw credits amount           |
| `%rivalcredits_balance_decimal%`   | `1234.56` | Credits with decimal points  |
| `%rivalcredits_balance_formatted%` | `1.2k`    | Formatted (1k, 1M, 1B, etc.) |

***

### Configuration

#### Main Command Configuration

You can customize the main command, aliases, and shop shortcuts in `config.yml`:

```yaml
options:
  main-command: "credits"  # Main command name
  command-aliases:         # Alternative commands
    - "credit"
    - "balance"
  shop-aliases:            # Commands that directly open the shop
    - "shop"
    - "store"
    - "buy"
```

#### Item Configuration

**Basic Item Structure**

```yaml
categories:
  category_name:
    options:
      size: 54                    # Inventory size (9, 18, 27, 36, 45, 54)
      name: "&8&nMy Shop"        # Inventory title
      next-page-slot: 50         # Slot for next page button
      previous-page-slot: 48     # Slot for previous page button
      current-page-slot: 49      # Slot for current page display
    items:
      item_name:
        material: 'DIAMOND_SWORD'
        amount: 1
        name: "&b&lDiamond Sword"
        lore:
          - "&7A powerful weapon"
          - ""
          - "&ePrice: {price}"
        price: 1000
        slot: 10
        page: 0                   # Optional: page number (0 = first page)
        package: true             # Mark as purchasable package
```

**Material & Display Options**

**Custom Model Data**

```yaml
item_name:
  material: 'DIAMOND_SWORD'
  customModelData: 12345
```

**Player Heads**

```yaml
item_name:
  material: 'PLAYER_HEAD'
  base64:
    use: true
    value: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTM5OWM5NzI0YmVmZjMxNGY4Yjk5OWQ3OWIyMmFkNzc5NGZkNzQ3NjkxMzgwNTcxOGY5NjZhMzU4NTBjNTNhOSJ9fX0='
```

**Leather Armor Colors**

RivalCredits supports multiple color formats for leather armor:

**Hex Color**

```yaml
item_name:
  material: 'LEATHER_CHESTPLATE'
  color: '#FF5733'  # Hex format with #
```

**Named Color**

```yaml
item_name:
  material: 'LEATHER_CHESTPLATE'
  color: 'RED'  # Predefined color names
```

**Available Color Names:**

* `WHITE`, `SILVER`, `GRAY`, `BLACK`
* `RED`, `MAROON`, `YELLOW`, `OLIVE`
* `LIME`, `GREEN`, `AQUA`, `TEAL`
* `BLUE`, `NAVY`, `FUCHSIA`, `PURPLE`
* `ORANGE`&#x20;

**RGB Values**

```yaml
item_name:
  material: 'LEATHER_CHESTPLATE'
  color: '255,100,50'  # RGB format (0-255 for each value)
```

**Examples:**

```yaml
# Example 1: Hex color
red_chestplate:
  material: 'LEATHER_CHESTPLATE'
  color: '#FF0000'
  name: "&cRed Chestplate"
  
# Example 2: Named color
blue_leggings:
  material: 'LEATHER_LEGGINGS'
  color: 'BLUE'
  name: "&9Blue Leggings"
  
# Example 3: RGB values
purple_boots:
  material: 'LEATHER_BOOTS'
  color: '128,0,128'
  name: "&5Purple Boots"
  
# Example 4: Custom RGB
custom_helmet:
  material: 'LEATHER_HELMET'
  color: '50,205,50'  # Lime green
  name: "&aCustom Helmet"
```

**Enchantments**

```yaml
item_name:
  material: 'DIAMOND_SWORD'
  enchantments:
    - 'SHARPNESS:5'
    - 'UNBREAKING:3'
    - 'FIRE_ASPECT:2'
```

**Item Flags**

```yaml
item_name:
  material: 'DIAMOND_SWORD'
  flags:
    - 'HIDE_ATTRIBUTES'
    - 'HIDE_ENCHANTS'
    - 'HIDE_UNBREAKABLE'
```

**Glowing Effect**

```yaml
item_name:
  material: 'DIAMOND'
  glow: true  # Makes item glow without enchantments
```

***

### Discounts

RivalCredits features a powerful discount system that supports various discount types and scopes.

#### Discount Types

**1. Global Discounts**

Apply to all items in the entire shop.

**Permanent Global Discount:**

```bash
/credits discount create example 50 permanent global
```

**Temporary Global Discount (until specific date):**

```bash
/credits discount create example 50 2024-12-25:23:59:59 global
```

**Temporary Global Discount (date range):**

```bash
/credits discount create example 50 2024-12-20:00:00:00_2024-12-26:23:59:59 global
```

**2. Category Discounts**

Apply to all items in a specific category.

**Permanent Category Discount:**

```bash
/credits discount create example 50 permanent ranks
```

**Temporary Category Discount (until specific date):**

```bash
/credits discount create example 50 2024-12-25:23:59:59 ranks
```

**Temporary Category Discount (date range):**

```bash
/credits discount create example 50 2024-12-20:00:00:00_2024-12-26:23:59:59 ranks
```

**3. Item-Specific Discounts**

Apply to a specific item in a category.

**Permanent Item Discount:**

```bash
/credits discount create example 50 permanent ranks warrior
```

**Temporary Item Discount (until specific date):**

```bash
/credits discount create example 50 2024-12-25:23:59:59 ranks warrior
```

**Temporary Item Discount (date range):**

```bash
/credits discount create example 50 2024-12-20:00:00:00_2024-12-26:23:59:59 ranks warrior
```

#### Discount Command Structure

```
/credits discount create <name> <percentage> <duration> <scope> [item]
```

* **name**: Unique identifier for the discount
* **percentage**: Discount amount (50 = 50% off)
* **duration**: `permanent` or date/date range
* **scope**: `global`, category name, or category with item
* **item**: (Optional) Specific item name when using category scope

#### Date Format

* **Single date**: `YYYY-MM-DD:HH:MM:SS` (discount active until this date)
* **Date range**: `YYYY-MM-DD:HH:MM:SS_YYYY-MM-DD:HH:MM:SS` (start\_end)

#### Managing Discounts

```bash
# List all active discounts
/credits discount list

# Remove specific discount
/credits discount remove example

# Remove all discounts
/credits discount removeall
```

{% hint style="info" %}
**Discount Priority**: Item-specific discounts override category discounts, which override global discounts.
{% endhint %}

***

### Confirmation Menu

Add an extra confirmation step for expensive or important purchases.

#### Enabling Confirmation

Add `confirmation: true` to any item:

```yaml
categories:
  crates:
    items:
      rare_key:
        confirmation: true  # Enables confirmation menu
        material: 'LIGHT_BLUE_DYE'
        name: "&f&l1x &b&lRare Key"
        lore:
          - ""
          - "&b&lPrice: {price}"
          - ""
          - "&eClick to purchase"
        price: 200
        slot: 10
        package: true
```

#### Configuring Confirmation Menu

The confirmation menu itself is configured in `config.yml`:

```yaml
confirmation-menu:
  enabled: true
  size: 27
  title: "&8Confirm Purchase"
  confirm-slot: 11
  cancel-slot: 15
  confirm-item:
    material: 'LIME_STAINED_GLASS_PANE'
    name: "&a&lConfirm Purchase"
    lore:
      - "&7Click to confirm"
  cancel-item:
    material: 'RED_STAINED_GLASS_PANE'
    name: "&c&lCancel"
    lore:
      - "&7Click to cancel"
```

***

### Commands & Actions

Execute commands and actions when items are purchased.

#### Basic Command Execution

```yaml
item_name:
  commands:
    use: true
    commands:
      - "give {player} diamond 64"
      - "msg {player} &aYou received diamonds!"
```

#### Action Types

| Action Type     | Format                   | Description              |
| --------------- | ------------------------ | ------------------------ |
| Console Command | `command` or no prefix   | Execute as console       |
| Player Command  | `[player] command`       | Execute as player        |
| Close Menu      | `[close]`                | Close the inventory      |
| Play Sound      | `[sound] SOUND_NAME`     | Play a sound to player   |
| Message         | `[message] text`         | Send message to player   |
| Broadcast       | `[broadcast] text`       | Broadcast to all players |
| Title           | `[title] title;subtitle` | Send title to player     |
| ActionBar       | `[actionbar] text`       | Send actionbar to player |

#### Example: Advanced Actions

```yaml
vip_rank:
  commands:
    use: true
    commands:
      - "lp user {player} parent set vip"
      - "[player] spawn"
      - "[sound] ENTITY_PLAYER_LEVELUP"
      - "[title] &6&lVIP Rank;&7Activated!"
      - "[broadcast] &e{player} &7purchased &6VIP Rank&7!"
      - "[close]"
```

#### No-Credits Actions

Execute actions when a player doesn't have enough credits:

```yaml
item_name:
  no-credits-actions:
    - '[close]'
    - '[message] &cYou need more credits!'
    - '[sound] ENTITY_VILLAGER_NO'
```

***

### Cross-Server Purchases

Execute commands on other servers using MySQL database synchronization.

#### Setup

1. Configure MySQL in `config.yml`
2. Set a unique `server-id` for each server
3. Ensure all servers connect to the same database

#### Configuration Example

**Server 1 (Hub) - config.yml:**

```yaml
database:
  type: 'MYSQL'
  host: 'localhost'
  port: 3306
  database: 'rivalcredits'
  username: 'root'
  password: 'password'

server-id: 'Hub'
```

**Server 2 (SkyBlock) - config.yml:**

```yaml
database:
  type: 'MYSQL'
  host: 'localhost'
  port: 3306
  database: 'rivalcredits'
  username: 'root'
  password: 'password'

server-id: 'SkyBlock'
```

#### Using Cross-Server Commands

Add `server: 'serverid'` to execute commands on a specific server:

```yaml
categories:
  crates:
    items:
      skyblock_key:
        server: 'SkyBlock'  # Commands execute on SkyBlock server
        material: 'LIGHT_BLUE_DYE'
        name: "&f&l1x &b&lSkyBlock Rare Key"
        lore:
          - ""
          - "&7Will be given on"
          - "&7the SkyBlock server"
          - ""
          - "&b&lPrice: {price}"
        commands:
          use: true
          commands:
            - "crate give {player} Rare 1"
        price: 200
        slot: 10
        package: true
```

***

### Special Deals System

Create time-limited special offers that automatically rotate.

#### Configuration

In `config.yml`:

```yaml
special-deals:
  enabled: true
  sync:
    # Enable main-instance: on only 1 server!
    main-instance: false
    time: false
    packages: false
  amount: 2
  shuffle-time: 3600
  packages:
    # category;package;chance;discount
    - 'crates;3;5;5'
    - 'crates;2;50;20'
    - 'crates;1;50;20'
    - 'ranks;1;30;20'
  display:
    # category:slot,slot,slot:timerdisplayslot:page
    - 'main:48,49,50:40:0'
```

#### Display Format

```
category:slots:display_slot:page
```

* **category**: Which category to show deals in
* **slots**: Comma-separated slots for deal items (e.g., `10,11,12`)
* **display\_slot**: Slot for the "Special Deals" info item
* **page**: Which page to display deals on

#### Package Format

```
category;package;chance;discount
```

* **category**: Category containing the item
* **package**: Name of the package
* **chance**: Chance of package appearing
* **discount**: Discount as decimal (0.25 = 25% off)

***

### Hot Products System

Automatically display the most-purchased item across all categories.

#### Configuration

In `config.yml`:

```yaml
most-purchased-package:
  enabled: true
  display:
    - "ranks:10:0"     # Format: category:slot:page
    - "crates:15:0"
  add-lore:
    - ""
    - "&6⭐ &e&lMOST PURCHASED"
    - "&7Bought &e{amount} &7times!"
```

#### Display Format

```
category:slot:page
```

* **category**: Which category to display the hot product in
* **slot**: Slot number for display
* **page**: Page number for display

The system automatically tracks purchases and displays the most popular item with additional lore.

Set display: \[] to empty to disable

***

### View Requirements & Priority

Create dynamic menus that adapt to each player. See the dedicated View Requirements documentation for complete details.

#### Quick Example

```yaml
item_name:
  slot: 10
  priority: 5
  view-requirement:
    permission: "shop.vip"
    placeholder-number:
      placeholder: "%player_level%"
      comparison: ">="
      value: 25
```

{% hint style="info" %}
&#x20;**Learn More**: Check out the View Requirements & Priority System page for comprehensive documentation with examples.&#x20;
{% endhint %}

***

### Color Codes & Formatting

#### Standard Color Codes

| Code | Color       | Code | Color        |
| ---- | ----------- | ---- | ------------ |
| `&0` | Black       | `&8` | Dark Gray    |
| `&1` | Dark Blue   | `&9` | Blue         |
| `&2` | Dark Green  | `&a` | Green        |
| `&3` | Dark Aqua   | `&b` | Aqua         |
| `&4` | Dark Red    | `&c` | Red          |
| `&5` | Dark Purple | `&d` | Light Purple |
| `&6` | Gold        | `&e` | Yellow       |
| `&7` | Gray        | `&f` | White        |

#### Format Codes

| Code | Effect                |
| ---- | --------------------- |
| `&l` | **Bold**              |
| `&m` | \~\~Strikethrough\~\~ |
| `&n` | Underline             |
| `&o` | *Italic*              |
| `&k` | Obfuscated            |
| `&r` | Reset                 |

#### HEX Colors

Use modern RGB colors with the format `&#RRGGBB`:

```yaml
name: "&#FF5733This is orange text"
lore:
  - "&#00FF00Green text"
  - "&#3498DBBlue text"
```

***

### FAQ

#### How do I change the currency command/name?

In `config.yml` under `options:` you can customize:

* `main-command`: Primary command name
* `command-aliases`: Alternative command names
* `shop-aliases`: Commands that open the shop directly

#### How do I activate discounts?

Use the `/credits discount create` command. See the Discounts section for all formats and examples.

#### Can players purchase items on other servers?

Yes! Configure MySQL and set unique `server-id` values. Then add `server: 'serverid'` to items. See Cross-Server Purchases.

#### How do I make an item glow?

Add `glow: true` to the item configuration. No enchantments needed!

#### Can I use custom textures?

Yes! Use `customModelData: 1234` for custom models, or `base64:` for custom player head textures.

#### How do I hide items from certain players?

Use the View Requirements system with permissions, placeholders, or other conditions.

#### Can I have multiple items in the same slot?

Yes! Use the Priority System to determine which item shows based on player conditions.

#### How do I add a purchase confirmation?

Add `confirmation: true` to any item. Configure the confirmation menu in `config.yml`. See Confirmation Menu.

#### What placeholder plugins are supported?

Any PlaceholderAPI expansion can be used in view requirements and item lore/names.

#### Can I execute commands as the player?

Yes! Use `[player] command` format. See Commands & Actions.

***

### Support & Resources

#### Getting Help

1. **Read the Documentation** - Most questions are answered here
2. **Check Examples** - Review the example configurations
3. **Discord Support** - Join our Discord for live help
4. **Ticket System** - Submit a support ticket

#### Best Practices

1. **Test in Development** - Always test changes on a test server first
2. **Backup Configurations** - Keep backups before major changes
3. **Use Reload Sparingly** - Restart server after major config changes
4. **Monitor Performance** - Check logs for errors or warnings
5. **Start Simple** - Add complexity gradually as you learn

{% hint style="success" %}
&#x20;**Pro Tip**: Join our Discord community to get help from other users and share your shop designs!
{% endhint %}

***

###


# Installation

## Before Starting the server

* Place the latest **RivalCredits.jar** in your plugins folder.
* Start your server and the Plugin will be loaded.


# View Requirements

## View Requirements & Priority System

### Overview

The View Requirements and Priority system allows you to create dynamic, personalized shop menus that adapt to each player's permissions, rank, level, balance, and more. This powerful feature lets you show different items to different players in the same slot, creating a truly customized shopping experience.

***

### Table of Contents

* Priority System
* View Requirements
* Permission Requirements
* Placeholder Requirements
* Numeric Comparisons
* JavaScript Expressions
* Complete Examples
* Best Practices

***

### Priority System

#### What is Priority?

Priority determines which item displays when multiple items target the same inventory slot. The item with the **highest priority value** that meets its view requirements will be shown.

#### How It Works

1. **Default Priority**: If not specified, items have a priority of `0`
2. **Higher Wins**: Items with higher priority values override lower ones
3. **Requirements First**: Only items that meet their view requirements compete
4. **Dynamic Display**: Different players see different items based on their status

#### Basic Priority Example

```yaml
categories:
  weapons:
    items:
      # All three items use slot 10
      basic_sword:
        slot: 10
        priority: 1
        # No view requirements - everyone can see this
        
      vip_sword:
        slot: 10
        priority: 5
        view-requirement:
          permission: "shop.vip"
          
      mvp_sword:
        slot: 10
        priority: 10
        view-requirement:
          permission: "shop.mvp"
```

**Result:**

* **Default players** see: `basic_sword` (priority 1)
* **VIP players** see: `vip_sword` (priority 5 beats 1)
* **MVP players** see: `mvp_sword` (priority 10 beats 5)

***

### View Requirements

View requirements determine **who can see** an item. If a player doesn't meet the requirements, the item is completely hidden from their menu.

#### Basic Structure

```yaml
item_name:
  slot: 10
  priority: 5
  view-requirement:
    # Add your requirements here
```

{% hint style="danger" %}
&#x20;**Note:** All requirements within a single `view-requirement` section must be met (AND logic). If any requirement fails, the item is hidden.&#x20;
{% endhint %}

***

### Permission Requirements

#### Single Permission

Show an item only to players with a specific permission.

```yaml
vip_package:
  slot: 10
  view-requirement:
    permission: "shop.vip"
```

#### Multiple Permissions (OR Logic)

Show an item if the player has **at least one** of the listed permissions.

```yaml
premium_package:
  slot: 11
  view-requirement:
    permissions:
      - "shop.vip"
      - "shop.mvp"
      - "shop.ultimate"
```

**Result:** Players with VIP, MVP, **or** Ultimate rank can see this item.

***

### Placeholder Requirements

#### String Comparison (Equals)

Check if a placeholder equals a specific value.

```yaml
donor_item:
  slot: 12
  view-requirement:
    has-placeholder:
      placeholder: "%luckperms_primary_group%"
      value: "donor"
```

#### String Comparison (Not Equals)

Check if a placeholder does **not** equal a specific value.

```yaml
non_default_item:
  slot: 13
  view-requirement:
    has-not-placeholder:
      placeholder: "%luckperms_primary_group%"
      value: "default"
```

**Result:** Only players who are **not** in the "default" group can see this item.

#### Common Placeholders

| Placeholder                   | Description        | Plugin Required |
| ----------------------------- | ------------------ | --------------- |
| `%player_name%`               | Player's username  | None            |
| `%player_level%`              | Player's level     | None            |
| `%player_world%`              | Current world      | None            |
| `%vault_eco_balance%`         | Player's balance   | Vault           |
| `%luckperms_primary_group%`   | Player's rank      | LuckPerms       |
| `%statistic_deaths%`          | Death count        | None            |
| `%statistic_play_one_minute%` | Playtime (minutes) | None            |

{% hint style="info" %}
&#x20;**Important:** PlaceholderAPI must be installed for most placeholders to work!&#x20;
{% endhint %}

***

### Numeric Comparisons

Compare numeric placeholder values using mathematical operators.

#### Comparison Operators

| Operator | Alternative              | Description           |
| -------- | ------------------------ | --------------------- |
| `==`     | `equals`                 | Equal to              |
| `!=`     | `not-equals`             | Not equal to          |
| `>`      | `greater-than`           | Greater than          |
| `>=`     | `greater-than-or-equals` | Greater than or equal |
| `<`      | `less-than`              | Less than             |
| `<=`     | `less-than-or-equals`    | Less than or equal    |

#### Level Requirement Example

```yaml
high_level_sword:
  slot: 14
  view-requirement:
    placeholder-number:
      placeholder: "%player_level%"
      comparison: ">="
      value: 50
```

**Result:** Only players level 50 or higher can see this item.

#### Balance Requirement Example

```yaml
expensive_item:
  slot: 15
  view-requirement:
    placeholder-number:
      placeholder: "%vault_eco_balance%"
      comparison: ">="
      value: 100000
```

**Result:** Only players with $100,000+ can see this item.

#### Multiple Numeric Items (Priority + Level)

```yaml
beginner_package:
  slot: 20
  priority: 1
  view-requirement:
    placeholder-number:
      placeholder: "%player_level%"
      comparison: "<"
      value: 25

intermediate_package:
  slot: 20
  priority: 5
  view-requirement:
    placeholder-number:
      placeholder: "%player_level%"
      comparison: ">="
      value: 25

advanced_package:
  slot: 20
  priority: 10
  view-requirement:
    placeholder-number:
      placeholder: "%player_level%"
      comparison: ">="
      value: 50
```

**Result:**

* **Level 1-24**: See `beginner_package`
* **Level 25-49**: See `intermediate_package`
* **Level 50+**: See `advanced_package`

***

### JavaScript Expressions

For complex conditions that require multiple checks or custom logic, use JavaScript expressions.

#### Basic Syntax

```yaml
item_name:
  slot: 16
  view-requirement:
    javascript: "expression that returns true/false"
```

#### Supported Operations

* **Math**: `+`, `-`, `*`, `/`, `%`
* **Comparison**: `>`, `<`, `>=`, `<=`, `==`, `!=`
* **Logical**: `&&` (AND), `||` (OR), `!` (NOT)
* **Grouping**: `( )`

#### Example: Level AND Balance

```yaml
premium_item:
  slot: 17
  view-requirement:
    javascript: "%player_level% >= 30 && %vault_eco_balance% >= 50000"
```

**Result:** Player must be level 30+ **AND** have $50,000+

#### Example: Multiple Conditions with OR

```yaml
special_item:
  slot: 18
  view-requirement:
    javascript: "%player_level% >= 100 || %vault_eco_balance% >= 1000000"
```

**Result:** Player must **either** be level 100+ **OR** have $1,000,000+

#### Example: Complex Logic

```yaml
exclusive_item:
  slot: 19
  view-requirement:
    javascript: "(%player_level% >= 50 && %vault_eco_balance% >= 100000) || %player_name% == 'Admin'"
```

**Result:** Show if (level 50+ AND $100k+) OR player is named "Admin"

{% hint style="danger" %} **Warning:** JavaScript expressions are evaluated on every menu open. Complex expressions may impact performance on large servers. {% endhint %}

***

### Complete Examples

#### Example 1: Rank-Based Shop

Create a shop where items change based on player rank in the same slots.

```yaml
categories:
  ranks:
    items:
      default_kit:
        slot: 10
        priority: 1
        material: WOODEN_SWORD
        name: "&7Default Starter Kit"
        view-requirement:
          has-placeholder:
            placeholder: "%luckperms_primary_group%"
            value: "default"
      
      vip_kit:
        slot: 10
        priority: 5
        material: IRON_SWORD
        name: "&a&lVIP Starter Kit"
        view-requirement:
          has-placeholder:
            placeholder: "%luckperms_primary_group%"
            value: "vip"
      
      mvp_kit:
        slot: 10
        priority: 10
        material: DIAMOND_SWORD
        name: "&b&lMVP Starter Kit"
        view-requirement:
          has-placeholder:
            placeholder: "%luckperms_primary_group%"
            value: "mvp"
      
      legend_kit:
        slot: 10
        priority: 15
        material: NETHERITE_SWORD
        name: "&6&lLEGEND Starter Kit"
        view-requirement:
          has-placeholder:
            placeholder: "%luckperms_primary_group%"
            value: "legend"
```

#### Example 2: Progressive Level Shop

Items unlock as players level up.

```yaml
categories:
  weapons:
    items:
      novice_sword:
        slot: 12
        priority: 1
        material: WOODEN_SWORD
        name: "&7Novice Sword"
        lore:
          - "&7Level Requirement: 1+"
        view-requirement:
          placeholder-number:
            placeholder: "%player_level%"
            comparison: ">="
            value: 1
      
      apprentice_sword:
        slot: 12
        priority: 5
        material: STONE_SWORD
        name: "&8Apprentice Sword"
        lore:
          - "&7Level Requirement: 10+"
        view-requirement:
          placeholder-number:
            placeholder: "%player_level%"
            comparison: ">="
            value: 10
      
      warrior_sword:
        slot: 12
        priority: 10
        material: IRON_SWORD
        name: "&fWarrior Sword"
        lore:
          - "&7Level Requirement: 25+"
        view-requirement:
          placeholder-number:
            placeholder: "%player_level%"
            comparison: ">="
            value: 25
      
      master_sword:
        slot: 12
        priority: 15
        material: DIAMOND_SWORD
        name: "&bMaster Sword"
        lore:
          - "&7Level Requirement: 50+"
        view-requirement:
          placeholder-number:
            placeholder: "%player_level%"
            comparison: ">="
            value: 50
```

#### Example 3: VIP Exclusive Section

Create items that only VIP+ members can see.

```yaml
categories:
  vip-exclusive:
    items:
      vip_bundle:
        slot: 20
        priority: 5
        material: CHEST
        name: "&a&lVIP Bundle"
        view-requirement:
          permissions:
            - "shop.vip"
            - "shop.mvp"
            - "shop.ultimate"
      
      mvp_only_item:
        slot: 21
        priority: 10
        material: BEACON
        name: "&b&lMVP Exclusive Item"
        view-requirement:
          permissions:
            - "shop.mvp"
            - "shop.ultimate"
      
      ultimate_package:
        slot: 22
        priority: 15
        material: NETHER_STAR
        name: "&6&lULTIMATE Package"
        view-requirement:
          permission: "shop.ultimate"
```

#### Example 4: Multi-Condition Items

Combine multiple requirements for complex conditions.

```yaml
categories:
  special:
    items:
      veteran_reward:
        slot: 25
        priority: 20
        material: GOLDEN_APPLE
        name: "&6&lVeteran Reward"
        lore:
          - "&7Requires:"
          - "&7- Level 75+"
          - "&7- $500,000+"
          - "&7- VIP Rank"
        view-requirement:
          permission: "shop.vip"
          placeholder-number:
            placeholder: "%player_level%"
            comparison: ">="
            value: 75
          javascript: "%vault_eco_balance% >= 500000"
```

#### Example 5: Event-Based Items

Show items based on specific conditions (requires additional placeholders).

```yaml
categories:
  events:
    items:
      christmas_package:
        slot: 30
        priority: 100
        material: SNOW_BLOCK
        name: "&c&lChristmas Package"
        view-requirement:
          has-placeholder:
            placeholder: "%server_time_month%"
            value: "12"
      
      weekend_deal:
        slot: 31
        priority: 50
        material: EMERALD
        name: "&a&lWeekend Special"
        view-requirement:
          javascript: "%server_time_day_of_week% == 6 || %server_time_day_of_week% == 7"
```

***

### Best Practices

#### 1. Use Priority Strategically

```yaml
# ✅ Good - Clear priority hierarchy
default_item:
  priority: 1
vip_item:
  priority: 10
mvp_item:
  priority: 20

# ❌ Bad - Unclear priority differences
default_item:
  priority: 5
vip_item:
  priority: 6
mvp_item:
  priority: 7
```

**Tip:** Use increments of 5 or 10 to leave room for future items.

#### 2. Always Set Fallback Items

```yaml
# Always have a low-priority item with no requirements
default_option:
  slot: 10
  priority: 1
  # No view-requirement - everyone sees this if no higher priority items match
```

#### 3. Test Requirements Thoroughly

* Test with players of different ranks
* Test with different level ranges
* Test with varying balances
* Use `/sudo` or alt accounts for testing

#### 4. Document Your Requirements

```yaml
endgame_item:
  slot: 15
  priority: 50
  material: NETHERITE_INGOT
  name: "&5&lEndgame Item"
  lore:
    - "&7Requirements:"
    - "&7- Level 100+"
    - "&7- $1,000,000+"
    - "&7- Ultimate Rank"
  view-requirement:
    permission: "shop.ultimate"
    javascript: "%player_level% >= 100 && %vault_eco_balance% >= 1000000"
```

#### 5. Optimize Performance

```yaml
# ✅ Good - Simple permission check
view-requirement:
  permission: "shop.vip"

# ⚠️ Caution - Complex JavaScript runs on every menu open
view-requirement:
  javascript: "(%player_level% >= 50 && %vault_eco_balance% >= 100000) || (%statistic_deaths% < 10 && %player_world% == 'survival')"
```

**Tip:** Use simple permission/placeholder checks when possible. Reserve JavaScript for truly complex conditions.

#### 6. Avoid Requirement Conflicts

```yaml
# ❌ Bad - These will never both show (same slot, one is always higher priority)
item_a:
  slot: 10
  priority: 5
  view-requirement:
    permission: "shop.vip"

item_b:
  slot: 10
  priority: 10  # This will always override item_a if requirements are met
  view-requirement:
    permission: "shop.vip"  # Same requirement!
```

***

### Troubleshooting

#### Item Not Showing

1. **Check View Requirements**: Use `/papi parse me %placeholder%` to test placeholder values
2. **Check Priority**: Another item might have higher priority
3. **Check Permission**: Verify player has required permissions
4. **Check Page**: Ensure item is on correct page

#### Wrong Item Showing

1. **Verify Priority Values**: Higher priority item might be meeting requirements
2. **Check Placeholder Values**: Placeholders might not return expected values
3. **Test JavaScript**: JavaScript expression might have logic errors

***

### Additional Resources

* **PlaceholderAPI Wiki**: <https://github.com/PlaceholderAPI/PlaceholderAPI/wiki>
* **JavaScript Tutorial**: <https://www.w3schools.com/js/>
* **Common Placeholders**: `/papi ecloud list all`

***

### Support

If you need help with view requirements or priority:

1. Check this documentation thoroughly
2. Test placeholder values with `/papi parse me %placeholder%`
3. Contact support with your configuration and error logs

{% hint style="info" %}
&#x20;**Pro Tip:** Start simple and add complexity gradually. Test each requirement individually before combining them!
{% endhint %}


# Information

Rival Credits, The Best Minecraft Shop Plugin

## Features

* *Unlimited Categories*
* *Unlimited Packages*
* *Unlimited Pages*
* *Fully configurable*
* *MYSQL & SQLite support*
* *Menu Actions*
* *Leaderboards (Text or GUI)*
* *Permission Requirements*
* *Confirmation Menu*
* *Discounts (Per Category Per Item, Global, Temporary or Permanent )*
* *Discord Webhook (Command & Purchases logging)*
* *Logs of purchases*
* *Special Deals Option*
* *Hot Products Option*&#x20;
* *Fully Customizable menus*
* *PlaceholderAPI Support*
* *HEX Color Support*

***

### Commands

* /creditshop- Open the Main Credits Shop Category, a category that has default: true will be the one opened.
* /credits reload - Reloads the whole plugin - **Permission:** rivalcredits.admin
* /credits balance {player}  **Permission:** rivalcredits.balance.others
* /credits pay {player} {amount} **Permission:** rivalcredits.pay
* /credits give {player} {amount}  **Permission:** rivalcredits.admin
* /credits set {player} {amount}  **Permission:** rivalcredits.admin
* /credits remove {player} {amount}  **Permission:** rivalcredits.admin
* /credits reset {player}  **Permission:** rivalcredits.admin
* /credits discount list
* /credits discount remove \<name>
* /credits discount removall
* /credits discount create&#x20;
* /credits about - Shows some info about the plugin

***

### Placeholders

* %rivalcredits\_balance% - Shows raw credits amount
* %rivalcredits\_balance\_decimal% - Shows credits amount with decimal points
* %rivalcredits\_balance\_formatted% - Shows credits amount formatted as 1k, 1M, 1B etc

***

### FAQ

**Q:** How do I change the currency command/name? **A:** In config.yml under options: you can change the main command, aliases for the command and shop aliases which are commands that open the shop

Q:  How do I activate Discounts? A: Below you can see all possible ways of the discount commands explained

Creates a Permanent 50% off Global Discount with the name 'example' `/credits discount create example 50 permanent global`

Creates a Permanent 50% off Discount for the 'ranks' category  with the name 'example' `/credits discount create example 50 permanent ranks`

Creates a Permanent 50% off Discount for the 'warrior' package in the 'ranks' category  with the name 'example' `/credits discount create example 50 permanent ranks warrior`

***

**Temporary Discounts**

Creates a Temporary 50% off Global Discount with the name 'example' that last until 2023 09 25 23:00:00 `/credits discount create example 50 2023-09-25:23:00:00 global`

Creates a Temporary  50% off Discount for the 'ranks' category  with the name 'example' that last until 2023 09 25 23:00:00 `/credits discount create example 50 2023-09-25:23:00:00 ranks`

Creates a Temporary  50% off Discount for the 'warrior' package in the 'ranks' category  with the name 'example' that last until 2023 09 25 23:00:00 `/credits discount create example 50 2023-09-25:23:00:00 ranks warrior`

***

Creates a Temporary 50% off Global Discount with the name 'example' that starts from 2023 09 25 23:00:00 and lasts until 2023 09 26 23:00:00 `/credits discount create example 50 2023-09-25:23:00:00_2023-09-26:23:00:00 global`

Creates a Temporary  50% off Discount for the 'ranks' category  with the name 'example' that starts from 2023 09 25 23:00:00 and lasts until 2023 09 26 23:00:00 `/credits discount create example 50 2023-09-25:23:00:00_2023-09-26:23:00:00 ranks`

Creates a Temporary  50% off Discount for the 'warrior' package in the 'ranks' category  with the name 'example' that starts from 2023 09 25 23:00:00 and lasts until 2023 09 26 23:00:00 `/credits discount create example 50 2023-09-25:23:00:00_2023-09-26:23:00:00 ranks warrior`

***

### Confirmation Menu

```yaml
crates:
    options:
      size: 54
      next-page-slot: 50
      previous-page-slot: 48
      current-page-slot: 49
      name: "&8&nServer Store - Crates"
    items:
      '1':
        confirmation: true # Enabled the confirmation menu, configured in config.yml
        material: 'LIGHT_BLUE_DYE'
        amount: 1
        name: "&f&l1x &b&lRare Key"
        lore:
          - ""
          - "&b&lPrice"
          - "{price}"
          - ""
          - "&eClick to purchase"
        commands:
          use: true
          commands:
            - "crate give {player} Rare 1"
        price: 200
        slot: 10
        package: true
        no-credits-actions:
          - '[close]'
          - '[console]interactivebooks open nocredits {player}'
```

##

### Purchases on other servers

Connecting the server's to a MySQL database and setting a unique server-id in config.yml

you can execute commands for player's on those server's upon purchase by adding server: 'serverid'<br>

```yaml
crates:
    options:
      size: 54
      next-page-slot: 50
      previous-page-slot: 48
      current-page-slot: 49
      name: "&8&nServer Store - Crates"
    items:
      '1':
        server: 'SkyBlock' # Commands will be executed for player on the 'SkyBlock' server
        material: 'LIGHT_BLUE_DYE'
        amount: 1
        name: "&f&l1x &b&lRare Key"
        lore:
          - ""
          - "&b&lPrice"
          - "{price}"
          - ""
          - "&eClick to purchase"
        commands:
          use: true
          commands:
            - "crate give {player} Rare 1"
        price: 200
        slot: 10
        package: true
        no-credits-actions:
          - '[close]'
          - '[console]interactivebooks open nocredits {player}'
```


# FAQ

Tools:

Q: Why aren't the enchant levels being displayed in lore?

A: You need to add the {current-level} placeholder `%enchant-EXPFinder% &f{current-level}&8/&7{max-level}`

Q: How do I change the display of enchants in the lore?

A: To change the display name of enchants in the lore you can add `rawname: ' '`  to an enchant in enchants.yml

Q: How do I display the enchant chance in the lore of the enchant?

A: In the lore of the enchant you can use the *%chance%* placeholder or to display as a percentage you can use *%chance-percent%*


# Terms of Service

Terms of Service ("TOS") - Rival Development

Welcome to Rival Development! These Terms of Service ("TOS") govern your use of our services and products as a Minecraft Plugin Development company. By accessing or using our services, you agree to comply with and be bound by these TOS. Please read them carefully.

1\. Acceptance of Terms

By accessing or using our services, you acknowledge that you have read, understood, and agree to be bound by these TOS. If you do not agree with any part of these TOS, you may not use our services.

2\. Services

Rival Development provides Minecraft Plugin Development services, including but not limited to the creation, modification, and support of Minecraft plugins and related software. Our services are subject to these TOS and any additional agreements or policies provided by Rival Development.

3\. License and Intellectual Property

3.1 Plugin Development

a. All Minecraft plugins and related software developed by Rival Development are the intellectual property of Rival Development, unless otherwise stated. b. Rival Development grants you a non-exclusive, non-transferable, revocable license to use the plugins and related software for personal or commercial use, solely in connection with Minecraft servers. This license is subject to compliance with these TOS.

3.2 Restrictions

a. You shall not modify, decompile, reverse engineer, or disassemble any plugins or related software provided by Rival Development. b. You shall not distribute, sublicense, rent, lease, ask other customers to trade/purchase or transfer any plugins or related software, or any portion thereof, without prior written consent from Rival Development. c. You shall not use any plugins or related software provided by Rival Development in any manner that violates applicable laws or regulations or infringes upon the rights of others. d. Doing any of these will result in a permanent ban and removal of licenses.

b. Rival Development grants you a non-exclusive, non-transferable, revocable license to use the plugins and related software for personal or commercial use, solely in connection with a single Minecraft network or server.&#x20;

3.3 Ownership

Rival Development retains all rights, title, and interest in and to the plugins and related software, including any intellectual property rights or proprietary rights associated with them. These TOS do not grant you any rights to our trademarks, logos, or other brand features.

4\. Payments and Refunds

4.1 Pricing

a. The pricing for our services shall be as stated on our website or as mutually agreed upon in writing. b. Rival Development reserves the right to change the pricing for our services at any time, with prior notice to the customers.

4.2 Payment

a. Payment for our services shall be made in the currency specified by Rival Development. b. Payment must be made in full before the delivery of any plugins or related software, unless otherwise agreed upon in writing.

4.3 Refunds

a. Rival Development does not offer refunds for any of its services unless otherwise explicitly stated in a separate refund policy. b. Once payment has been made for our services, it is non-refundable, and no refunds or credits will be provided, except as required by applicable consumer protection laws. c. Rival Development reserves the right to make exceptions to this policy at its sole discretion. d. It is your responsibility to ensure that you fully understand the features, limitations, and compatibility of our services before making a purchase.

5\. Support and Maintenance

Rival Development may provide support and maintenance services for our plugins and related software as outlined in our separate Support and Maintenance Agreement. Such services may be subject to additional fees and terms.

6\. Termination

Rival Development reserves the right to terminate or suspend your access to our services, with or without cause, at any time and without prior notice. Upon termination, you shall cease using our plugins and related software and destroy any copies in your possession.

7\. Limitation of Liability

To the extent permitted by applicable laws, Rival Development shall not be liable for any indirect, incidental, special, consequential, or punitive damages arising out of or in connection with your use of our services or any plugins or related software provided by Rival Development.

8\. Indemnification

You agree to indemnify, defend, and hold harmless Rival Development, its affiliates, employees, and agents from and against any claims, liabilities, damages, losses, costs, or expenses arising out of or in connection with your use of our services, violation of these TOS, or infringement of any rights of third parties.

9\. Governing Law and Dispute Resolution

These TOS shall be governed by and construed in accordance with the laws of the jurisdiction where Rival Development is located. Any disputes arising out of or in connection with these TOS shall be resolved through good faith negotiations. If a resolution cannot be reached, the parties agree to submit to the exclusive jurisdiction of the courts located in the jurisdiction where Rival Development is located.

10\. Modifications to the Terms of Service

Rival Development reserves the right to modify or update these TOS at any time, without prior notice. The updated version of the TOS shall be effective immediately upon posting on our website. It is your responsibility to review these TOS periodically. Your continued use of our services after any modifications to these TOS constitutes your acceptance of the modified terms.

11\. Entire Agreement

These TOS constitute the entire agreement between you and Rival Development regarding your use of our services, superseding any prior agreements, discussions, or understandings, whether written or oral. If you have any questions or concerns about these TOS, please contact us at <azur@rivaldev.xyz>\
\
\
*NOT* APPROVED BY OR ASSOCIATED WITH *MOJANG* OR MICROSOFT


# API's

[All API's ](https://drive.google.com/drive/folders/1L39xqC3LFBbwU_O_uUgO9GF3Jv9Wxe8U?usp=sharing)


