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!
@gnaxi
I can't reproduce the first error, but the second error should be fixed in build 19.
A couple of other issues though (Spigot 1.8).
When I'm trying to use the /market cancelsearch command I get an internal error:
https://note.gnaxi.dk/?09f81d4c0d3cbd24#8rHTwsZ+Tlz76uSCGhRZmZJ7DXAhs04X92XzVezIgGQ=
And another when trying to use the /market reload command:
https://note.gnaxi.dk/?01c81be1dd7d4213#IftYGi/yhwMX9R9Szob7Dfx0JBWbqtozOSyrG0qZyCo=
@xdasfaust
Color me embarrassed! Sorry about that.. Worldguard indeed.
@gnaxi
That's not a part of GlobalMarket. Sounds like you have a protection plugin like WorldGuard preventing players from interacting with chests.
Sad to say that this doesn't seem to work correctly on the new Spigot 1.8 :(
When users click the mailbox or stall they get:
"Hey! Sorry, but you can't open that here."
Any plans on adding support for Spigot 1.8?
@MisterSanglad
How do you reproduce the bug?
@RenHax
Can you post/PM me the full startup log?
Error upon updating cauldron / cauldron patch.
This is the error on server start up: http://pastebin.com/bttXe5wa
This is the error in console when attempting to execute a command: http://pastebin.com/rVk89DR2
Hi man ! I found a bug with the last devbuild You can stack potions :s Could you fix that, please ?
Thx in advance !
i use permissionX
@hyteria
What permissions plugin are you using? Also GlobalMarket build.
@externo6
I switched to unwritten books, that should fix it. https://drone.io/github.com/Dasfaust/GlobalMarket/files/target/GlobalMarket-1.3.0-SNAPSHOT-b18.jar
how i can create different rank on config (like the default one ) to edit maxlimit on price and items depend on his rank ?
i tried to create other limit using the same name as my permission rank but this is not working
thx =)
New transaction logs http://gyazo.com/cc49eb25b15eda6eadea1af739b5a4a2 Old ones still crash the clients.
@externo6
Yes, I'll be moving the project page once 2.0 is ready. I decided to abstract everything and support both Spigot and Sponge, so that's delayed my progress a bit. I'm currently in finals week so I don't have a ton of time to work on it this week, but once my semester is over I should be able to finish it up relatively quickly.
@xdasfaust
It is only fixed for future books, book created before the 'fix' will still crash the client. See the comments, Thinkofdeath explains there :)
On another note, have you thought of moving this over to the spigot resources?
@Adurath
Unfortunately that's just stray debug info and I can't get much from it. A server restart usually fixes your issue. Make sure you're using the latest build.
@externo6
That's marked as fixed, can anyone confirm?
@justin393
Nothing can be done about this unless xdasfaust implements something to change all transaction logs upon been placed in the players inventory into something that will not kick them. Issue on the tracker is here: https://hub.spigotmc.org/jira/browse/SPIGOT-31
On 1.8 whenever a player opens a transaction log they get kicked from the server and can't join again until their inventory is cleared.
Found some little bug, one player sell nether stalk and now can no cancel it or no player can buy it. Spam console error:
@Hephzebah
/Market [MarketName] is not a GlobalMarket command.
@xdasfaust
Hmm no i didnt had this command before and when i enter this command /Market [MarketName] and put any name it gives me the same GUI window. Before i had the regular message Unknown command. Type "/help" for help. It seems there is something left stuck after deleting it. Anyway its not a big deal really. It dont give me error's and other plugins are still working fine. I just wait for an update and re-download it :)