GlobalMarket
GlobalMarket is a global market system. It allows players to buy and sell items via a convenient in-game interface. It's similar WoW's Auction House or Runescape's Grand Exchange. I created this plugin awhile ago (back in the days of WebAuction, it's what inspired me) for private use, but I've decided to release it to the public. This plugin requires Vault and ProtocolLib, other than that, just drop it in plugins (make sure you have Vault plus a supported economy plugin installed) and start trading!
Features
- Players can put any item up for sale using a dead simple in-game GUI system (see below)
- Uses ProtocolLib for proper item serialization that supports Bukkit, Spigot, and Cauldron
- Real time interface, all trades show up immediately without having to 'refresh' or close the GUI
- No maintenance or admin interaction required
Mailbox system that allows you to set up market areas or auction houses(not currently in 2.0.0)A built in price guide that compiles average prices from previous transactions(not currently in 2.0.0)
Latest Dev Build
Development builds of this project can be acquired at the following continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
http://build.survivorserver.com/job/GlobalMarket%202.0.0/
Changelog
Usage
- The Interface
- This is a display of all current listings, you click an item to buy it. You can shift+click to remove a listing if you own it, or if you have the "globalmarket.listingsadmin" permission. Listings automatically expire after 1 week (configurable). You can use
/marketto access the menu.

- Stock
- When you purchase an item it will be sent to your stock. Stock is an entirely optional system but is suggested to be enabled, as disabling it will disable certain other features like
/market send. The stock system can hold a configurable amount of stacks of items in a configurable amount of slots. Once you place an item in your stock, you can list it to be sold to other players. Players can also send items to other players' stock via/market sendif they have the "globalmarket.command.send" permission.

