⭕ NightMarket [1.20-1.21+] - FREE Rotating Market Plugin | Mystery Items & Player Reroll ✨ icon

⭕ NightMarket [1.20-1.21+] - FREE Rotating Market Plugin | Mystery Items & Player Reroll ✨ -----

Boost Player Engagement with a FREE Rotating GUI Shop, offering Timed-Exclusive Deals and Unique!




NightMarket v1.18 - The Scheduling & Control Update
This major update introduces a powerful new Fixed-Time Scheduling System, giving you precise control over your market's hours, alongside crucial bug fixes and quality-of-life improvements.

✨ New Features
New Fixed-Time Scheduling System
You can now choose between two powerful scheduling modes in your config.yml under the market_schedule section.

  • INTERVAL Mode (The Classic System) This is the original system. The market cycles continuously based on the open_duration and close_duration you set in seconds.

  • FIXED_TIME Mode (New!) Set specific days and times for the market to open and close. This is perfect for creating weekend events, daily deals, or regularly scheduled market hours that your players can rely on. The system is smart enough to handle schedules that cross over the end of the week (e.g., opening Friday, closing Sunday).

    How to Configure Fixed-Time Mode: In your config.yml, set the schedule_mode and define your schedules.

    market_schedule:
    # Mode can be 'INTERVAL' or 'FIXED_TIME'.
    schedule_mode: "FIXED_TIME"

    # -- Settings for FIXED_TIME mode --
    # IMPORTANT: The timezone is based on your server's host machine.
    fixed_times:
    # Example 1: A weekend market from Friday evening to Sunday night.
    - open: "FRIDAY 18:00"
    close: "SUNDAY 22:00"

    # Example 2: A short market on Wednesday evening.
    - open: "WEDNESDAY 17:00"
    close: "WEDNESDAY 21:00"
HEX Color Code Support
  • Added full support for HEX color codes across all configuration files (config.yml, gui.yml, items.yml). You can now use formats like &#FF5733 for custom colors in names, lore, and messages.
Bug Fixes & Improvements
  • Fixed /nm forceclose: The forceclose command now correctly overrides the market schedule. The market will remain closed, even after a server restart, until it is manually opened with /nm forceopen.

  • Fixed /nm reload: Reloading the plugin now correctly applies all changes from the configuration files, including updates to the market schedule, without needing a server restart.

  • Fixed FIXED_TIME Countdown: The countdown timer for the FIXED_TIME schedule mode now accurately calculates and displays the time remaining until the next scheduled market opening.

  • Fixed Vault Price Formatting: Resolved a price formatting issue with Vault that caused incorrect text and color codes to appear in the item lore. Prices now display correctly when using the "DEFAULT" format style.
----------, Oct 6, 2025

NightMarket v1.17 - The Stability & Clarity Update
This update focuses on fixing a critical data bug and improving the user experience with more informative feedback.

Bug Fixes
  • Fixed Stock Initialization on Reload: A critical bug has been resolved where items added to items.yml during an active market cycle would incorrectly show as having 0 stock after a plugin reload. The stock for new items is now correctly initialized from items.yml while preserving the current state of existing items.
✨ Enhancements
  • Informative "Not Enough Money" Message: The user experience has been improved by making the "not enough money" message more specific. It now specifies the exact currency the player is lacking (e.g., "You don't have enough Points to buy this!") instead of a generic "money" message.
----------, Sep 30, 2025

NightMarket v1.16 - The Multi-Currency Update
This update introduces a major new feature: Multi-Currency Support, allowing server owners to configure items to be purchasable with up to two different types of currency. This was a fantastic community suggestion that greatly enhances the plugin's flexibility.

✨ New Features
Multi-Currency Support
  • Dual Pricing for Items: You can now define up to two different economy prices for a single item in items.yml using the new prices list format.

  • Click-Based Purchasing:
    • Left-Click in the market will purchase the item using the first currency listed.

    • Right-Click will purchase the item using the second currency listed.
  • Dynamic Lore Display: The item's lore will now automatically display both prices, clearly indicating which click corresponds to which currency.

  • New Configuration Options:
    • New placeholders have been added to items.yml (multi-price-line-format, left-click-prefix, right-click-prefix) to give you full control over how multi-currency prices are displayed.

    • The confirmation menu has also been updated to show the specific currency and price the player chose.
