This is my first plugin, if you don't like or you notice any bugs, let me know in the comments or contact me on discord ( d3xts )
This plugin has been made with love and with dedication, every comment is accepted and every suggestion too.
This plugin has been made with love and with dedication, every comment is accepted and every suggestion too.
Configuration:
YAML:
###############################
# GlacialVaults Configuration #
###############################
#
# Welcome to GlacialVaults! This plugin provides each player
# with a set of private “vault” inventories plus the ability
# to safely store and withdraw Minecraft experience levels.
#
# Main Features:
# 1. Vault Inventories
# • Each player can have multiple vaults, sized by permission.
# • Contents are persisted per-player in separate YAML files.
#
# 2. Experience Storage Item
# • A configurable “Store Experience” item appears inside
# each vault UI.
# • Left-click to deposit levels, right-click to withdraw.
# • Shows current stored XP in its lore.
# • Fully customizable: material, display name, lore, slot,
# and enable/disable.
#
# 3. Auto Config Update
# • Watch for changes to config.yml at runtime.
# • If enabled, plugin will restart automatically on save.
# • If disabled, plugin will simply reload settings and
# clear all open vault caches (no full restart).
#
# 4. Chat Prompts & Messages
# • All player-facing messages (prompts, errors,
# success notices) live under “messages.”
# • Use standard Minecraft color codes (&) and
# placeholders (%xp%, %amount%).
#
# To customize behavior, adjust the sections below.
# Save your edits and watch your server logs to confirm
# whether the plugin restarts or reloads automatically.
# Made by D3xts, Rate the plugin if you like it.
# https://builtbybit.com/resources/glacialvaults-free.66647/
messages:
depositPrompt: "\n&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &7Type how many XP levels to deposit (or 'cancel' to abort):\n"
withdrawPrompt: "\n&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &7Type how many XP levels to withdraw (or 'cancel' to abort):\n"
operationCancelled: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &aOperation cancelled successfully."
invalidNumber: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &cPlease enter a valid number. Example: &e100&c."
numberGreaterThanZero: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &cNumber must be greater than 0. Example: &e100&c."
notEnoughXP: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &cYou don't have enough XP levels to deposit."
notEnoughStoredXP: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &cYou don't have that much XP stored to withdraw."
depositSuccess: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &aYou deposited &e%amount% &aXP levels!"
withdrawSuccess: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &aYou withdrew &e%amount% &aXP levels!"
# MONEY Messages (placeholders: %amount%, %money%)
moneyDepositPrompt: "\n&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &7Type how much money to deposit (or 'cancel' to abort):\n"
moneyWithdrawPrompt: "\n&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &7Type how much money to withdraw (or 'cancel' to abort):\n"
moneyOperationCancelled: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &aOperation cancelled successfully."
moneyInvalidNumber: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &cPlease enter a valid amount of money. Example: &e100.50&c."
moneyNumberGreaterThanZero: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &cAmount must be greater than 0. Example: &e100.50&c."
notEnoughMoney: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &cYou don't have enough money to deposit."
notEnoughStoredMoney: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &cYou don't have that much money stored to withdraw."
moneyDepositSuccess: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &aYou deposited $&e%amount%&a into your vault!"
moneyWithdrawSuccess: "&b&lɢʟᴀᴄɪᴀʟ&f&lᴠᴀᴜʟᴛs &8| &aYou withdrew $&e%amount%&a from your vault!"
exp-item:
enabled: true # If true, the Store Experience item is shown in the vault. Set to false to disable it.
slot: -1 # The slot index (0-based) where the item is placed. -1 means the last slot.
material: "BASEHEAD-eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODdkODg1YjMyYjBkZDJkNmI3ZjFiNTgyYTM0MTg2ZjhhNTM3M2M0NjU4OWEyNzM0MjMxMzJiNDQ4YjgwMzQ2MiJ9fX0=" # Can be everything
display-name: "&b&lStore Experience"
lore:
- ""
- "&8| &7Allows you to &astore&7 your experience levels"
- "&8| &7safely in your vault."
- ""
- "&8| &7Currently stored: &e%xp%"
- ""
- "&8| &2Left-click &7to &2deposit"
- "&8| &aRight-click &7to &awithdraw"
- ""
money-item:
enabled: true # true = show the Store Money item; false = disable it entirely
slot: -1 # slot index (0-based) where to place it; -1 = last slot
material: "BASEHEAD-eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTVmZDY3ZDU2ZmZjNTNmYjM2MGExNzg3OWQ5YjUzMzhkNzMzMmQ4ZjEyOTQ5MWE1ZTE3ZThkNmU4YWVhNmMzYSJ9fX0="
display-name: "&e&lStore Money"
lore:
- ""
- "&8| &7Allows you to &astore&7 your money safely"
- ""
- "&8| &7Currently stored: &a$%money%"
- ""
- "&8| &2Left-click &7to &2deposit"
- "&8| &cRight-click &7to &cwithdraw"
- ""
auto-config-update:
enabled: true # If true, the plugin will fully restart when config.yml changes.
# If false, it will only reload the config
# and clear the vault cache.
Thank you so much for your review!
I was already considering adding support for a money system to the plugin. The permissions currently allow server owners to manage rows, and I’m also working on a detailed wiki, it should be available in the next few days.
I’ll definitely be expanding the config.yml to include more customizable options for server owners.
Thanks again for your support!
Sincerely,
D3xts