▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/UCExchange
UCExchange

UCExchange

Daily rotating trade market plugin for Paper with GUI, Vault support, Discord logs, PlaceholderAPI, and automatic offer refresh.

Оцените первым
99
2

!Servers using UCExchange !Players on servers using UCExchange

UCExchange

UCExchange is a complete daily rotating exchange market plugin for Paper and Folia servers.

It allows players to exchange common resources for money or rarer items through a clean and configurable GUI.

Available offers can rotate automatically, keeping the market fresh and encouraging players to return regularly.

UCExchange is designed for survival, economy, public, and custom servers that need a dynamic exchange system without installing a complete shop plugin.

The plugin includes in-game administration, transaction tracking, SQLite and MySQL support, audit logs, Discord webhook notifications, PlaceholderAPI integration, bStats metrics, and update checking.

Everything can be configured, including the menu, available offers, rotation behavior, messages, database settings, webhook notifications, permissions, and administrative tools.


Features

  • Daily rotating exchange market
  • Clean GUI-based exchange menu
  • Resource-to-money exchanges using Vault
  • Resource-to-item exchanges
  • Automatic market rotation
  • Configurable rotation interval
  • Manual market rotation
  • Complete in-game offer management
  • Create offers using items held by the administrator
  • Activate offers in specific GUI slots
  • Delete configured offers
  • List all configured offers
  • SQLite local database support
  • MySQL database support
  • Detailed player transaction tracking
  • Administrative audit logs
  • Console exchange logs
  • Discord webhook logs
  • PlaceholderAPI support
  • bStats integration
  • Modrinth update checker
  • Vault transaction validation
  • Automatic item refund when a payment fails
  • Configurable messages
  • Configurable menu title and size
  • Configurable offer slots
  • Configurable item names and lore
  • Shift-click maximum exchange support
  • Separate administrator permissions
  • Dedicated Paper 1.21.11 build
  • Dedicated Paper and Folia 26.1 build

Commands

Player Commands

/dailyexchange

Aliases:

/de

/exchange

Opens the daily exchange market.


Administrator Commands

/de list

Displays all configured exchange offers.

/de create money <id> <price>

Creates an item-to-money offer using the item held in the administrator's main hand.

/de create item <id>

Creates an item-to-item offer using the main hand as the required item and the off-hand as the reward item.

/de activate <id> <slot>

Activates an existing offer immediately in a selected GUI slot.

/de delete <id>

Deletes a configured offer.

/de logs

Displays recent player transactions.

/de logs <amount>

Displays a specific number of recent player transactions.

/de refresh

Forces a new market rotation.

/de reload

Reloads the UCExchange configuration.


Creating a Money Offer

Hold the required item in your main hand.

The amount contained in the held stack becomes the required exchange quantity.

Example:

Hold 64 wheat in your main hand and execute:

/de create money wheat_sale 250

The following exchange will be created:

64 Wheat → $250

The identifier wheat_sale can then be used to activate, list, or delete the offer.

Example activation:

/de activate wheat_sale 10

This activates the offer in GUI slot 10.


Creating an Item Offer

Place the required item in your main hand.

Place the reward item in your off-hand.

The amount of each held stack is used as the exchange quantity.

Example:

Main hand:

16 Diamonds

Off-hand:

32 Emeralds

Execute:

/de create item diamond_emerald

The following exchange will be created:

16 Diamonds → 32 Emeralds

Example activation:

/de activate diamond_emerald 12


Permissions

Player Permission

ucexchange.use

Allows players to open and use the daily exchange market.

Default:

true


Global Administrator Permission

ucexchange.admin

Grants access to every UCExchange administrator feature.

Default:

OP

This permission includes:

  • ucexchange.admin.view
  • ucexchange.admin.logs
  • ucexchange.admin.edit
  • ucexchange.admin.rotate
  • ucexchange.admin.reload

Detailed Administrator Permissions

ucexchange.admin.view

Allows administrators to view configured offers and administrative information.

ucexchange.admin.logs

Allows administrators to view player transaction history.

ucexchange.admin.edit

Allows administrators to create, activate, modify, and delete exchange offers.

ucexchange.admin.rotate

Allows administrators to force a new market rotation.

ucexchange.admin.reload

Allows administrators to reload UCExchange.


Database Support

UCExchange supports two storage systems:

  • SQLite
  • MySQL

SQLite is enabled by default and does not require an external database server.

The local SQLite database is automatically created at:

plugins/UCExchange/ucexchange.db

Administrative actions and transaction errors are also recorded inside:

plugins/UCExchange/audit.log


Tracked Transaction Information

Each completed exchange can store:

  • Player UUID
  • Player username
  • Offer identifier
  • Offer type
  • Input material
  • Input quantity
  • Reward material
  • Reward quantity
  • Money received
  • Number of completed exchanges
  • Transaction date
  • Transaction time
  • Server identifier

This makes it possible to track exchanged items, received rewards, player activity, and market usage.


SQLite Configuration

SQLite is recommended for servers using a single Paper or Folia instance.

Example:

storage:
  type: SQLITE

The database file will be created automatically.

No additional database configuration is required.


MySQL Configuration