Enhanced Economy System
  • Multi-Provider Hooking: The EconomyManager has been re-engineered to hook into all supported economy plugins found on the server simultaneously, not just the single default provider from config.yml.

  • Flexible Item Pricing: You can now specify any hooked economy provider (e.g., "VAULT", "PLAYER_POINTS", "TOKEN_MANAGER", or custom API-registered providers) directly within the prices section for each item.
Bug Fixes & Improvements
  • Corrected a critical bug in MarketManager.java that was causing compilation errors and preventing the plugin from loading correctly after the initial multi-currency changes.

  • Fixed Data Handling: The market_state.yml file now correctly saves and loads all pricing information for each item, including original price, final price, and discount status for both currencies.

  • Backward Compatibility: The old price: <amount> format in items.yml is still fully supported. Items using this format will default to using the primary economy provider set in config.yml.

  • API Enhancements: The APIManager has been improved to allow other plugins to register custom economy providers even after the server has started, ensuring they are correctly integrated into the new multi-economy system.

  • Fixed Price Formatting: Fixed an issue where the price format in the purchase confirmation message (sent to chat) did not respect the price_format.style setting from config.yml. The purchase message will now use the correct number formatting, ensuring a consistent experience between the GUI and chat.
----------, Sep 26, 2025

NightMarket v1.15 - The Formatting Update
This update introduces powerful new formatting options, giving server owners greater control over how information is displayed to players.

✨ New Features
1. Customizable Time Formatting
You now have full control over the %time_remaining% placeholder. A new time_format section has been added to config.yml, allowing you to define custom text for days, hours, minutes, and seconds, including their singular and plural forms. This is perfect for server localization or simply matching your server's theme.

  • Example config.yml section:

    time_format:
    day: " Day"
    days: " Days"
    hour: "h"
    hours: "h"
    minute: "m"
    minutes: "m"
    second: "s"
    seconds: "s"
2. Advanced Price Formatting
A new price_format section in config.yml allows you to choose how economy prices are displayed throughout the plugin.

  • DEFAULT Style: The classic format with thousand separators (e.g., 1,000,000).

  • COMPACT Style: A modern, space-saving format using suffixes for large numbers (e.g., 1k, 1.5M, 2B). You can even customize the suffixes and decimal precision.
This setting affects all currency-based prices, including item lore and messages, ensuring a consistent look across the market.

  • Example config.yml section:

    price_format:
    # Style can be "DEFAULT" or "COMPACT".
    style: "COMPACT"
    compact_decimal_places: 1
    suffixes:
    - "k" # Thousand
    - "M" # Million
    - "B" # Billion
    - "T" # Trillion
⚙️ Configuration Changes
  • Your config.yml will be automatically updated to version 11 to include the new time_format and price_format sections. Your existing settings will be preserved.
----------, Sep 26, 2025

NightMarket v1.14 - The API & Integration Update
This update focuses on improving stability with third-party plugins and significantly expanding the developer API to allow for deeper integrations.

✨ New Features
  • Developer API Expansion
    • A major focus of this update was to empower other developers to build amazing things on top of NightMarket. The API has been expanded with new events and methods.

    • New Custom Events: You can now listen for when the market's state changes. This is perfect for integrations with plugins like Citizens to spawn/despawn an NPC vendor automatically.
      • MarketOpenEvent: Fired whenever the market opens (both scheduled and forced). It includes a method isForced() to check if it was opened by an admin command.

      • MarketCloseEvent: Fired whenever the market closes (both scheduled and forced). It also includes the isForced() method.
    • New API Methods: We've added several static methods to the APIManager class for easy, direct access to the market's status from your own plugins:
      • APIManager.isMarketOpen(): Returns true if the market is currently open.

      • APIManager.getTimeRemainingSeconds(): Returns the time left in the current cycle as a long.

      • APIManager.getFormattedTimeRemaining(): Returns a user-friendly formatted string of the remaining time (e.g., "1d 12h 30m").
