πŸ“‚Configuration

Plugin Configuration: You can change the plugin storage. We recommend using MySQL storage, as it is the only option that is fully supported and utilized in all features.

REDIS Support: REDIS support is still under development and testing. If you encounter any bugs, it's best to contact me via discord or on github.

Configuration

########################################################################################################################
#
#  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—β–‘β–‘β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ•—β–‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
#  β•šβ•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ•‘β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β–ˆβ–ˆβ•”β•β•β•β•β•
#  β–‘β–‘β–ˆβ–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘β–‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–‘
#  β–ˆβ–ˆβ•”β•β•β•β–‘β–‘β–ˆβ–ˆβ•”β•β•β•β–‘β–‘β–‘β•šβ•β•β•β–ˆβ–ˆβ•—β–‘β•šβ•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–‘β–‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–‘β–‘β–‘β•šβ•β•β•β–ˆβ–ˆβ•—
#  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–‘β•šβ–ˆβ–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β–‘β–‘β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
#  β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•β–‘β•šβ•β•β•β•β•β•β–‘β•šβ•β•β•β•β•β•β•β•šβ•β•β–‘β–‘β•šβ•β•β•β–‘β–‘β–‘β•šβ•β•β–‘β–‘β–‘β•šβ•β•β•šβ•β•β–‘β–‘β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•β–‘
#
# Documentation: https://zessentials.groupez.dev/
#
########################################################################################################################

# Displays debug items in the console, if you request support please enable debug and send logs with debugs
enable-debug: true

# Storage:
# JSON
# MYSQL
#
# We advise you to use MYSQL, the JSON storage is only there to install the plugin and do some testing.
storage-type: MYSQL

# PAPER
# REDIS
server-type: PAPER

# Configuration of your database, it is recommended to use the database to store your data, JSON does not support everything
database-configuration:
  # For Pterodactyl panel: when you create a database it creates a <prefix>_<database name you chose>. Set "prefix"'s value to the prefix of the database
  tablePrefix: "zessentials_"
  # IP Address of the machine the database is hosted on
  host: 192.168.10.10
  # Port of the database, by default MYSQL's port is 3306
  port: 3306
  user: homestead
  password: 'secret'
  # For Pterodactyl panel: when you create a database it creates a <prefix>_<database name you chose>. Set "database"'s value to the name of the database
  database: zessentials
  debug: true
  # ToDo - Créer un système qui permet de load toutes les données en cache (pour SQL et JSON) et ajouter un moyen de pouvoir filter par rapport à l'activer du joueur
  # ToDo - Par exemple pouvoir load les joueurs actifs durant les 7 derniers jours, ainsi on Γ©vite de load tout les joueurs mais seulement les joueurs actifs
  # ToDo - Se systΓ¨me va permettre de load les donnΓ©es des joueurs plus rapidement, en cas de crash serveurs si des centaines de joueurs veulent revenir en mΓͺme temps cela peut Γͺtre problΓ©matique.
  # ToDo - Cette solution sera très bien pour se genre de cas.

# Configuration for your redis server
redis-configuration:
  host: "192.168.10.10"
  port: 6379
  password: "123456a"

# If you have enabled this option, players with the essentials.bypass.cooldown permission you can execute commands in command-cooldowns without being assigned
enable-cooldown-bypass: false

# Create command cooldowns (can run a command after X amount of seconds)
command-cooldowns:
  - command: heal
    # In this example you can see that the "/heal" command has a 60 seconds cooldown
    cooldown: 60
    permissions:
      - permission: "essentials.cooldown.heal.vip"
        # In this example whoever has "essentials.cooldown.heal.vip" permission can run "/heal" after 40 seconds
        cooldown: 40
      - permission: "essentials.cooldown.heal.staff"
        # In this example whoever has "essentials.cooldown.heal.staff" permission can run "/heal" after 20 seconds
        cooldown: 20

# Trash can GUI size. Must be 9, 18, 27, 36, 45, 54.
trash-size: 27

