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 May 15, 2013@Rog9377
I'll need to know how to reproduce the dupe. You probably have a plugin that's not letting GM cancel inventory click events, which would cause a lot of problems.
But yes the dev builds have a lot of bug fixes over the latest release.
-
View User Profile
-
Send Message
Posted May 15, 2013I am having an issue with people being able to duplicate items from the market listings. They have chests full of items that still have the seller and price attached. Is this something that is fixed in one of the Dev versions, because I still have 1.1.1 installed.
-
View User Profile
-
Send Message
Posted May 14, 2013@SonarBeserk
Oh, I see the bug in the code. Try the latest dev build now :)
-
View User Profile
-
Send Message
Posted May 14, 2013@xdasfaust
I tried dev build 9 and I still am not able to search from interface. I click search and the interface closes. Even build 15 doesn't work as far as searching from the interface goes.
-
View User Profile
-
Send Message
Posted May 14, 2013@SonarBeserk
It does as of dev build 9. Specific stalls sounds like a good idea, I might get around to doing it.
@Mewtripiller
Your best bet is Google
-
View User Profile
-
Send Message
Posted May 14, 2013How do I update my java?
-
View User Profile
-
Send Message
Posted May 14, 2013making the search feature work from inside the shop gui and making stalls able to be setup for specific things would be helpful. Example: shop that auto searches gunpowder
-
View User Profile
-
Send Message
Posted May 13, 2013@xcanner
Any specific reason?
@ircopdd
Use the latest dev build.
@TowelieDOH
The latest dev build has creation fees.
-
View User Profile
-
Send Message
Posted May 13, 2013This is the error that I get when some players use /market mail.
2013-05-13 16:45:22 [INFO] xXRamagucciXx issued server command: /market mail
2013-05-13 16:45:22 [SEVERE] null
org.bukkit.command.CommandException: Unhandled exception executing command 'market' in plugin GlobalMarket v1.1.1
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189)
at org.bukkit.craftbukkit.v1_5_R3.CraftServer.dispatchCommand(CraftServer.java:550)
at net.minecraft.server.PlayerConnection.handleCommand(PlayerConnection.java:986)
at net.minecraft.server.PlayerConnection.chat(PlayerConnection.java:902)
at net.minecraft.server.PlayerConnection.a(PlayerConnection.java:847)
at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:44)
at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:194)
at net.minecraft.server.PlayerConnection.d(PlayerConnection.java:116)
at net.minecraft.server.ServerConnection.b(SourceFile:35)
at org.spigotmc.MultiplexingServerConnection.b(MultiplexingServerConnection.java:73)
at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:590)
at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:224)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:477)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:409)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.NullPointerException
-
View User Profile
-
Send Message
Posted May 12, 2013The idea for this plugin sounds awesomely good, and on my server it improves player interraction drastically but it's severely flawed bugged.
Players losing their items that are for sale is a common thing and mostly occurs during restart, a option is needed to allow users to be taxed at listing, rather than at sale (on my server i see players selling worthless items for a lot of money, just so they are "coo;".
Promising plugin but needs a lot of work. Going to remove it form my server for now, but iwll check back often to see if it is improved.
PS: I tried the dev builds too, still did not seem to help.
-
View User Profile
-
Send Message
Posted May 12, 20132013-05-12 18:34:02 [SEVERE] null
org.bukkit.command.CommandException Unhandled exception executing command 'market' in plugin GlobalMarket v1.2.0
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:189)
at org.bukkit.craftbukkit.v1_5_R2.CraftServer.dispatchCommand(CraftServer.java:523)
at net.minecraft.server.v1_5_R2.PlayerConnection.handleCommand(PlayerConnection.java:966)
at net.minecraft.server.v1_5_R2.PlayerConnection.chat(PlayerConnection.java:884)
at org.bukkit.craftbukkit.v1_5_R2.entity.CraftPlayer.chat(CraftPlayer.java:236)
at cz.boosik.boosCooldown.boosWarmUpTimer$boosWarmUpRunnable.run(boosWarmUpTimer.java:22)
at org.bukkit.craftbukkit.v1_5_R2.scheduler.CraftTask.run(CraftTask.java:53)
at org.bukkit.craftbukkit.v1_5_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345)
at net.minecraft.server.v1_5_R2.MinecraftServer.r(MinecraftServer.java:512)
at net.minecraft.server.v1_5_R2.DedicatedServer.r(DedicatedServer.java:225)
at net.minecraft.server.v1_5_R2.MinecraftServer.q(MinecraftServer.java:476)
at net.minecraft.server.v1_5_R2.MinecraftServer.run(MinecraftServer.java:409)
at net.minecraft.server.v1_5_R2.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.NullPointerException
at com.survivorserver.GlobalMarket.InterfaceHandler.prepareMail(InterfaceHandler.java:184)
at com.survivorserver.GlobalMarket.InterfaceHandler.showMail(InterfaceHandler.java:216)
at com.survivorserver.GlobalMarket.Market.onCommand(Market.java:282)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
... 13 more
for book
'212':
item:
==: org.bukkit.inventory.ItemStack
type: BOOK_AND_QUILL
meta:
==: ItemMeta
meta-type: BOOK
pages:
- '抽抽樂Adeo_
要給我
'
time: 1368323062
-
View User Profile
-
Send Message
Posted May 12, 2013Can you please make an permission for /market history
Thanks for a great plugin!
-
View User Profile
-
Send Message
Posted May 11, 2013@VexxCapez
Try the latest dev build, if that doesn't solve it post the error from console and your mail.yml file.
-
View User Profile
-
Send Message
Posted May 11, 2013I just recently started having issues where when certain players use the /market mail command it creates an internal error. This doesnt happen with all players, but only a couple, any idea?
-
View User Profile
-
Send Message
Posted May 11, 2013How do I update my java?
-
View User Profile
-
Send Message
Posted May 11, 2013@mal67
I was thinking of something along the lines of that. Auctions are possible, so who knows what'll happen in the future.
@SyncCraft
Use the latest dev build, it'll fix your listings file. Your players were able to create listings of air for some reason, not sure what could have happened there.
@nicolasdu90
Sorry, don't speak French.
@luridftw32
I've had a look at the Citizens API, I'll try to get something working for it soon.
-
View User Profile
-
Send Message
Posted May 11, 2013Suggestion
Adding support to Citizens so we can create an NPC in an auction house that when they right click it will automatically do the commands.
This would make an auction house more realistic. Also maybe a way to set a point and be able to set a radius around that point where they are only allowed to List,Mail,And buy from.
-
View User Profile
-
Send Message
Posted May 11, 2013quand je fai /market create il me dise vou aver pa les commande alor comment je fai pour les avoir
-
View User Profile
-
Send Message
Posted May 11, 2013@xdasfaust
Thanks for the reply. I did as you said, and generating a new listings worked. I then tried to copy and paste my old listings over, which again, caused the error. My listings file is: http://pastebin.com/YS7PkKup
Any idea why these listings are screwing up? I really don't want to have a new file generated, since I have 2388 listings.. And that's a lot of my players items to be lost forever.
Thanks. :)
-
View User Profile
-
Send Message
Posted May 10, 2013@xdasfaust
yeah i can understand that. would ther ebe a way with the same interface, player clicks on an item( with the second confirmatino click as you have it) and adds 10$ to the price of the item. as a bid. items already last one week
im no programmer, so this is just all talk from me. i have no idea what it would take to implement XD just throwing some ideas out. i really enjoy using your plugin. it runs wonderfully, and all my players seem to prefer it over all other shops we have.
thanks :)