Bug Fixes
  • Fixed Economy Provider Race Condition: Corrected a critical issue where NightMarket would fail to hook into custom economy providers (like CRYSTALS) during server startup.
    • The Problem: NightMarket was attempting to initialize its economy connection before other plugins had a chance to register their custom APIs.

    • The Solution: The economy setup process is now deferred by one server tick, ensuring all other plugins are fully loaded. This resolves the Invalid or unregistered economy provider error on startup and removes the need to use /nm reload to make it work.
----------, Sep 19, 2025

NightMarket v1.13 - The Developer API Update
This update introduces a powerful new feature for server administrators and developers, significantly expanding the plugin's flexibility and integration capabilities.

✨ New Features
  • Developer API for Custom Economies
    • The most significant addition in this version is the introduction of a public Developer API. This API allows other plugins to register their own custom economy providers directly with NightMarket.

    • What this means for you: You are no longer limited to the built-in economy providers (Vault, PlayerPoints, TokenManager, CoinsEngine). If your server uses a unique currency system from another plugin (like gems, souls, event tokens, etc.), a developer can now easily create a small bridge plugin to make it work with NightMarket.

    • How it works for developers:
      • Developers can now access the APIManager class.

      • By calling APIManager.registerEconomyProvider("UNIQUE_NAME", new YourEconomyProvider()), a new economy type can be added.

      • The implementation requires creating a class that implements the EconomyProvider interface, similar to the existing internal providers.
    • How it works for server owners:
      • Once a custom provider is installed, simply set the economy.provider in config.yml to the "UNIQUE_NAME" defined by the developer. NightMarket will automatically detect and use it.
️ Internal Improvements
  • The EconomyManager has been refactored to seamlessly detect and load both built-in and custom-registered economy providers.

  • Added robust checks to prevent conflicts between custom providers and built-in provider names.
This update is focused on making NightMarket more extensible and compatible with any server's unique economy setup.
----------, Sep 17, 2025

NightMarket v1.12 - The CoinsEngine Update
This update introduces a new economy provider, expanding the plugin's compatibility and offering more flexibility for server owners.

✨ New Features
CoinsEngine Support
  • NightMarket now officially supports CoinsEngine as an economy provider. You can now use currencies created in CoinsEngine for all transactions within the Night Market.
⚙️ Configuration Changes
To enable the new economy provider, you need to make the following changes in your config.yml:

1. Set the provider
In the economy section, set the provider to "COINSENGINE".

Code (Text):
economy:
  enabled: true
  provider: "COINSENGINE"
2. (Optional) Specify Currency ID
A new option, coinsengine_currency_id, has been added under the economy section. This allows you to specify which CoinsEngine currency you want to use. If not set, it defaults to "coins".

Code (Text):
economy:
  # ... other settings
  provider: "COINSENGINE"
  # Add this line to specify your currency
  coinsengine_currency_id: "your_currency_name_here"
Technical Updates
  • Added CoinsEngine to the softdepend list in plugin.yml to ensure proper loading order.

  • Implemented a new CoinsEngineProvider.java class to handle all API interactions for balance checking and withdrawals.
----------, Sep 11, 2025

NightMarket v1.11 - The Global Items Update!
This update introduces a major new feature, Global Items, which allows server owners to create a more communal and exciting market experience for all players.

✨ New Features
Global Items System
You can now designate specific items to be "global." These items, when selected, will appear in the Night Market for every single player during the market cycle. This is perfect for featuring rare items, special promotions, or server-wide deals.

  • Items are chosen from a weighted pool of all items marked as global: true in items.yml.

  • The chance of a global item determines its likelihood of being selected relative to other global items.

  • The remaining market slots will be filled with personalized, random items for each player, just like before.
⚙️ Configuration Changes
To support the new Global Items system, new options have been added. Your old config files will be automatically updated, but it's recommended to review these changes.

1. config.yml (Updated to version 9)
A new market_settings section has been added.

Code (Text):
# config.yml
# ... (other settings) ...

