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 Mar 15, 2014@ChillaxTeam
So there is nothing after
"[GlobalMarket] Loading GlobalMarket v1.2.2"? Set expire_time to 0 in the config and see what happens.@Zombiemold
Hmm, I'll see what I can do.
@chinafriend
Downgrade your Vault version. For example you can't use a version of Vault that is listed for 1.7.2 in Minecraft 1.6.4 with GlobalMarket because of a bug in their Items API.
@dutchy1001
Does this happen if they open the interface with just
/market listings?-
View User Profile
-
Send Message
Posted Mar 14, 2014when ever I list items my players always have to click on the "search" button in the gui to see the items listed. Is there a way that it shows the list as soon they open the gui?
I have
Queue:
When this is set to 0 I thought listing was instand.
-
View User Profile
-
Send Message
Posted Mar 14, 2014== server start,there is in server.log:why?? ==
[SEVERE] Error occurred while enabling GlobalMarket v1.2.2 (Is it up to date?) java.lang.NoSuchFieldError: LOG_2 at net.milkbowl.vault.item.Items.<clinit>(Items.java:570) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.survivorserver.GlobalMarket.Market.onEnable(Market.java:108) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:467) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:383) at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugin(CraftServer.java:278) at org.bukkit.craftbukkit.v1_6_R3.CraftServer.enablePlugins(CraftServer.java:260) at net.minecraft.server.MinecraftServer.func_71243_i(MinecraftServer.java:521) at net.minecraft.server.MinecraftServer.func_71222_d(MinecraftServer.java:485) at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:428) at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:224) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:630) at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
-
View User Profile
-
Send Message
Posted Mar 13, 2014@xdasfaust
Hello, is there anyway to fix this?
-
View User Profile
-
Send Message
Posted Mar 12, 2014I'd like to report an exploit if possible:
This plugin, combined with McMMO allows players to add items to the global market with items with high efficiency.
Let me elaborate:
A player can activate an McMMO skill like Super Breaker or Giga Drill Breaker, which temporarily increases the efficiency enchantment level on the tool in hand, and then they can promptly add the item to the global market, freezing the new overpowered level of efficiency for a friend or someone else to buy off of the global market.
-
View User Profile
-
Send Message
Posted Mar 12, 2014It would pay diamonds ???
-
View User Profile
-
Send Message
Posted Mar 11, 2014Perhaps add an option where players can place a marketplace chest or sign that goes directly to their Auctions? unless that's already in.
-
View User Profile
-
Send Message
Posted Mar 11, 2014@xdasfaust Yes, you are correct. Here it loads fine while ALL plugins are being loaded:
but right as the server is ready to join before any players join it says
-
View User Profile
-
Send Message
Posted Mar 10, 2014@tomori_peti
The hopper creation works exactly like the command. So I probably won't add that functionality.
@ChillaxTeam
There's probably an error thrown on startup, I'll need to see that.
-
View User Profile
-
Send Message
Posted Mar 10, 2014I am running GlobalMarket 1.2.2 on MCPC+ version git-MCPC-Plus-jenkins-MCPC-Plus-164-250 (MC: 1.6.4) (Implementing API version 1.6.4-R2.1-SNAPSHOT)
After a few days of this plugin being used I have occured that most commands from this plugin are now giving in game a error 'Internal Server Error'. This is the error report in the console it spits out when the command is done.
http://pastie.org/8905661
This has made this plugin unusable.
-
View User Profile
-
Send Message
Posted Mar 10, 2014Creating a listing should work a little bit other way. In my opinon if somebody swap the item with the hopper the stack's size of the item with which he had swapped should be the base stack number for the listing and the other items from the same kind should be divided equally based on the first stack's size .
For example if now i grab 3 diamond and swap it with the hopper the 3 diamonds will be showed in the market, but if i change the number in the 2. line of the sign the plus items will be offered for sale in as big stacks as i stored them in my inventory, so inspite of this i think the first stack (now 3 diamonds) should specify all of the stack's size. So all of the stacks should contain 3 diamonds and only the leftover should be saled in smaller amount.
-
View User Profile
-
Send Message
Posted Mar 9, 2014@MystTheReaper
I've been working on it. My biggest issue is what to do with items from things like expiring listings when a player's mailbox is full. It sounds simple, just stick the item in a backlog and wait until there's room in the mailbox. But then players could create listings with full mailboxes, cancel them, and use the backlog as infinite storage. My solution to that is for listings to reserve a slot in the mailbox, so it'll always have somewhere to go and there's no backlog business. A mailbox limit of 45 will work like so: you could only have a combination of 45 mail items or listings in the system at any given time. It's the only way I can think of to make a limit safe (as in not exploitable). I should have it in a new dev build within a few days.
-
View User Profile
-
Send Message
Posted Mar 6, 2014@xdasfaust
Not really, it's still usable, and players are dedicated to stuff like that, they'll wait. Plus, I don't really want a time on it.
Couldn't you just use the system I suggested? Unless you mean there's issues with actually coding it, but it would be great if you could figure out how to do it.
Anyways, If you really can't do it, I'll just negate the send permission.
-
View User Profile
-
Send Message
Posted Mar 5, 2014@MystTheReaper
You can edit the config so that /market send takes time before actually delivering the item, and the same with creating/buying/and cancelling listings. If a player has to wait 30 minutes or so to get their items back it's not very abusable.
There are multiple issues with simply putting a cap on mailbox items, I haven't devised a good way to achieve it. The trade times work just fine in most cases.
-
View User Profile
-
Send Message
Posted Mar 5, 2014Big Issue: /market mail apparently has infinite storage. Players send items to their alts, then send it back to the player, and they just have unlimited storage at their disposal instantly.
Suggestion: Add a config option that makes it so /market mail doesn't have pages, It's just one page, and once it's full, if the player tries to buy items, it says "Mailbox full, Cannot purchase" or something, and same idea if someone tries to send items to someone else who has their mailbox full, "Receivers Mailbox is full, Cannot send"
Please fix ASAP.
-
View User Profile
-
Send Message
Posted Feb 25, 2014@xdasfaust
Hmm, using the latest dev build, I don't see an extra button. And yep,
@xdasfaust
Yup, that did the trick. Thanks!
-
View User Profile
-
Send Message
Posted Feb 25, 2014@xdasfaust
Ok, I updated and fixed the issue.
-
View User Profile
-
Send Message
Posted Feb 25, 2014@teh_jombi
If you have ProtocolLib installed, in the dev builds there's an extra button that allows you to create listings without closing the menu. If that's what you're asking, yeah.
-
View User Profile
-
Send Message
Posted Feb 25, 2014Possible to use a dropper or hopper to drag&drop items to create listings?
-
View User Profile
-
Send Message
Posted Feb 25, 2014@EqlipseD
Here is all of the config and permissions changes for 1.3 so far.
@piritacraft
Which build are you using? I've actually just updated Jenkins so artifacts have build numbers, but try updating to the latest build.