Перейти к содержимому
Mineforgian

EnchantShop

A simple, powerful, and fully configurable GUI-based shop for enchanting items using your server's economy.

Загрузки
285
Подписчики
1
Обновлён
23 августа 2025 г.
Лицензия
MIT

Опубликован 21 августа 2025 г.

EnchantShop

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

Logo

Requires Vault Built for Paper

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.

  1. Stop your server.
  2. Download the latest EnchantShop.jar from the Modrinth page.
  3. Install the dependencies: You must have Vault and an economy plugin (like EssentialsX) installed.
  4. Place all .jar files into your server's /plugins folder.
  5. Start your server to generate the new config.json.
  6. Edit the config.json to 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 /disenchant command. (Default: true)
  • enchantshop.reload: Allows use of the /eshop reload subcommand. (Default: op)
  • enchantshop.enchanter: Allows use of the /enchanter admin command. (Default: op)
  • enchantshop.buy.<enchant_name>: Required to buy an enchant if perEnchantPermissions is 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.

Join Our Discord!

Ченджлог

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 /eshop command 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.json has 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.json to 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 /disenchant to 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 /eshop while 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.

🛠️ 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.json to allow a fresh one to generate.
  • Added over 10 new configurable messages for all the new features.
  • The DisenchantCommand will 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 enchantmentBlacklist list in the config.json allows you to make powerful enchants like Mending a rare, non-purchasable treasure.
  • Per-Enchantment Permissions: A new perEnchantPermissions toggle in the config enables a powerful permissions system. When true, players will need the permission node enchantshop.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 maxLevelOverrides section 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.yml for 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 the enchantshop.admin node for easier management in permissions plugins.
  • The config.json will 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.json file without restarting the server!
    • Simply use the command /eshop reload.
    • This requires the new permission node: enchantshop.admin.
  • 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 the config.json! Default sounds are ENTITY_PLAYER_LEVELUP and ENTITY_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.json using the enchantSelectTitle and levelSelectTitle options, including color codes.

🔧 Internal & Config Changes

  • Added a new config_reloaded message to the messages section of the config.
  • The command system has been updated to support subcommands and permissions.
  • Your config.json file 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.

Комментарии

Загружаем…