# -- Market Settings --
# NEW: Configure special market behaviors.
market_settings:
  # How many "global" items (marked with 'global: true' in items.yml) should be
  # selected and shown to ALL players during a market cycle.
  # If set to 0, no global items will be featured.
  # If the number of available global items is less than this value, all of them will be shown.
  number_of_global_items_to_show: 1

# ... (rest of the config) ...
2. items.yml
You can now add the global: true flag to any item you want to make a candidate for a global slot.

Code (Text):
# items.yml
items:
  # This Elytra is now a candidate to be a global item.
  elytra:
   global: true
   chance: 10.0 # High chance to be picked over other global items.
   price: 1000.0
   stock: 5
   # ... rest of item config

  # This Nether Star is also a candidate.
  nether_star:
   global: true
   chance: 5.0 # Lower chance than the Elytra.
   price: 2000.0
   stock: 2
   # ... rest of item config

  # This pickaxe is a regular, personal item because it does NOT have the 'global' tag.
  common_pickaxe:
   chance: 100.0
   price: 50.0
   stock: -1
   # ... rest of item config
️ Improvements & Fixes
  • Reworked the market generation logic in MarketManager to intelligently handle the selection and placement of both global and personal items.

  • The item loading system in ItemManager now correctly identifies and separates global item candidates from the personal item pool.

  • /nm resetall will now also re-roll the selected global items for the new cycle.
----------, Aug 30, 2025

NightMarket v1.10 - The Barter Update
This update introduces a major new feature allowing for a more immersive and flexible server economy, alongside important clarifications and bug fixes.

✨ New Feature: Item-Based Economy (Bartering)
You can now set prices for Night Market items using other in-game items instead of relying solely on an economy plugin like Vault or PlayerPoints. This feature is optional and can be mixed with the traditional currency system on an item-by-item basis.

How It Works:
  • A new section, required_items, has been added to the item configuration in items.yml.

  • If an item has the required_items section, the plugin will ignore the standard price: key and will instead check the player's inventory for the specified items upon purchase.

  • You can require one or multiple types of items as payment.

  • You can specify custom names and lore for the required items, allowing for complex custom currency (e.g., "Ancient Coins," "Event Tokens").
