> For the complete documentation index, see [llms.txt](https://cozy-1.gitbook.io/dev-example2/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cozy-1.gitbook.io/dev-example2/currency/configuration-files-config.yml.md).

# Configuration Files (config.yml)

## (`plugins/ManticCurrency/config.yml`)

```
# ==================================================
#          License & Integration Settings         
# ==================================================
# 1. Plugin License Key:
#    Your unique license key from https://discord.mantic.dev.
#    This key is absolutely REQUIRED for the plugin to activate and receive updates.
#    Please replace 'XXXX-XXXX-XXXX-XXXX' with your actual license key.
license-key: XXXX-XXXX-XXXX-XXXX

# ==================================================
#             Command Configuration              
# ==================================================
# 1. Main Command Label:
#    The primary command used to access Currency functionality (e.g., /manticcurrency).
#    A server RESTART is required for any changes to the command label or aliases to take effect.
main-command-label: manticcurrency

# 2. Command Aliases:
#    Alternative, shorter command names for convenience.
#    Example: If set to ['currency', 'gold'], players can use /currency or /gold.
command-aliases:
- currency
- gold

# ==================================================
#            Database Configuration              
# ==================================================
# 1. Storage Type:
#    Defines where gift card data is stored.
#    - JSON: Local file storage (Recommended for small, single-server setups).
#    - SQLITE: Local lightweight database file.
#    - MYSQL: External, high-performance database server (Recommended for large networks).
#    
#    ⚠ CRITICAL WARNING: A server RESTART is required when changing the database type.

database-type: JSON
# MySQL Connection: The full address (IP/hostname) and port. Only relevant if databaseType is set to MYSQL.
mysql-ip: 172.18.0.1:3306
# MySQL Connection: The username for the MySQL database connection.
mysql-username: ''
# MySQL Connection: The password for the MySQL database user.
mysql-password: ''
# MySQL Connection: The name of the specific database to be used (it must already exist on your server).
mysql-database-name: ''
# MySQL Connection: Set to 'true' to attempt connection using SSL/TLS encryption. Recommended for production environments.
use-ssl: false

# ==================================================
#                Security Settings                 
# ==================================================
# These settings restrict dangerous administrative commands to the console, preventing accidental or malicious use by players with op/permissions.

# Restriction for /manticcurrency reload. Set to 'false' to allow in-game use.
restrict-reload-to-console: true
# If set to 'false', the '/manticcurrency reload' command is completely disabled.
is-reload-command-enabled: true
# If set to 'false', the '/manticcurrency daily' command is completely disabled.
is-daily-command-enabled: true
# If set to 'false', the '/manticcurrency balance' command is completely disabled.
is-balance-command-enabled: true
# If set to 'false', the '/manticcurrency pay' command is completely disabled.
is-pay-command-enabled: true
# Restriction for /manticcurrency reset. Set to 'false' to allow in-game use.
restrict-reset-to-console: true
# If set to 'false', the '/manticcurrency reset' command is completely disabled.
is-reset-command-enabled: true
# Restriction for /manticcurrency give. Set to 'false' to allow in-game use.
restrict-give-to-console: true
# If set to 'false', the '/manticcurrency give' command is completely disabled.
is-give-command-enabled: true
# Restriction for /manticcurrency remove. Set to 'false' to allow in-game use.
restrict-remove-to-console: true
# If set to 'false', the '/manticcurrency remove' command is completely disabled.
is-remove-command-enabled: true
# Restriction for /manticcurrency set. Set to 'false' to allow in-game use.
restrict-set-to-console: true
# If set to 'false', the '/manticcurrency set' command is completely disabled.
is-set-command-enabled: true
# Restriction for /manticcurrency resetall. Set to 'false' to allow in-game use.
restrict-reset-all-to-console: true
# If set to 'false', the '/manticcurrency resetall' command is completely disabled.
is-reset-all-command-enabled: true
# Restriction for /manticcurrency convert. Set to 'false' to allow in-game use.
restrict-convert-to-console: true
# If set to 'false', the '/manticcurrency convert' command is completely disabled.
is-convert-command-enabled: true
# Restriction for /manticcurrency giveitem. Set to 'false' to allow in-game use.
restrict-give-item-to-console: true
# If set to 'false', the '/manticcurrency giveitem' command is completely disabled.
is-give-item-command-enabled: true

# ==================================================
#                Settings                           
# ==================================================
# The default currency amount assigned to a player upon first registration.
# Set to 0 to start players with no currency.
default-starting-currency: 0

# Enables or disables the daily currency reward system.
# If true, players receive a message upon joining when a reward is available.
# If false, the daily reward mechanism is completely deactivated.
daily-reward-enabled: true

# The time (in seconds) a player must wait between claiming daily currency.
# Default: 86400 seconds (1 day).
daily-reward-cooldown-seconds: 86400

# The specific amount of currency that players are awarded when they claim the daily reward.
# Set to 0 to effectively disable the reward mechanism (if the cooldown is still active).
daily-reward-currency-amount: 10

# If enabled, the daily reward is automatically claimed on login.
# Default: false
auto-collect-daily-reward: false
# How many seconds to wait after login before auto-collecting.
auto-collect-delay-seconds: 2
# How many seconds to wait after login before sending daily currency reminder.
daily-reminder-delay-seconds: 2

# If enabled, the API will call currency events.
# Default: false
currency-api-calls-events: false

# Placeholder displayed when an item has no purchase limit.
# Default: Unlimited
placeholder-unlimited: '&aUnlimited'

# If set to true, the currency interface will default to opening the main menu.
# If set to false, the system will instead open the menu specified in 'customCurrencyTargetMenu'.
# Default: true
use-default-main-menu-for-currency: true

# The identifier for the specific menu to open when 'useDefaultMainMenuForCurrency' is disabled.
# Ensure the menu name matches your configuration exactly.
custom-currency-target-menu: ''

# Configuration for the physical item given via '/manticcurrency giveitem'.
# Players can right-click this item to redeem it for the stored currency value.
# Supports {value} for the currency amount and {player} for the owner's name.
currency-item:
  display-name: '&6&lCurrency Note &7(Right-Click)'
  skull: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTdkZTZiY2EzMzAyYjE3YmRiMzU0MzZlZjI0M2RiZDE0NjY1YjRkYjM1ZTMzYmU2YmFmYmRlOTVjM2NlYmJlIn19fQ==
  lore:
  - '&7-----------------------'
  - '&eValue: &f${value}'
  - '&eOwner: &b{player}'
  - ''
  - '&7&oRight-click to deposit this'
  - '&7&onote into your account.'
  - '&7-----------------------'
  glow: true
  material: GOLD_INGOT
  data: 0

# If set to true, players can right-click the Currency Note to redeem it.
# If set to false, the item becomes purely cosmetic and will not grant any currency.
# Default: true
currency-item-enabled: true

# If set to true, only the player who originally received the item can redeem it.
# If set to false, the item can be traded or dropped, and any player can claim it.
# Default: true
currency-item-restrict-to-owner: true

# ==================================================
#             Permission Settings                
# ==================================================
# Permission nodes control access to specific Currency commands. Players require the respective node to use the command.
permission-basecommand: mantic.currency.basecommand
# Permission required for /manticcurrency reload
permission-reload: mantic.currency.reload
# Permission required for /manticcurrency daily
permission-daily: mantic.currency.daily
# Permission required for /manticcurrency balance
permission-balance: mantic.currency.balance
# Permission required for /manticcurrency balance <player>
permission-balance-others: mantic.currency.balance.others
# Permission required for /manticcurrency pay
permission-pay: mantic.currency.pay
# Permission required for /manticcurrency reset <player>
permission-reset: mantic.currency.reset
# Permission required for /manticcurrency give <player> <amount>
permission-give: mantic.currency.give
# Permission required for /manticcurrency remove <player> <amount>
permission-remove: mantic.currency.remove
# Permission required for /manticcurrency set <player> <amount>
permission-set: mantic.currency.set
# Permission required for /manticcurrency resetall
permission-reset-all: mantic.currency.resetall
# Permission required for /manticcurrency convert
permission-convert: mantic.currency.convert
# Permission required for /manticcurrency open <player> <category>
permission-open: mantic.currency.open
# Permission required for /manticcurrency logs
permission-logs: mantic.currency.logs
# Permission required for /manticcurrency logs <player>
permission-logs-others: mantic.currency.logs.others
# Permission required for /manticcurrency giveitem <player> <amount>
permission-give-item: mantic.currency.giveitem

# ==================================================
#                Sound Settings                   
# ==================================================
# Defines the sound effects played to players when commands are used or specific actions occur.
# Sound names must match the Spigot/Bukkit Sound Enum for your target Minecraft version (e.g., 1.8).
# To disable a sound, simply leave the corresponding value empty ('').
command-reload-success-sound: SUCCESSFUL_HIT
command-reload-error-sound: VILLAGER_NO
daily-claim-success-sound: ORB_PICKUP
daily-claim-cooldown-sound: NOTE_BASS
transaction-pay-error-sound: VILLAGER_NO
transaction-send-success-sound: ORB_PICKUP
transaction-receive-success-sound: NOTE_BASS
command-reset-error-sound: VILLAGER_NO
command-give-error-sound: VILLAGER_NO
command-give-sound: ORB_PICKUP
command-remove-error-sound: VILLAGER_NO
command-remove-sound: ORB_PICKUP
command-set-error-sound: VILLAGER_NO
command-set-sound: ORB_PICKUP
command-reset-all-error-sound: VILLAGER_NO
command-reset-all-sound: ORB_PICKUP
command-convert-error-sound: VILLAGER_NO
purchase-attempt-error-sound: VILLAGER_NO
purchased-item-sound: ORB_PICKUP
command-give-item-error-sound: VILLAGER_NO
command-give-item-sound: ORB_PICKUP
currency-item-redeem-sound: ORB_PICKUP

# ==================================================
#                Default Reasons                    
# ==================================================
# These strings are used as the default reason when a command (like /currency reset) is executed
# by an administrator without providing a custom reason in the command arguments.

# The default reason used when an administrator executes a command to reset a player's currency balance.
default-reason-for-currency-reset: No Reason
# The default reason used when an administrator executes a command to give a player currency.
default-reason-for-currency-give: No Reason
# The default reason used when an administrator executes a command to remove a player currency.
default-reason-for-currency-remove: No Reason
# The default reason used when an administrator executes a command to set a player currency.
default-reason-for-currency-set: No Reason

# ==================================================
#             Confirmation Settings                    
# ==================================================
# When true, displays a confirmation GUI before finalizing a purchase..
confirmation-gui: true

# The title displayed on the confirmation GUI menu.
confirmation-title: '&8Confirm Purchase?'

# The layout pattern for the confirmation GUI.
# y = YES, n = NO, x = filler item.
confirmation-layout:
- xxxxxxxxx
- xyyyxnnnn
- xxxxxxxxx

confirm-menu-layout-items:
- display-name: '&a&lCONFIRM'
  skull: ''
  lore:
  - '&7Click to purchase'
  glow: false
  material: EMERALD_BLOCK
  durability: 0
  key: y
  action: 'YES'
- display-name: '&c&lCANCEL'
  skull: ''
  lore:
  - '&7Click to not purchase the item'
  glow: false
  material: REDSTONE_BLOCK
  durability: 0
  key: n
  action: 'NO'
- display-name: '&7'
  skull: ''
  lore: []
  glow: false
  material: STAINED_GLASS_PANE
  durability: 7
  key: '#'
  action: ''

# ==================================================
#             Realm Name                            
# ==================================================

# Represents the name of your server or network.
# Appears in Discord webhooks and plugin logs.
# If using LuckPerms, this value updates automatically.
realm-name: ???

# ==================================================
#             General Messages                    
# ==================================================
# Customize messages displayed to players in-game. Supports Minecraft color codes (e.g., &a).
msg-console-only: '&6&lCurrency &8➸ &cYou can only use this command through console!'
msg-player-only: '&6&lCurrency &8➸ &cYou can only use this command as a player!'
msg-invalid-permission: '&6&lCurrency &8➸ &cYou do not have permission to use this
  command!'
msg-invalid-player: '&6&lCurrency &8➸ &cYou have entered an invalid player!'
msg-invalid-number: '&6&lCurrency &8➸ &cYou have entered an invalid number!'
msg-currency-usage-pay: '&6&lCurrency &8➸ &7Usage: &e/currency pay [name] [amount]'
msg-currency-usage-reset: '&6&lCurrency &8➸ &7Usage: &e/currency reset [name] (reason)'
msg-currency-usage-give: '&6&lCurrency &8➸ &7Usage: &e/currency give [name] [amount]
  (reason)'
msg-currency-usage-remove: '&6&lCurrency &8➸ &7Usage: &e/currency remove [name] [amount]
  (reason)'
msg-currency-usage-set: '&6&lCurrency &8➸ &7Usage: &e/currency set [name] [amount]
  (reason)'
msg-currency-usage-convert: '&6&lCurrency &8➸ &7Usage: &e/currency convert [type]'
msg-currency-usage-open: '&6&lCurrency &8➸ &7Usage: &e/currency open [player] <shop>'
msg-currency-usage-logs: '&6&lCurrency &8➸ &7Usage: &e/currency logs [player]'
msg-currency-usage-give-item: '&6&lCurrency &8➸ &7Usage: &e/currency giveitem [name]
  [currency]'
msg-reloaded: '&6&lCurrency &8➸ &aSuccessfully reloaded mantic currency!'
msg-currency-daily-claimed: '&6&lCurrency &8➸ &7You have claimed your free &e10 &7daily
  currency!'
msg-currency-daily-cooldown: '&6&lCurrency &8➸ &7You have already redeemed your daily
  currency.'
msg-balance-yourself: '&6&lCurrency &8➸ &7You currently have &6⛁ &e{amount} &7currency!'
msg-balance-other: '&6&lCurrency &8➸ &e{player} &7currently have &6⛁ &e{amount} &7currency!'
msg-number-must-be-above-zero: '&6&lCurrency &8➸ &7You are required to enter a number
  which is above 0!'
msg-insufficient-amount: '&6&lCurrency &8➸ &7You only have &6⛁ &e{amount} &7currency!'
msg-sent-currency: '&6&lCurrency &8➸ &7You have sent &e{amount} &7currency to &e{player}&7.'
msg-received-currency: '&6&lCurrency &8➸ &7You have received &e{amount} &7currency
  from &e{player}&7.'
msg-cant-send-to-self: '&6&lCurrency &8➸ &7You can not send currency to yourself!'
msg-currency-reset: '&6&lCurrency &8➸ &7You have successfully reset &e{player}&7 currency!'
msg-currency-reset-victim: '&6&lCurrency &8➸ &7Your currency have been reset!'
msg-currency-give: '&6&lCurrency &8➸ &7You have given &e{amount} &7currency to &e{player}&7.'
msg-currency-give-received: '&6&lCurrency &8➸ &e{amount} &7currency have been given
  to you by &e{player}&7.'
msg-your-currency-removed: '&6&lCurrency &8➸ &e{amount} &7currency have been removed
  from your account.'
msg-currency-removed: '&6&lCurrency &8➸ &7You have removed &e{amount} &7currency from
  &e{player}&7.'
msg-currency-set: '&6&lCurrency &8➸ &7You have set &e{player} &7currency to &e{amount}&7.'
msg-currency-set-victim: '&6&lCurrency &8➸ &7Your currency balance has been set to
  &e{amount} &7by &e{player}.'
msg-currency-reset-all: '&6&lCurrency &8➸ &7You have reset &e{amount}&7 users currency!'
msg-database-changed: '&6&lCurrency &8➸ &7Database type has been changed to &e{type}&7.'
msg-unknown-database: '&6&lCurrency &8➸ &cUnknown database type!'
msg-category-not-found: '&6&lCurrency &8➸ &c&lERROR: &7Cannot find ''&e{name}&7''
  category!'
msg-category-no-permission: '&6&lCurrency &8➸ &c&lERROR: &7You do not have permissions
  to access this category!'
msg-daily-currency-cooldown: '&6&lCurrency &8➸ &7You have already redeemed your daily
  currency. ({time}&7)'
msg-daily-permission-required: '&6&lCurrency &8➸ &7You are required to have the daily
  gold permission to be able to claim your daily gold.'
msg-daily-currency-claimed: '&6&lCurrency &8➸ &7You have claimed your free &6⛁ &e10
  &7daily currency!'
msg-store-item-no-permission: '&6&lCurrency &8➸ &c&lERROR: &7You do not have permissions
  to purchase this item!'
msg-purchase-insufficient-amount: '&6&lCurrency &8➸ &7You only have &6⛁ &e{balance}
  &7currency! ({name})'
msg-limited-item: '&6&lCurrency &8➸ &7This is a limited item! &a{current}&7/&c{max}'
msg-daily-gold-reminder: '&6&lCurrency &8➸ &7You have daily currency you can claim!'
msg-no-logs-to-view: '&6&lCurrency &8➸ &7Seems like there is no logs to view.'
msg-purchase-log-format: '&7{place}. {item}&7 - &f{category} &7- &f&6⛁ &e{cost} &7-
  &f{time} &7- &f{realm}'
msg-purchase-log-title: '&8----- &e{player} Purchase Log List &f[{page}/{max_page}]
  &8-----'
msg-purchase-log-chat-hover:
- ' '
- '&e&lInformation'
- ' &8➸ &7Item: &f{item}'
- ' &8➸ &7Category: &f{category}'
- ' &8➸ &7Cost: &6⛁ &e{cost}'
- ' &8➸ &7Time: &f{time}'
- ' &8➸ &7Realm: &f{realm}'
- ' '
msg-given-currency-item: '&6&lCurrency &8➸ &7You have given &e{player}&7 a currency
  item with the value amount of &6⛁ &e{amount}&7!'
msg-currency-item-deny: '&6&lCurrency &8➸ &7This currency note does not belong to
  you!'
msg-currency-item-redeemed: '&6&lCurrency &8➸ &7You have redeemed &6⛁ &e{amount}&7
  from the currency note!'

# === Discord Webhook Configuration ===
# Configure Discord webhooks to send currency and shop transaction updates to your Discord server.
# Each webhook corresponds to a specific currency action or shop event.

# Important:
# - Make sure to provide valid Discord webhook URLs to enable notifications.
# - Enable or disable each webhook independently by setting the 'enabled' flag.
# - Customize webhook appearance: name, avatar URL, embed title, description, footer, and color.
# - Use placeholders like {action}, {sender}, {receiver}, {amount}, {player}, {item}, and {cost} in the embed descriptions
#   to dynamically display relevant information.

# Example placeholders for currency webhooks:
#   {action} - The type of currency transaction (GIVE, TAKE, SET, etc.)
#   {sender} - The executor of the transaction
#   {receiver} - The recipient of the currency
#   {amount} - The amount of currency involved
#   {reason} - The reason for the action
#   {realm} - The realm of the action

# Example placeholders for shop transactions:
#   {player} - The player making the purchase
#   {uuid} - The unique identifier of the player
#   {item} - The item bought or sold
#   {cost} - The cost of the transaction

# Ensure your Discord server permissions allow the bot to send messages via these webhooks.
currency-give-webhook:
  enabled: false
  webhook-url: https://discord.com/api/webhooks/XXXX/XXXX
  webhook-name: Currency Transaction
  webhook-avatar: https://mantic.dev/logo.png
  colour: '#1e90ff'
  title: Currency Transaction (Give)
  description:
  - '**Executor:** `{sender}`'
  - ''
  - '**Reason:** `{reason}`'
  - ''
  - '**Realm:** `{realm}'
  - ''
  - '**Victim:** `{receiver}`'
  - ''
  - '**Currency Amount (Before):** ⛁ `{before}`'
  - '**Currency Amount (After):** ⛁ `{after}`'
  footer: Made with ❤ by Mantic Development
  mention-all: false
currency-take-webhook:
  enabled: false
  webhook-url: https://discord.com/api/webhooks/XXXX/XXXX
  webhook-name: Currency Transaction
  webhook-avatar: https://mantic.dev/logo.png
  colour: '#1e90ff'
  title: Currency Transaction (Take)
  description:
  - '**Executor:** `{sender}`'
  - ''
  - '**Reason:** `{reason}`'
  - ''
  - '**Realm:** `{realm}'
  - ''
  - '**Victim:** `{receiver}`'
  - ''
  - '**Currency Amount (Before):** ⛁ `{before}`'
  - '**Currency Amount (After):** ⛁ `{after}`'
  footer: Made with ❤ by Mantic Development
  mention-all: false
currency-set-webhook:
  enabled: false
  webhook-url: https://discord.com/api/webhooks/XXXX/XXXX
  webhook-name: Currency Transaction
  webhook-avatar: https://mantic.dev/logo.png
  colour: '#1e90ff'
  title: Currency Transaction (Set)
  description:
  - '**Executor:** `{sender}`'
  - ''
  - '**Reason:** `{reason}`'
  - ''
  - '**Realm:** `{realm}'
  - ''
  - '**Victim:** `{receiver}`'
  - ''
  - '**Currency Amount (Before):** ⛁ `{before}`'
  - '**Currency Amount (After):** ⛁ `{after}`'
  footer: Made with ❤ by Mantic Development
  mention-all: false
currency-reset-webhook:
  enabled: false
  webhook-url: https://discord.com/api/webhooks/XXXX/XXXX
  webhook-name: Currency Transaction
  webhook-avatar: https://mantic.dev/logo.png
  colour: '#1e90ff'
  title: Currency Transaction (Reset)
  description:
  - '**Executor:** `{sender}`'
  - ''
  - '**Reason:** `{reason}`'
  - ''
  - '**Realm:** `{realm}'
  - ''
  - '**Victim:** `{receiver}`'
  - ''
  - '**Currency Amount (Before):** ⛁ `{before}`'
  - '**Currency Amount (After):** ⛁ `{after}`'
  footer: Made with ❤ by Mantic Development
  mention-all: false
currency-pay-webhook:
  enabled: false
  webhook-url: https://discord.com/api/webhooks/XXXX/XXXX
  webhook-name: Currency Transaction
  webhook-avatar: https://mantic.dev/logo.png
  colour: '#1e90ff'
  title: Currency Transaction (Pay)
  description:
  - '**Paid By:** `{sender}`'
  - ''
  - '**Reason:** `{reason}`'
  - ''
  - '**Realm:** `{realm}'
  - ''
  - '**Paid To:** `{receiver}`'
  - ''
  - '**Currency Amount (Before):** ⛁ `{before}`'
  - '**Currency Amount (After):** ⛁ `{after}`'
  footer: Made with ❤ by Mantic Development
  mention-all: false
shop-transaction-webhook:
  enabled: false
  webhook-url: https://discord.com/api/webhooks/XXXX/XXXX
  webhook-name: Shop Transaction
  webhook-avatar: https://mantic.dev/logo.png
  colour: '#1e90ff'
  title: Shop Transaction
  description:
  - '**Player:** `{player} ({uuid})`'
  - ''
  - '**Item:** `{item}`'
  - ''
  - '**Realm:** `{realm}'
  - ''
  - '**Price:** `{cost}`'
  footer: Made with ❤ by Mantic Development
  mention-all: false

```