- Server Listings
- You can create 'infinite listings' that do not expire and can't be bought out. Create them with
/market createinf <price> <[amount]>. There's a dedicated section to server listings in the Market menu. You'll need the "globalmarket.command.createserverlisting" permission to do this. Or you can disable this system all-together in the config.
Commands
| Command | Description | Permission |
|---|---|---|
| /market | Opens the Market menu. | globalmarket.use |
| /market ? | Shows command help. | <no permission> |
| /market send <player> <[amount]> | Sends the item you're holding to <player>'s stock. Amount is optional. | globalmarket.command.send |
| /market createinf <price> <[amount]> | Creates a server listing. Amount is optional. | globalmarket.command.createserverlisting |
| /market reload | Reloads config.yml | globalmarket.command.reload |
Permissions
- globalmarket.use - base permission, required to use /market
- globalmarket.listingsadmin - ability to remove all listings
- globalmarket.command.send - ability to use /market send
- globalmarket.command.createserverlisting - ability to use /market createinf
- globalmarket.command.reload - ability to use /market reload
Config
All config values have comments that explain what they do in config.yml, how convenient for me!
If you wish to blacklist items from being used on the Market, there is blacklist.json. You can add material values with meta values:
- APPLE:0 - blacklist apples
- INK_SAC:-1 - blacklist all dies
If you're running Cauldron, you can do things like:
- oredict:ingotSteel - blacklist any item with an OreDictionary value matching ingotSteel
- extracells:storage.component:-1 - blacklist all ExtraCells storage cells
Locale
Virtually every string in the plugin is editable via the "en_US.json" file, inside the plugin's JAR. It's pretty straightforward to edit. Don't replace or edit the %s or %1$s's, these are variables. For example, "Item sold: %s" would appear as "Item sold: Cobblestone" in-game. You can add/edit colors by typing & plus a color code. So light green (the color code is a) would be &a. You can find color codes here: http://ess.khhq.net/mc/
You can also create an entirely different language set, name it something like ch_CN.json, stick it in the server's JAR, and change the appropriate config value in config.yml to use it.
Source
https://github.com/Dasfaust/GlobalMarket
That's all for now. Sorry if things are unclear, I'll be updating this page with more information periodically. If you're stuck just add a reply and I'll do my best to help!
-
View User Profile
-
Send Message
Posted Apr 21, 2014@Dsiddia
I'm not sure. Are you using the latest build?
-
View User Profile
-
Send Message
Posted Apr 19, 2014Getting this error when clicking on an Iron Chestplate. Everything else can be bought aside from that chestplate. Any info on this?
http://pastebin.com/bkHBh8NG
-
View User Profile
-
Send Message
Posted Apr 15, 2014@usunofbeach
For lore just omit the color code, that should work.
-
View User Profile
-
Send Message
Posted Apr 15, 2014Does color code work in lore section? I tried what you said but the blacklist doesnot work.
-
View User Profile
-
Send Message
Posted Apr 9, 2014Just a little update on UUIDs, I will try to release GlobalMarket 1.3 around the time Bukkit updates to 1.7.6, and that will include support for player UUIDs.
@crysis992
There is a if lore contains option, just add strings to blacklist under the blacklist.lore config option. If you want to blacklist names with color codes you have to use the section symbol unicode in place of the &. Like so '\u00a75Beginner Sword'
@ircopdd
Creation date currently isn't stored with mail, so it'd be tough to add. There is a mailbox limit in the newest build, sounds like that will solve your problem.
@MrRoooo
Someone else has the same issue open on the GitHub page, but I can't reproduce it. More information would be helpful. And no to auction style listings, GUIs are too limited, it's not something I want to do.
-
View User Profile
-
Send Message
Posted Apr 8, 2014We are seeing items listed on the Market that turn into Transaction logs.
Also,would Market ever get an Auction style listings.
-
View User Profile
-
Send Message
Posted Apr 7, 2014hi xdasfaust
can you add
mail_expire_time?
my mail database have too many item
[GlobalMarket] Mail index: 3893
thanks
-
View User Profile
-
Send Message
Posted Mar 29, 2014Hey,
I've got a few feature requests regarding the blacklist feature:
A "if lore CONTAINS" option, since i have multiple items with the lore "Unable to be traded."
Color Code support in the item name blacklist.
I've added following to the item_name blacklist, but it doesnt work if the name has color codes in it.:
- '&5Beginner Sword'
-
View User Profile
-
Send Message
Posted Mar 29, 2014@poncjusz
I have the same issue, are you using MCPC?
-
View User Profile
-
Send Message
Posted Mar 29, 2014Oh! I saw reply know 1.6 can run 1.7.x, thanks author.
-
View User Profile
-
Send Message
Posted Mar 29, 2014Dear author, hello! I would like to ask, what time 1.7.2 plug-market out of it? I will not compile. Thank you.
-
View User Profile
-
Send Message
Posted Mar 28, 2014BUG: with "/market mail" command
09:36:20 [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'market' in plugin GlobalMarket v1.2.2 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:192) at org.bukkit.craftbukkit.v1_6_R3.CraftServer.dispatchCommand(CraftServer.java:533) at net.minecraft.network.NetServerHandler.func_72566_d(NetServerHandler.java:1405) at net.minecraft.network.NetServerHandler.chat(NetServerHandler.java:1269) at net.minecraft.network.NetServerHandler.func_72481_a(NetServerHandler.java:1201) at net.minecraft.network.packet.Packet3Chat.func_73279_a(Packet3Chat.java:68) at net.minecraft.network.TcpConnection.func_74428_b(TcpConnection.java:470) at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:233) at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:54) at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(DedicatedServerListenThread.java:34) at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:910) at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:330) at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:777) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:659) at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) Caused by: java.lang.NullPointerException at com.survivorserver.GlobalMarket.MarketStorage.getAllMailFor(MarketStorage.java:218) at com.survivorserver.GlobalMarket.InterfaceHandler.prepareMail(InterfaceHandler.java:160) at com.survivorserver.GlobalMarket.InterfaceHandler.showMail(InterfaceHandler.java:220) at com.survivorserver.GlobalMarket.Market.onCommand(Market.java:445) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ... 15 more
-
View User Profile
-
Send Message
Posted Mar 26, 2014Hello. in our server we tried install your plugin. but we got some severe errors, GlobalMarket breaking myworlds(http://dev.bukkit.org/bukkit-plugins/my-worlds/) plugin. I guess it's Plug-in conflict. can you try solve this problem? we want install your plugin, - Thanks -
-
View User Profile
-
Send Message
Posted Mar 23, 2014@dutchy1001
The 4th line of the sign is reserved for an auto search function, if it's there the menu will open with the sign's 4th line as the search.
@MystTheReaper
The latest builds have a mail limit.
@ChillaxTeam
I'll probably need a copy of the server log to know what the issue is, just from start to shutdown.
Sorry for the late replies :/
-
View User Profile
-
Send Message
Posted Mar 20, 2014Hello, my friend is trying to use this plugin on a Hexxit server, and whenever someone puts a modded item up on the listings, or mails it to another player, when the player tries to execute /market listings or /market mail respectively, it says "An internal error occurred while trying to perform this command." Is there a way to fix this?
-
View User Profile
-
Send Message
Posted Mar 19, 2014@xdasfaust
Sorry for the late reaction, I thought I had comments enabled in the subscription.
I have it setup with a sign (/market stall ) not with commands.
When placing a sign with line 1 to 3 with text it workes fine, as soon I add the 4th line I need to click search first before items show.
Hope this helps
-
View User Profile
-
Send Message
Posted Mar 17, 2014@xdasfaust
That did not fix it.
-
View User Profile
-
Send Message
Posted Mar 16, 2014@xdasfaust
I said just make it so you cannot cancel a listing or get sent an item or buy an item while your mail is full, it literally does nothing and gives the message that your mail is full, or if someone tries to send the item, it says their mailbox is full. Is that not possible?
-
View User Profile
-
Send Message
Posted Mar 16, 2014@rediem
It is, 1.6.X releases work fine with 1.7.X.
-
View User Profile
-
Send Message
Posted Mar 15, 2014will this be updated to 1.7?