MySQL is recommended when transaction data must be stored remotely or shared between multiple server instances.

Example:

storage:
  type: MYSQL

  mysql:
    host: 127.0.0.1
    port: 3306
    database: ucexchange
    username: ucexchange
    password: change-me
    use-ssl: false

Make sure the configured MySQL user has permission to:

  • Create tables
  • Insert data
  • Read data
  • Update data
  • Delete data

Audit Logs

UCExchange creates an audit log file at:

plugins/UCExchange/audit.log

The audit log can include:

  • Player exchanges
  • Offer creation
  • Offer deletion
  • Offer activation
  • Forced market rotations
  • Plugin reloads
  • Vault transaction errors
  • Item refund errors
  • Database errors
  • Administrative actions

Vault Security

UCExchange validates Vault economy transactions before completing an exchange.

If an economy payment fails:

  • The transaction is cancelled
  • Removed items are refunded
  • The error is written to the audit log
  • The player receives an error message
  • The failed transaction is not treated as successful

A Vault-compatible economy plugin is required for money exchanges.

Examples include economy plugins that expose their economy through Vault.


PlaceholderAPI

UCExchange includes internal PlaceholderAPI support.

PlaceholderAPI is optional and is only required when UCExchange placeholders are used in another plugin.

Available placeholders:

%ucexchange_next_rotation%

Displays the remaining time or date of the next market rotation.

%ucexchange_last_rotation%

Displays the date or time of the previous market rotation.

%ucexchange_auto_rotate_hours%

Displays the configured automatic rotation interval.

%ucexchange_menu_title%

Displays the configured exchange menu title.

%ucexchange_webhook_enabled%

Displays whether Discord webhook logging is enabled.

%ucexchange_version%

Displays the installed UCExchange version.

%ucexchange_money_slots_count%

Displays the number of configured money offer slots.

%ucexchange_rare_slots_count%

Displays the number of configured rare item offer slots.

%ucexchange_shift_click_max%

Displays whether maximum exchanges using Shift-click are enabled.

These placeholders can be used in compatible plugins such as:

  • Scoreboards
  • Holograms
  • Tablists
  • Menus
  • Chat formats
  • NPC holograms
  • Information panels
  • PlaceholderAPI-compatible plugins

Discord Webhook

UCExchange can send Discord webhook notifications.

Webhook notifications can be used for:

  • Player exchanges
  • Money received
  • Items received
  • Market rotations
  • Administrative actions
  • Transaction errors
  • Database errors

Webhook logging can be enabled or disabled in the configuration.

Administrators can configure:

  • Webhook URL
  • Username
  • Avatar
  • Exchange notifications
  • Rotation notifications
  • Error notifications

bStats

UCExchange uses bStats to collect anonymous usage statistics.

bStats plugin ID:

30365

The collected information may include:

  • Number of servers using UCExchange
  • Number of players on servers using UCExchange
  • Minecraft version
  • Server implementation
  • Java version
  • Plugin version

No private player data, exchange history, database credentials, or configuration secrets are sent to bStats.

Metrics can be enabled or disabled in the UCExchange configuration.

Example:

metrics:
  enabled: true

Update Checker

UCExchange includes an update checker.

It can notify administrators when a newer plugin version is available.

Update notifications can be displayed:

  • In the server console
  • When an administrator joins
  • Through configured plugin messages

The update checker can be enabled or disabled in the configuration.


Paper 1.21.11 Version

Compatibility

This build is compatible with:

  • Paper 1.21.11
  • Compatible Paper 1.21.x environments
  • Java 21 or newer

Recommended Java version:

Java 21

Build file:

UCExchange-2.0.0-1.21.11.jar

Requirements

  • Paper 1.21.11
  • Java 21 or newer
  • Vault
  • A Vault-compatible economy plugin
  • PlaceholderAPI optional
  • MySQL optional
  • Discord webhook optional

Important

This build must be compiled with Java 21.

Do not use the Java 25 build on a server running Java 21 or Java 22.


Paper and Folia 26.1 Version

Compatibility

This build is compatible with:

  • Paper 26.1.x
  • Folia 26.1.x
  • Java 25

Required Java version:

Java 25

Build file:

UCExchange-2.0.0-26.1.jar

Requirements

  • Paper 26.1.x or Folia 26.1.x
  • Java 25
  • Vault
  • A Vault-compatible economy plugin
  • PlaceholderAPI optional
  • MySQL optional
  • Discord webhook optional

Important

This build is only intended for Paper or Folia 26.1.x.

Do not install this build on a Paper 1.21.11 server.

For Paper 1.21.11, use:

UCExchange-2.0.0-1.21.11.jar


UCExchange 2.0.0 – Paper 1.21.11 Update

Compatibility Update

✅ Added full support for Paper 1.21.11

✅ Added a dedicated Java 21 build

✅ Improved compatibility with modern Paper 1.21.x servers

✅ Improved Minecraft version detection


New Database System

✅ Added SQLite local database support

✅ Added MySQL database support

✅ Added automatic database table creation

✅ Added asynchronous transaction storage

✅ Added detailed player exchange tracking

✅ Added safe database shutdown handling