Configuration Changes:
  1. items.yml: To set an item's price to other items, use the new required_items list.

    Code (Text):
    items:
      example_item:
       chance: 5.0
       stock: 1
       required_items:
         - material: DIAMOND
           amount: 5
         - material: GOLD_NUGGET
           amount: 10
           name: '&6Ancient Coin'
       display_item:
         # ...
       commands_on_click:
         # ...
  2. config.yml: A new message has been added for when a player cannot afford a barter trade. Please add the following line to your messages: section:

    Code (Text):
    messages:
      # ... your other messages
      not_enough_items: '&cYou do not have the required items to purchase this.'
    (If you don't add this, a default English message will be used.)
Bug Fixes & Improvements
  • Clarified Failed to assign unique item Warning: The console warning [WARN]: Failed to assign a unique item for player... has been identified as a configuration issue, not a plugin bug. This warning correctly appears when there are fewer unique items defined in items.yml than there are available slots in the GUI. The solution is to add more item variety to your items.yml file. The plugin is functioning as intended by preventing duplicate items for a player.

  • Improved Code Structure: The economy handling system has been refactored to seamlessly support both traditional currency and the new item-based system.
Thank you for using NightMarket! We hope you enjoy the new bartering possibilities.
----------, Aug 29, 2025

NightMarket v1.9 - CustomModelData & Placeholders Update!
✨ New Features & Enhancements
Custom Model Data Support for Materials
  • You can now specify CustomModelData for items directly within the material string in items.yml.
  • Use the format MATERIAL:CUSTOM_MODEL_DATA (e.g., material: "DIAMOND_SWORD:1040") to easily apply custom textures from your resource packs.
  • This new method works for both regular market items and the reroll-item.
  • The previous custom_model_data field remains for backward compatibility.
New PlaceholderAPI Placeholder (%nightmarket_open%)
  • A new placeholder, %nightmarket_open%, has been introduced to check the market's status.
  • It will return "YES" if the market is open and "NO" if it is closed, allowing for seamless integration with other plugins like boss bars, scoreboards, or announcement systems.
Configurable Placeholder Outputs
  • The output of the %nightmarket_open% placeholder can now be fully customized.
  • A new placeholders section has been added to config.yml, allowing you to define custom text for the open_text and closed_text states.
  • Color codes (e.g., &aYES, &cNO) are fully supported.
----------, Aug 28, 2025

NightMarket v1.8 - The Permission & Polish Update
This update introduces a powerful, highly-requested permission system for individual items, giving you precise control over who can purchase what in your market. Several quality-of-life improvements and bug fixes have also been implemented based on your feedback.

✨ New Features
Per-Item Permissions
You can now restrict access to any market item by adding a new permission section in items.yml.
  • node: Define the exact permission node a player needs (e.g., nightmarket.item.vip).
  • invert: A true/false option that flips the logic:
    • false (default): Only players with the permission can buy the item. Perfect for VIP or donor exclusives.
    • true: Players with the permission are blocked from buying the item. Perfect for starter kits that you don't want experienced players to claim.
Configurable Access Denied Lore
Instead of hiding items, if a player doesn't have permission, the item will still be revealed, but a special lore will be added to it. This lore is fully customizable in config.yml under messages.permission_denied_lore.

New Sound Effect
A new sound effect for clicking a permission-denied item can now be configured in config.yml under sounds.permission_denied.

⚙️ Improvements & Bug Fixes
  • Fixed Item Reveal Logic: A critical bug has been fixed where items would sometimes not appear or reveal correctly if the player lacked the required permission. Now, all items will be assigned and can be revealed by all players. The permission check only affects the ability to purchase and the item's lore after being revealed.

  • Improved Player Experience: Players can now see all offers in the market, even those they can't buy, which creates a more consistent and informative GUI experience.
For Server Admins
Automatic Configuration Update
As always, there's no need to manually edit your config.yml. Simply update the plugin .jar file and restart your server. The new permission_denied_lore message and permission_denied sound sections will be added automatically.

Thank you for your continued support and feedback! If you're enjoying the new features, a review on the plugin page would be immensely helpful.
----------, Aug 27, 2025

NightMarket v1.7 - The Flexibility Update
This update introduces a major new feature requested by the community, giving server owners more control over how their market's economy and item availability are handled.

✨ New Features
Selectable Stock System
The biggest addition in this version is the ability to choose how item stocks are managed. A new stock_system section has been added to config.yml.
  • mode: GLOBAL
    • This is the original, default behavior.
    • The stock value in items.yml is server-wide.
    • Each player can only purchase each unique item ONCE per market cycle, making items feel more exclusive.
  • mode: PLAYER
    • This is the brand-new mode based on user feedback!
    • The stock value in items.yml now applies to each player individually.
    • If an item has a stock of 5, every single player can buy that item up to 5 times, regardless of what other players do. This is perfect for items you want to be more widely available.
⚙️ Improvements & Changes
Dynamic %stock% Placeholder
To make configuration easier, the lore placeholder system has been simplified. You now only need to use %stock%.
  • In GLOBAL mode, it will automatically display the remaining server-wide stock.
  • In PLAYER mode, it will automatically display the player's personal remaining stock for that item.
  • The old %player_stock% placeholder is no longer needed.
For Server Admins
Automatic Configuration Update
There's no need to manually add the new options to your config.yml. Simply update the plugin .jar file and restart your server. The new stock_system section will be added to your configuration file automatically.

Thank you for your valuable feedback which made this update possible!
----------, Aug 27, 2025

NightMarket v1.6 - The Dynamic Discount Update!
This update introduces a dynamic new discount system, giving server owners more control over the market's economy and providing an exciting experience for players.

✨ New Features
Dynamic Item Discounts
Items can now be configured to have a chance of appearing on sale for each player. When an item is selected for a player's market, the plugin will roll a chance to apply a discount.

  • Both the chance of a discount and the percentage of the discount are fully configurable on a per-item basis.

  • This system is player-specific, meaning one player might see an item on sale while another sees it at full price, encouraging players to check their market frequently.
Strikethrough Price Display
To clearly communicate a sale, discounted items will now display the original price with a strikethrough next to the new, lower price in the item's lore.

Customizable Price Formatting
Server owners now have complete control over how prices are displayed. A new price-placeholders section in items.yml allows you to define the exact text and color format for both normal and discounted prices.

⚙️ Configuration Changes (items.yml)
To support these new features, items.yml has been updated with two new sections:

discount section (per-item):
You can now add a discount block to any item in the items section.

  • chance: The probability (e.g., 25.0 for 25%) that the item will be on sale.

  • percentage: The discount amount (e.g., 50.0 for 50% off).
Code (Text):
items:
  my_awesome_sword:
   price: 1000.0
   discount:
     chance: 10.0
     percentage: 50.0
   # ... other settings
price-placeholders section (global):
This new top-level section controls the display format for all item prices.

  • normal: The format for a standard price. Uses %final_price%.

  • discounted: The format for a sale price. Uses %original_price% and %final_price%.
To use it, simply add a line containing only %price_placeholder% in your item's lore.

Code (Text):
price-placeholders:
  normal: "&ePrice: &6%final_price%"
  discounted: "&ePrice: &m&6%original_price%&r &a%final_price%"

# ... inside an item's lore:
# lore:
#   - "A very cool sword."
#   - "%price_placeholder%"
Thank you for using NightMarket! We hope you and your players enjoy these new economic features.
----------, Aug 24, 2025

NightMarket v1.5.1 Changelog
This is a small patch release focused on improving the audio feedback for market status changes.

✨ New Features
  • Market Open Sound: You can now configure a unique sound effect that plays for all online players when the Night Market opens. A new market_open section has been added to the sounds: area in config.yml to customize this.
Bug Fixes
  • Market Close Sound: Fixed a bug where the market_closed sound effect was not playing when the market closed, either automatically or via the /nm forceclose command. The sound will now play correctly for all online players.
----------, Aug 21, 2025

NightMarket v1.5 - The Global Stock & Competition Update!
This update introduces major new features focused on creating a more dynamic and competitive economy, alongside significant quality-of-life improvements for server administrators.

✨ New Features
Global Item Stock System
You can now set a global stock for each item in items.yml. This stock is shared across the entire server.

  • Set stock: -1 for infinite supply (ideal for common items).

  • Set stock to any positive number (e.g., stock: 5) to create rare, limited-quantity items that players will compete for!

  • A new %stock% placeholder is available to display the remaining quantity in the item's lore.

    Code (Text):
      nether_star:
        chance: 5.0 # Very Rare
        price: 2000.0
        stock: 2
        display_item:
          material: "NETHER_STAR"
          name: "&5Nether Star"
          lore:
            - "&7Power from the depths."
            - ""
            - "&ePrice: &6%price_placeholder%"
            - "&7Stock: &4&lONLY %stock% LEFT!"
        commands_on_click:
          - "give %player% nether_star 1"
Customizable "Out of Stock" Display
A new item display, global_out_of_stock_item_display, has been added to config.yml.

  • This allows you to create a unique appearance for items that have run out of global stock, differentiating them from items that a player has personally purchased.
Update Notifications for Operators
In addition to the console message, operators will now receive a configurable update notification directly in-game upon joining the server if a new version is available.

  • The update_notify message in config.yml has been simplified to a single, customizable line.
Improvements & Fixes
Intelligent Auto-Config Updater
The plugin now features a smart configuration updater. When you update the plugin, it will automatically add any new options to your existing config.yml without deleting your settings or comments. No more manual merging or .yml.old files!

Bug Fix: /nm resetplayer Command
Fixed a critical bug where using /nightmarket resetplayer <player> would not refresh the target player's open GUI, causing a data desynchronization. The GUI will now update instantly and correctly after a reset.

⬆️ How to Update
  1. Replace your old NightMarket.jar with the new one.

  2. Restart your server. The plugin will automatically and safely update your config.yml with the new options.

  3. (Optional) Customize the new options in config.yml and add stock values to your items.yml to take advantage of the new features.
----------, Aug 21, 2025

NightMarket v1.4 - The Convenience Update!
✨ New Features
  • Automatic Update Checker: Implemented an automatic update checker. Server operators and players with OP permission will now be notified in-game and in the console when a new version is available on SpigotMC. This feature can be toggled in the config.yml.
Code (Text):
# -- Update Checker --
# Set to true to enable automatic update checking on plugin startup.
# The plugin will notify you in the console if a new version is available.
check-updates: true
----------, Aug 19, 2025

NightMarket v1.3 - The Multi-Economy & Stability Update!
This update focuses on massive improvements to flexibility, stability, and administrative convenience.

✨ New Features
  • Multi-Economy Support: NightMarket is no longer limited to just Vault! You can now use different economy plugins for your market via a new configuration setting.
    • Added native support for PlayerPoints.
    • Added native support for TokenManager.
    • A new economy.provider option in config.yml allows you to explicitly select VAULT, PLAYER_POINTS, or TOKEN_MANAGER.

      Code (Text):
      # -- Economy Settings --
      economy:
        # Set to false to disable all economy features.
        # If false, all items will be free and no economy plugin is needed.
        enabled: true
        # Choose the economy plugin to use. This MUST be installed on your server.
        # Valid options: VAULT, PLAYER_POINTS, TOKEN_MANAGER
        # - VAULT: Requires Vault and an economy plugin like EssentialsX.
        # - PLAYER_POINTS: Requires the PlayerPoints plugin.
        # - TOKEN_MANAGER: Requires the TokenManager plugin.
        provider: "VAULT"
Bug Fixes
  • Player Data Persistence: A critical bug has been fixed where player market data (assigned items, revealed slots) would be lost after a server or plugin reload. All player progress within a market cycle is now correctly saved and reloaded.
Improvements
  • Enhanced Reload Command: The /nightmarket reload command is now more powerful. It will properly reload all plugin configurations and re-establish the connection to the chosen economy provider without requiring a server restart.
----------, Aug 17, 2025

NightMarket v1.2 - Bug Fix Update

This is a small but important update that addresses critical bugs related to the new market announcement system.

️ Fixed
  • Corrected a critical bug in the market announcement scheduler that prevented before_open and before_close broadcasts from being sent at the correct times.

  • Improved the configuration loader to correctly parse market announcement schedules from config.yml, resolving an issue where announcements were not being loaded at all due to a format mismatch.
----------, Aug 14, 2025

NightMarket v1.1 - The Automation & Engagement Update!

We're excited to release NightMarket v1.1, bringing significant quality-of-life improvements and new features to enhance your server's market experience!

✨ New Features
1. Automatic Config Updater!
Keeping your configurations up-to-date has never been easier! NightMarket now includes a robust system that simplifies all future updates.

  • How it Works: When you install a new version, the plugin automatically detects if your config.yml is outdated. If it is, your existing config is safely backed up as config.yml.old, and a new, up-to-date config.yml is generated with all the latest options.

  • Benefit: This eliminates the hassle of manually merging new settings, ensuring you always have access to the latest features without losing your old setup.

  • Action Required: After an automatic update, simply review your config.yml.old and transfer any custom settings to the newly generated config.yml.
2. Advanced Market Announcement System!
Elevate player engagement with dynamic, scheduled announcements! You can now configure custom messages to be broadcast at specific intervals before the Night Market opens or closes.

  • Benefit: This feature creates anticipation for market openings, reminds players of impending closures (driving last-minute purchases), and makes the Night Market feel like a more significant, event-driven part of your server.

  • Configuration: A new announcements section has been added to your config.yml. Define the time_before (in seconds) and craft your custom message, with full support for color codes.

  • Example Use Cases:
    • "The Night Market will open in 1 hour! Get ready for new deals!"

    • "The Night Market is closing in 10 minutes! Make your final purchases!"
️ Improvements & Fixes
  • Internal Code Refinement: Addressed a minor internal issue related to configuration file handling, improving plugin stability and robustness during startup.
We hope you enjoy these new additions! As always, feel free to reach out for support or feedback.
----------, Aug 13, 2025

Resource Information
Author:
----------
Total Downloads: 405
First Release: Aug 11, 2025
Last Update: Oct 6, 2025
Category: ---------------
All-Time Rating:
13 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings