HomeJavaModsGoodsTrade
GoodsTrade

GoodsTrade

A lightweight, confirmation-based item trading plugin for Minecraft servers


[​IMG]
[​IMG]


Overview

GoodsTrade is a lightweight item trading plugin for Minecraft servers.

It gives both players a shared trade menu with clearly separated offer slots. Players can review, confirm, and cancel before anything changes hands. Offers are locked once confirmed, and a final countdown leaves time to catch a mistake or a last-second item swap.


[​IMG]


Features



Plugin Information



Installation

  1. Download the latest Lite build from GitHub Releases.
  2. Place the JAR in your server's plugins directory.
  3. Start the server once to generate the configuration files.
  4. Edit the files under plugins/GoodsTrade/ and run /gt reload.


Commands

/gt sendtrade [player]
Permission: goodstrade.command.sendtrade
Send a trade request to a specific player.

/gt accept
Permission: goodstrade.command.accept
Accept the only pending trade request.

/gt accept [player]
Permission: goodstrade.command.accept
Accept a trade request from a specific player.

/gt toggle [true/false]
Permission: goodstrade.command.toggle
Enable, disable, or toggle receiving trade requests. Leave out the value to switch the current setting.

/gt trade [sender] [receiver]
Permission: goodstrade.command.trade
Force two specified players to start a trade.

/gt test [virtual-player-name]
Permission: goodstrade.command.test
Open a sandbox trade with a nonexistent virtual player. The administrator controls both sides; no real money or items are exchanged.

/gt reload
Permission: goodstrade.command.reload
Reload configuration, menu items, blacklist rules, and language messages.

/gt
Permission: goodstrade.command
Show command help.


Permissions

goodstrade.command
Default: true
Allows the player to use GoodsTrade commands. Without this permission, no commands can be used.

goodstrade.command.sendtrade
Default: true
Allows the player to send trade requests to other players.

goodstrade.command.accept
Default: true
Allows the player to accept trade requests.

goodstrade.command.toggle
Default: true
Allows the player to enable or disable receiving trade requests.

goodstrade.command.trade
Default: OP
Allows forcing two players to start a trade.

goodstrade.command.test
Default: OP
Allows opening a sandbox trade with a virtual player to test the menu and full confirmation flow.

goodstrade.command.reload
Default: OP
Allows reloading the plugin configuration.


Configuration

The configuration files are located at:

plugins/GoodsTrade/config.yml

plugins/GoodsTrade/View.yml

plugins/GoodsTrade/lang/zh_cn.yml

plugins/GoodsTrade/lang/en_us.yml


Language selection

New installations extract every bundled translation from the JAR. Version 1.1.7 includes zh_cn and en_us.

By default, GoodsTrade follows the server JVM/operating-system locale. Older configs without a Language key behave the same way. If no matching translation is available, the console explains the fallback and GoodsTrade uses Simplified Chinese.

You can also choose a locale explicitly in config.yml:

Language: system
# Language: zh_cn
# Language: en_us
Click to expand...
Run /gt reload after changing the value. Locale names follow the common Minecraft/i18n format, such as zh_cn, en_us, and ja_jp.

GoodsTrade scans the complete lang/ folder inside each new JAR and extracts any translation that is missing on disk. Existing files are never overwritten, so local edits are preserved while newly bundled languages appear automatically.

When upgrading from an older published version, the root-level Lang.yml is migrated to lang/zh_cn.yml when needed. The original file is left untouched.

The command list shown by /gt reads its layout and descriptions from command.help-entry and command.description in the active language file.


Main configuration

Language: en_us

Trade:
Wait-Time: 5
Economy:
Enable: true
Allow-Negative: false
Amounts:
- 1000
- 10000
Triggers:
Shift-Right-Click: true
Safe:
Damage: false
Move: false
Click to expand...


Item blacklist

The blacklist checks the items a player placed in their offer when they confirm it.

Trade:
Item-BlackList:
Enable: true
Lore:
- "Soulbound"
- "Untradeable"
Name:
- "Admin Tool"
NBT:
- "PublicBukkitValues.myplugin:soulbound"
- "item.owner@server"
Click to expand...


Menu customization

View.yml controls the background, separator, ready buttons, countdown button, cancellation state, and money buttons. Money sets the shared money-button style; Money-1 through Money-4 can override individual steps, and %amount% is replaced at runtime.

Materials are resolved through XMaterial where possible, which keeps names usable across a wide range of Minecraft versions. Unsupported custom model data is skipped on older servers.


Administrator sandbox trade

Players with goodstrade.command.test can run /gt test [virtual-player-name]. The administrator controls both offer areas, both sets of money buttons, and both confirmation buttons, making it possible to verify negative offers, confirmation resets, and the complete countdown without a second online player.

Sandbox trades never call Vault or exchange items. Anything placed on either side is returned to the administrator when the test completes, closes, or is interrupted by a reload. The command cannot be run from the console.


How to Use

Basic Trading Process

  1. Start a trade

    Use the command:

    /gt sendtrade [player]

    Or sneak and right-click a player if this feature is enabled in the configuration.
  2. Accept the trade

    Click the [Click to accept] message in chat, or use:

    /gt accept
  3. Place items

    Put the items you want to trade into your side of the trade GUI. Money buttons can be used if Vault trading is enabled.
  4. Confirm the trade

    Click the confirmation button. When both players confirm, the countdown starts.
  5. Complete the trade

    After the countdown ends, money is settled if enabled and the items are exchanged automatically.


Trading Notes



PlaceholderAPI

When PlaceholderAPI is installed, GoodsTrade provides:

%goodstrade_stats%

It returns true when the player accepts trade requests and false when requests are disabled.


Planned Features



Known Issues



Support and Feedback

If you encounter any issues or have feature suggestions, feel free to contact me:


中国用户请加 QQ 群 620224543,反馈最快。其他用户请走 GitHub Issues。

GoodsTrade is released under the GNU General Public License v3.0.



[​IMG]

⭐ this plugin is free! please consider giving it a star on GitHub! ⭐
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

GoodsTrade is a free Minecraft Java mod. Compatible with Minecraft 1.12, 1.13, 1.14, 1.15 and newer. Downloaded 68 times (via Spigot). Download it and open it directly in the game.

Explore more