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 31, 2013is it possible to create admin shops? if not that would be awesome :)
-
View User Profile
-
Send Message
Posted May 31, 2013@shadefoxtails
You need Java 7.
-
View User Profile
-
Send Message
Posted May 31, 2013@Adrenalineq
I updated Java and it is still giving me this:
16:11:03 [INFO] [GlobalMarket] Enabling GlobalMarket v1.2.1-SNAPSHOT 2013-05-31 16:11:03 [SEVERE] Error occurred while enabling GlobalMarket v1.2.1-SNAPSHOT (Is it up to date?) java.lang.UnsupportedClassVersionError: com/survivorserver/GlobalMarket/MarketServer : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) at org.bukkit.plugin.java.JavaPluginLoader.getClassByName0(JavaPluginLoader.java:300) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:76) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.privateGetPublicMethods(Unknown Source) at java.lang.Class.getMethods(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.createRegisteredListeners(JavaPluginLoader.java:367) at org.bukkit.plugin.SimplePluginManager.registerEvents(SimplePluginManager.java:502) at com.survivorserver.GlobalMarket.Market.onEnable(Market.java:58) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugin(CraftServer.java:282) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.enablePlugins(CraftServer.java:264) at net.minecraft.server.v1_5_R3.MinecraftServer.j(MinecraftServer.java:304) at net.minecraft.server.v1_5_R3.MinecraftServer.e(MinecraftServer.java:283) at net.minecraft.server.v1_5_R3.MinecraftServer.a(MinecraftServer.java:243) at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:151) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:382) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
-
View User Profile
-
Send Message
Posted May 31, 2013@deleted_10786114
Try deleting locale.yml and letting it regenerate. Also, I highly recommend updating to at least 1.2.0, or a recent dev build. They have tons of bug fixes including fixes for a few pretty bad dupe issues.
@Mre30
What version are you using? There was a bug pre-1.2.0 that caused the issue you're describing with books.
-
View User Profile
-
Send Message
Posted May 31, 2013Whenever someone buys something... I get this console error
-
View User Profile
-
Send Message
Posted May 30, 2013@shadefoxtails
Outdated java.
-
View User Profile
-
Send Message
Posted May 29, 2013Help please? I have vault installed on the server. The server is also Up to date. I have tried many different of the Vault supported economy plugins. But Every time there is an error. I need a bit of help with this. Here is what the log says
17:39:14 [INFO] [GlobalMarket] Enabling GlobalMarket v1.2.1-SNAPSHOT 2013-05-29 17:39:14 [SEVERE] Error occurred while enabling GlobalMarket v1.2.1-SNAPSHOT (Is it up to date?) java.lang.UnsupportedClassVersionError: com/survivorserver/GlobalMarket/MarketServer : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:80) at org.bukkit.plugin.java.JavaPluginLoader.getClassByName0(JavaPluginLoader.java:300) at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:76) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.privateGetPublicMethods(Unknown Source) at java.lang.Class.getMethods(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.createRegisteredListeners(JavaPluginLoader.java:367) at org.bukkit.plugin.SimplePluginManager.registerEvents(SimplePluginManager.java:502) at com.survivorserver.GlobalMarket.Market.onEnable(Market.java:58) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugin(CraftServer.java:282) at org.bukkit.craftbukkit.v1_5_R3.CraftServer.enablePlugins(CraftServer.java:264) at net.minecraft.server.v1_5_R3.MinecraftServer.j(MinecraftServer.java:304) at net.minecraft.server.v1_5_R3.MinecraftServer.e(MinecraftServer.java:283) at net.minecraft.server.v1_5_R3.MinecraftServer.a(MinecraftServer.java:243) at net.minecraft.server.v1_5_R3.DedicatedServer.init(DedicatedServer.java:151) at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:382) at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
-
View User Profile
-
Send Message
Posted May 29, 2013@xdasfaust
no XD its not a dupe whenever I buy an item from the shop it moves to my inventory but if I click that item in my inventory its disappears... The dupe bug has been fixed these r "ghost items" as described previously
-
View User Profile
-
Send Message
Posted May 29, 2013I think i found our problem... it may be books are causing the market to stop... will report back
-
View User Profile
-
Send Message
Posted May 29, 2013@zOxigen00
If you are, don't change the
version:setting.@Mre30
Getting any errors from GlobalMarket? Can you post your lisings.yml file?
@SonarBeserk
Just use their name as the search on the stall sign. It'll search for whatever's in the 4th line.
-
View User Profile
-
Send Message
Posted May 28, 2013Could a player's name be added to the stall signs? that way a player could setup signs that list their listings specifically.
-
View User Profile
-
Send Message
Posted May 28, 2013Hey, thanks for the epic nice plugin, but I have a huge problem... and I can't seem to fix it.
I recently updated the plugin, and the whole market is now gone. BUT!! the listings.yml is still full... they just wont show up ingame.
Any ideas?
What am I doing wrong??
Thanks a bunch!
-
View User Profile
-
Send Message
Posted May 28, 2013In latest dev build if a changing the local.yml and start the server the plugin rename it to local_old.yml. So i cant translate it
-
View User Profile
-
Send Message
Posted May 28, 2013@Jukkatibbs
iConomy, Fe, Gringotts, etc are plugins supported by Vault. There's a list on the Vault page.
-
View User Profile
-
Send Message
Posted May 28, 2013And for a Supported economy plugin ..... Does that mean a Vault supported economy plugin?
-
View User Profile
-
Send Message
Posted May 28, 2013"(make sure you have Vault plus a supported economy plugin installed)" This confused me at first, Like there was a plugin named Vault Plus, I think it should read like - Make sure you have Vault, and a Supported economy plugin installed. But I'm gonna get this and see how I like it. :)
-
View User Profile
-
Send Message
Posted May 27, 2013@Kami675
I believe they're all just client side dupes.
-
View User Profile
-
Send Message
Posted May 27, 2013@xdasfaust
Update: I put something up for sale and bought it with my alternate and as soon as I clicked the item it went to my inventory but then i clicked it again to move it and it disappeared...
-
View User Profile
-
Send Message
Posted May 27, 2013@xdasfaust
Well After some testing still got some dupe bugs... But I believe it is only a client side lag issue because if you shift+right click+esc with a armor then press the number slot ur armor is in then right click it then you can wear it. but i made a 9999 enchanted chestplate and tested on a alternate and i still took the same damage. So the issues seem to be resolved but this might cause confusion on servers =/ with people getting random armor.
-
View User Profile
-
Send Message
Posted May 27, 2013@xMrFacex
I'll see why that is.
@Kami675
Use the latest dev build.