
EnchantShop
A complete enchanting system with a GUI shop, a high-stakes enchantment gambler, a disenchanter, and powerful admin tools.

After a long battle with the code demons, EnchantShop has emerged victorious! This plugin provides a seamless way for your players to spend their hard-earned in-game money to get the exact enchantments they want, bypassing the randomness of the vanilla enchanting table. (YES I'M PUTTING THIS BECAUSE THIS IS MY FIRST PLUGIN AND I WANT TO SHOW YOU HOW HARD IT WAS)
Features ✨
- NEW! Enchantment Gambler: A high-stakes "double or nothing" system! Players can wager the existing enchantments on an item for a chance to win a new random enchant, but risk losing them all if the gamble fails!
- Intuitive GUI Menu (
/eshop): A main menu lets players choose between the classic, safe Enchant Shop and the risky new Gambler. - Enchanted Book Support: The shop works for both enchanting items directly and creating tradable Enchanted Books.
- Disenchanting System (
/disenchant): A separate GUI allows players to remove enchantments for a configurable refund. - Powerful Admin Tools:
/enchanter <player> <enchant> <level>: Instantly apply any enchant./eshop reload: Reload the config on the fly.
- Deep Configuration: Control everything from costs, gamble chances, blacklisted enchants, and max level overrides to all messages and sounds.
Installation ⚙️
Important: If updating from a previous version, you must delete your old config.json to allow the new gambling settings to generate.
- Stop your server.
- Download the latest
EnchantShop.jarfrom the Modrinth page. - Install the dependencies: You must have Vault and an economy plugin (like EssentialsX) installed.
- Place all
.jarfiles into your server's/pluginsfolder. - Start your server to generate the new
config.json. - Edit the
config.jsonto your liking, then use/eshop reload!
How to Use 🎮
For Players:
/eshop: Hold an item to open the main menu, then choose "Enchant Item" or "Gamble Item"./disenchant: Hold an enchanted item to open the disenchanting menu.
For Admins:
/eshop reload: Reloads the configuration file./enchanter <player> <enchant> <level>: Gives an enchant to a player.
Configuration 🔧
You can configure every aspect of the shop in the plugins/EnchantShop/config.json file. The file is automatically generated with sane defaults.
{
"costFormula": "base_cost * (level * level)",
"enchantmentBaseCosts": {
"minecraft:sharpness": 1000.0,
"minecraft:mending": 10000.0
},
"mainMenuTitle": "&8Main Menu",
"successSound": "ENTITY_PLAYER_LEVELUP",
"failSound": "ENTITY_VILLAGER_NO",
"gambleTickSound": "BLOCK_NOTE_BLOCK_HAT",
"gambleWinSound": "ENTITY_FIREWORK_ROCKET_TWINKLE",
"gambleLoseSound": "ENTITY_VILLAGER_DEATH",
"gambleDoubleSound": "UI_TOAST_CHALLENGE_COMPLETE",
"gambleChanceToWinPercent": 50,
"gambleChanceForSecondEnchantPercent": 20,
"messages": {
"prefix": "&8[&6EnchantShop&8] &r",
"gamble_no_enchants": "&cThe item you are holding must have at least one enchantment to gamble!",
"gamble_win": "&a&lVICTORY! &fYour item has been enchanted with &e{enchant} {level}&f!",
"gamble_win_extra": "&6&lJACKPOT! &fYou won an &eEXTRA&f random enchantment!",
"gamble_lose": "&c&lDEFEAT! &fAll enchantments on your item have been &cWIPED&f!"
},
"perEnchantPermissions": false,
"enchantmentBlacklist": [
"minecraft:binding_curse"
],
"maxLevelOverrides": {},
"disenchantRefundPercentage": 50.0
}
Permissions 🛡️
EnchantShop has a robust permission system for ultimate control.
enchantshop.disenchant: Allows use of the/disenchantcommand. (Default: true)enchantshop.reload: Allows use of the/eshop reloadsubcommand. (Default: op)enchantshop.enchanter: Allows use of the/enchanteradmin command. (Default: op)enchantshop.buy.<enchant_name>: Required to buy an enchant ifperEnchantPermissionsis enabled.enchantshop.admin: A parent node that grants all administrative permissions.
Join Our Community! 💬
Have a question, a suggestion, or just want to hang out? Join the official Duckalds' Mods Discord server! Click the banner below to join.
Ченджлог
3.0.0Релиз1.21.6, 1.21.7, 1.21.8 · 23 августа 2025 г.
Version 3.0.0 - The Gambling Update!
This is a massive, game-changing update that introduces a brand new, high-stakes way to get enchantments!
✨ New Core Feature: The Enchantment Gambler!
- Risk it All: A new "Gamble Item" option has been added to the main menu. Instead of paying with money, you wager the existing enchantments on your item!
- High Stakes, High Rewards: You have a configurable chance (default 50%) to win a brand new, random enchantment. But if you lose, all enchantments on your item are wiped clean!
- Jackpot Chance: On a successful win, there's another configurable chance (default 20%) to win a second random enchantment as a jackpot!
- Thrilling Animation: Experience a 5-second animated roulette with custom sounds that slows down to reveal the final outcome, building suspense for every gamble.
🎨 Improvements & Changes
- New Main Menu: The
/eshopcommand now opens a new main menu where players can choose between the classic "Enchant Item" shop and the new "Gamble Item" feature. - Configuration Overhaul: The
config.jsonhas been updated with a new "Gambling Settings" section to control costs, win chances, sounds, and messages. - It is highly recommended that you delete your old
config.jsonto allow the new, much more detailed one to generate with all the new options.
2.0.0Релиз1.21.6, 1.21.7, 1.21.8 · 22 августа 2025 г.
Version 2.0.0 - The Gameplay Update
This is a massive update that adds entirely new gameplay mechanics and powerful administrative tools, transforming EnchantShop into a complete enchanting economy system for your server!
✨ New Gameplay Features
Disenchanting GUI (
/disenchant):- Players can now remove enchantments from their items for a partial refund!
- Simply hold the item and run
/disenchantto open a new interactive GUI. - The refund percentage is fully configurable in the
config.json. - This feature is available to all players by default (
enchantshop.disenchant).
Enchanted Book Support:
- The enchant shop is now a book shop! If a player runs
/eshopwhile holding a regular book, they will purchase an Enchanted Book instead of applying the enchant directly. - This allows players to store, trade, and sell enchantments, creating a new player-driven economy.
- The enchant shop is now a book shop! If a player runs
🛠️ New Admin Features
- Admin Enchanter Command (
/enchanter):- A powerful new command for admins to instantly enchant the item a player is holding.
- Usage:
/enchanter <player> <enchantment> <level> - Includes full tab-completion for player names and enchantment IDs.
- Requires the permission
enchantshop.enchanter.
🔧 Improvements & Fixes
- Configuration Reset Recommended: Due to the large number of new messages and settings, it is highly recommended that you delete your old
config.jsonto allow a fresh one to generate. - Added over 10 new configurable messages for all the new features.
- The
DisenchantCommandwill now correctly check if the item held is actually disenchantable before opening the GUI.
1.3.3Релиз1.21.6, 1.21.7, 1.21.8 · 22 августа 2025 г.
Version 1.3.3 - The Admin Control Update
This is a major feature update that gives server owners deep control over their server's economy, progression, and balance. EnchantShop is now a powerful administrative tool!
✨ New Core Features
- Enchantment Blacklist: You can now prevent specific enchantments from appearing in the shop! A new
enchantmentBlacklistlist in theconfig.jsonallows you to make powerful enchants like Mending a rare, non-purchasable treasure. - Per-Enchantment Permissions: A new
perEnchantPermissionstoggle in the config enables a powerful permissions system. Whentrue, players will need the permission nodeenchantshop.buy.<enchant_name>(e.g.,enchantshop.buy.mending) to purchase an enchant. This is perfect for donor perks or quest rewards! - Max Level Overrides: Break the vanilla limits! A new
maxLevelOverridessection in the config lets you sell enchantments at any level you desire, such as Sharpness X or Efficiency VII.
🔧 Improvements & Fixes
- Modernized Plugin Structure: The plugin now uses a single
paper-plugin.ymlfor all metadata, resolving a critical loading error and improving compatibility with modern Paper servers. - Improved Permissions: The permission system has been expanded. All
enchantshop.buy.*permissions are now nested under theenchantshop.adminnode for easier management in permissions plugins. - The
config.jsonwill now automatically update with examples for all the new features.
1.3.2Релиз1.21.6, 1.21.7, 1.21.8 · 22 августа 2025 г.
EnchantShop Version 1.3.2 - The Quality of Life Update
This update focuses on adding highly requested features for server administrators and improving the overall user experience with new feedback and customization options.
✨ New Features
Configuration Reloading:
- You can now reload the
config.jsonfile without restarting the server! - Simply use the command
/eshop reload. - This requires the new permission node:
enchantshop.admin.
- You can now reload the
Sound Effects:
- Added satisfying sound effects for both successful and failed transactions to provide better feedback to players.
- The sounds for success (
successSound) and failure (failSound) are now fully configurable in theconfig.json! Default sounds areENTITY_PLAYER_LEVELUPandENTITY_VILLAGER_NO.
🎨 Improvements
- Customizable GUI Titles:
- The titles of the "Enchantment Selection" and "Level Selection" GUIs are no longer hardcoded.
- You can now customize them directly in the
config.jsonusing theenchantSelectTitleandlevelSelectTitleoptions, including color codes.
🔧 Internal & Config Changes
- Added a new
config_reloadedmessage to themessagessection of the config. - The command system has been updated to support subcommands and permissions.
- Your
config.jsonfile will automatically update with the new fields on the next server start. It's recommended to check the new options and customize them to your liking
1.3.1Релиз1.21.6, 1.21.7, 1.21.8 · 21 августа 2025 г.
CHECK THE DESCRIPTION! Vault is not in dependencies because it's not on Modrinth.
Комментарии
Загружаем…
