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
/market
to 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 send
if 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!
The people asking for creative mode support. Would per world enabling be another option? I'm not sure how you disable listing items made from creative and I don't think it would be easy.
its not working for me it gives no money after a sell i have tested with and with out automatic payments set to true. i have all plugins up to date so it ant that.
@xdasfaust
Can I get a fix for the creative mode listings too? It's a big issue.
Oh, exciting find! This looks great. Expect extensive bug testing with OtherDrops (ZariusT), RPG Items (thinkofdeath), and MythicDrops (rmh4209) on my behalf. Hopefully over the weekend but that might be ambitious of me, probably next.
Cheers
@SyncCraft
Thanks. Looks like you may have an old version of Vault, try installing the newest one and see if that fixes the problem. http://dev.bukkit.org/server-mods/vault/files/39-vault-1-2-25/
@xdasfaust
Thanks for the quick reply, these are the two files. Listings: http://pastie.org/7720924
The Error: http://pastie.org/7720935 (That is everything after the command, not sure if it's all relevant).
Hope that helps.
@SyncCraft
Can you post the error in console when you run the command? Also a link to your listings.yml file, I'm sure the error lies in there.
@Mortalsinn
I've PM'd you a fix.
Epic. Thanks, very easy market, the way i like it, no setting up shops and crap.
@xdasfaust
"or just unlimited listings" ^^
I'm having a problem with /market listings. It worked fine, then as soon as a item was added into it (with /market create), it no longer works. Upon running the command I just get 'An internal error has occurred while attempting to perform this command'.
Any idea why? -Thanks
Oh God - Just found an issue. I have a creative world on my Survival server - can you please add a permission ASAP for /market create <price> (<amount>) so they aren't able to put creative items up on the market?
Also for the mail send command...
@SwiftSwamp
Thanks for the suggestions! The main reason behind releasing this plugin is to improve it more than my own server can.
@wolfwork
I'll hopefully get around to releasing the source soon.
@Mortalsinn
@Dacrazykilla
It uses your currency name from your economy plugin. There's a few places I forgot to change to do so, but that's fixed in version 1.1.0, it's currently awaiting approval.
@Everyone else
I'll see what I can do for the admin shop. Do you want a whole shop (separate from the listings), or just unlimited listings?
This. This is what I have been looking for. But I second H3llraz3r & Adrenalineq on the admin shop, that would be muchh appreciated. Also is there any way you could add an option to change from item based currency to $$ ?
[Edit]: I just realized that it's not an item based economy =p sorry the gold threw me off.
I LOVE this plugin, thank you so much. Can I make two suggestions?
1) a sorting system. so after the [amount] flag, what about something like [armor] [weapons] [items] etc.. and then in the actual market window have different colored wool at the bottom pertaining to each category and when clicked it sorts the window. Perhaps a White wool to go back to "all" items
2) MySQL with a web interface. Then people can create market systems on their web sites! (I know this is a massive suggestion lol )
github upload please!
@xH3LLRAIZ3Rx
Agreed - unlimited mode please ^^
This plugin is amazing! I thought about creating something something like RuneScape G/E...but this, this plugin surpasses what I would've thought of :) My favourite part is the market history book and the fact that you can sell anything and it's all so easy to get.
Edit: Private plugins are always the best and less buggy because they were coded with love for their community, not publicly :)
Suggestion;
- for the sending something to their mailbox is having an line saying "From: <player>"
- I noticed that when creating a listing, it only counts the current stack in your hand, maybe add something where it'll stack everything together if you want to sell say 1,000 Dirt at once..then when you withdraw the item it unstacks or something? (IF you add this, think of things like heads...how they would get duped if possible =p )
- Also, better searching would be nice...I.E. "/market listings head" doesn't actually show all the heads like player heads from Player-Heads.
- Add an option to disable PvP if the market is open or all damage.
- A buy section, example..I put one of the item I want to purchase...say "64 Iron Bars" for 500. Anyone who would click on mine (if they have it in their inventory) would then sell me 64 iron bars and it'd go into my mailbox and a way to put money on the specific item and on a line saying "5000 Coins remaining" or something ?
Question;
- If you die with the market open, does it just close or would it glitch it out or something and the items would disappear?
- If possible, maybe a feature to sell for each, buy all, etc...and the ability to buy how many and stuff like that ;3
Can you add a AdminShop type please
I've just added an early version of locale. You can see more information about it in the description. File approval is going extremely slow at the moment, so it might be awhile before the download is up.
i want to try it real bad.