In-Game Administration

✅ Added in-game money offer creation

✅ Added in-game item offer creation

✅ Added offer activation by GUI slot

✅ Added configured offer listing

✅ Added offer deletion

✅ Added recent transaction history

✅ Added forced market rotation

✅ Added configuration reload command


Administrator Permissions

✅ Added ucexchange.admin

✅ Added ucexchange.admin.view

✅ Added ucexchange.admin.logs

✅ Added ucexchange.admin.edit

✅ Added ucexchange.admin.rotate

✅ Added ucexchange.admin.reload


Transaction Tracking

Each exchange can now record:

  • Player UUID
  • Player name
  • Offer ID
  • Offer type
  • Input item
  • Input amount
  • Reward item
  • Reward amount
  • Money reward
  • Number of exchanges
  • Transaction date
  • Server identifier

Security Improvements

🛠 Improved Vault transaction validation

🛠 Added automatic item refunds when economy payments fail

🛠 Added protection against invalid inventory interactions

🛠 Improved Shift-click exchange safety

🛠 Added administrative audit logs

🛠 Improved error handling

🛠 Improved database error handling


Integrations

📊 Integrated bStats using plugin ID 30365

🧩 Updated PlaceholderAPI support

🔔 Improved Discord webhook logging

🔄 Improved update checker behavior


Technical Improvements

🔧 Compiled with Java 21

🔧 Improved configuration loading

🔧 Improved plugin startup validation

🔧 Improved plugin shutdown behavior

🔧 Improved asynchronous database operations

🔧 Improved code organization

🔧 General performance and stability improvements


Important

This build is intended for Paper 1.21.11.

It requires Java 21 or newer.

Use:

UCExchange-2.0.0-1.21.11.jar

Do not use the Java 25 build on a server running Java 21 or Java 22.


UCExchange 2.0.0 – Paper and Folia 26.1 Update

Compatibility Update

✅ Added support for Paper 26.1.x

✅ Added support for Folia 26.1.x

✅ Added a dedicated Java 25 build

✅ Improved support for modern Paper server environments

✅ Improved support for Folia scheduling environments

✅ Improved Minecraft version detection


New Database System

✅ Added SQLite local database support

✅ Added MySQL database support

✅ Added automatic database table creation

✅ Added asynchronous transaction storage

✅ Added detailed player exchange tracking

✅ Added safe database shutdown handling


In-Game Administration

✅ Added in-game money offer creation

✅ Added in-game item offer creation

✅ Added offer activation by GUI slot

✅ Added configured offer listing

✅ Added offer deletion

✅ Added recent transaction history

✅ Added forced market rotation

✅ Added configuration reload command


Administrator Permissions

✅ Added ucexchange.admin

✅ Added ucexchange.admin.view

✅ Added ucexchange.admin.logs

✅ Added ucexchange.admin.edit

✅ Added ucexchange.admin.rotate

✅ Added ucexchange.admin.reload


Transaction Tracking

Each exchange can now record:

  • Player UUID
  • Player name
  • Offer ID
  • Offer type
  • Input item
  • Input amount
  • Reward item
  • Reward amount
  • Money reward
  • Number of exchanges
  • Transaction date
  • Server identifier

Folia Improvements

⚡ Improved scheduler compatibility

⚡ Improved player task scheduling

⚡ Improved global task scheduling

⚡ Improved asynchronous database handling

⚡ Reduced unsafe Bukkit scheduler usage

⚡ Improved stability on regionized servers


Security Improvements

🛠 Improved Vault transaction validation

🛠 Added automatic item refunds when economy payments fail

🛠 Added protection against invalid inventory interactions

🛠 Improved Shift-click exchange safety

🛠 Added administrative audit logs

🛠 Improved error handling

🛠 Improved database error handling


Integrations

📊 Integrated bStats using plugin ID 30365

🧩 Updated PlaceholderAPI support

🔔 Improved Discord webhook logging

🔄 Improved update checker behavior


Technical Improvements

🔧 Compiled with Java 25

🔧 Updated for modern Paper 26.1 APIs

🔧 Improved configuration loading

🔧 Improved plugin startup validation

🔧 Improved plugin shutdown behavior

🔧 Improved asynchronous database operations

🔧 Improved code organization

🔧 General performance and stability improvements


Important

This build is only for Paper or Folia 26.1.x.

It requires Java 25.

Use:

UCExchange-2.0.0-26.1.jar

For Paper 1.21.11, use:

UCExchange-2.0.0-1.21.11.jar

Do not install the Java 25 build on a Java 21 or Java 22 server.


Notes

UCExchange is designed to remain lightweight, practical, and easy to configure while providing enough flexibility for public servers and custom economy setups.

Administrators can manage offers directly in game without manually editing every exchange in the configuration file.

Transactions can be stored locally with SQLite or remotely with MySQL.

The database and audit log make it possible to track exchanged items, received rewards, player activity, administrative actions, and overall market usage.

Always use the UCExchange build matching your Minecraft and Java version.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.1.x1.21.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки

Детали

Лицензия:
Опубликован:4 месяца назад
Обновлён:1 неделю назад
Главная