# Compact materials with the /compact command
compact-materials:
  - from: COAL
    to: COAL_BLOCK
  - from: REDSTONE
    to: REDSTONE_BLOCK
  - from: LAPIS_LAZULI
    to: LAPIS_BLOCK
  - from: IRON_INGOT
    to: IRON_BLOCK
  - from: GOLD_INGOT
    to: GOLD_BLOCK
  - from: IRON_NUGGET
    to: IRON_INGOT
  - from: GOLD_NUGGET
    to: GOLD_INGOT
  - from: DIAMOND
    to: DIAMOND_BLOCK
  - from: EMERALD
    to: EMERALD_BLOCK
  - from: COPPER_INGOT
    to: COPPER_BLOCK
  - from: NETHERITE_INGOT
    to: NETHERITE_BLOCK

# Transforms keys by color, used in messages
message-colors:
  - key: "<primary>"
    color: "#24d65d"
  - key: "<secondary>"
    color: "#656665"
  - key: "<error>"
    color: "#ff0000"
  - key: "<success>"
    color: "#00ff00"

# Allows you to add a cooldown on commands, we will prevent players spam commands for nothing.
# If you want to disable the cooldown on the commands, do this: cooldowns: []
cooldowns:
  - messages: 2
    cooldown: 1500 # max 1.5s
  - messages: 4
    cooldown: 5000 # max 5s
  - messages: 8
    cooldown: 10000 # max 10s

# Stores commands in database, works only with MYSQL storage
enable-command-log: true

# Materials that can be put into furnace, use the /furnace command
smeltable-materials:
  - from: RAW_IRON
    to: IRON_INGOT
  - from: RAW_COPPER
    to: COPPER_INGOT
  - from: RAW_GOLD
    to: GOLD_INGOT
  - from: SAND
    to: GLASS
  - from: CLAY_BALL
    to: BRICK
  - from: ANCIENT_DEBRIS
    to: NETHERITE_SCRAP
  - from: WET_SPONGE
    to: SPONGE
  - from: CACTUS
    to: GREEN_DYE
  - from: KELP
    to: DRIED_KELP

# Default distance for /near
near-distance: 50.0

# Set a distance by permission for /near
near-permissions:
  - permission: "essentials.near.vip"
    distance: 100.0
  - permission: "essentials.near.staff"
    distance: 200.0

# Date format that will be used if no other format is available
global-date-format: "yyyy-MM-dd HH:mm:ss"

# Replace the result of one placeholder with another, very useful for adding colors for example
# Then simply use the placeholder: %zessentials_replace_<placeholder>% to use this configuration
replace-placeholders:
  # Placeholder %player_ping% (https://api.extendedclip.com/expansions/player/) will be replaced to add color to indicate the player’s ping status.
  # For this example, the placeholder to used will be: %zessentials_replace_player_ping%
  # In this example the player’s ping color will change depending on his ping
  - placeholder: 'player_ping' # Placeholder to be replaced, do not add %
    default: '&c%result%' # Default if no condition found
    replaces: # List of conditions to replace placeholder
      - type: STRING # The type of the condition, here STRING allows to check if the result of the placeholder is equal to the given value
        equalsTo: 0 # The value to be verified
        value: '&aWHOA YOU DONT HAVE PING WTF YOU ARE IN A DATACENTER ?' # The value that will be used, you can add %result% to return the value of the placeholder
      - type: NUMBER # The type of the condition, here NUMBER allows to check if a number is lower or equal to a given number
        max: 50 # The maximum possible number
        value: '&a%result%' # The value that will be used, you can add %result% to return the value of the placeholder
      - type: NUMBER # The type of the condition, here NUMBER allows to check if a number is lower or equal to a given number
        max: 99 # The maximum possible number
        value: '&2%result%' # The value that will be used, you can add %result% to return the value of the placeholder
      - type: NUMBER # The type of the condition, here NUMBER allows to check if a number is lower or equal to a given number
        max: 199 # The maximum possible number
        value: '&e%result%' # The value that will be used, you can add %result% to return the value of the placeholder
      - type: NUMBER # The type of the condition, here NUMBER allows to check if a number is lower or equal to a given number
        max: 299 # The maximum possible number
        value: '&c%result%' # The value that will be used, you can add %result% to return the value of the placeholder

Replace Placeholders

Need to display different values depending on the result of a placeholder? With zEssentials, this is possible!

In the example above, if you have the placeholder %player_ping%, it will be replaced based on various conditions. If none of the conditions are met, you can return a default value.

Conditions:

STRING

Check if the result of the placeholder is equal to another string.

NUMBER

Check if the result is a number and if the result is less than a number defined in the configuration.

Last updated