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!
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 =)
When a player has listed several diamond blocks in the global market, nobody can buy it. Left clicking does not work. Can you fix it?
In light of recent events I have stopped working on my rewrites. I will still be around to fix any major bugs that may crop up, but that's about it. If you have any issues please create a ticket on the GitHub repo.
I will be porting GlobalMarket to Sponge at the first available opportunity. Watch my GitHub page for news on that front.
I would love to see NBT support, and ProtocolLib is a good solution I believe.
crap ((((
so frustrating to see the swap to create action on the config file and not in game , btw i have the last protocolLIB 3.5.0 snapshot , hope you gonna fix it soon :)
thx for your time
@hyteria
Sorry, realized you're on 1.6.4, the hopper feature only works in 1.7 at the moment due to the protocol changes between 1.6 and 1.7.
hi
ok then now i got the search and sortby icon , but still no hooper icon to sell item
we are close )))
thx for reply
@hyteria
Get the latest build here. https://drone.io/github.com/Dasfaust/GlobalMarket/files
@ZwPBerserk
Have you checked for errors at startup?
@xdasfaust
Not that i know of.
I could try to alias the command but i can't get it to work.
/globalmarket:market
Doesnt work. What is your plugin called for this?
hi ,
im using GlobalMarket v1.2.2 and Protocolib-3.4.0 . and my serv is on 1.6.4. there is another last version ?????
thx
@desht
I'd love to support it. I really wish Bukkit had methods for NBT functions. People running Cauldron come into the same issue with modded items. Since I'd like to support both Bukkit and Cauldron I may end up having a dependency on ProtocolLib (if NbtFactory still doesn't support Cauldron/MCPC+) to make things easier. I'm in the midst of making a lot of rewrites for UUID support, so it's as good of a time as ever, I'll see what I can do.
@hyteria
You need to be running a recent dev build.
protocolib added but nothing much happen , i must be see it loaded on the /plugins in game? (i mean protocolib)
thx for reply
This may be a long shot, but would there be any possibility of support for extended item stack data stored in item attributes, as described here: https://forums.bukkit.org/threads/util-edit-itemstack-attributes-adding-speed-damage-or-health-bonuses.158316/ ? (Comphenix's shadeable AttributeStorage library to handle this is here)
The reason I ask is that my Sensible Toolbox plugin uses an attribute to store extended data on items which wouldn't fit nicely into item lore. It looks like that attribute data is currently lost if STB items are placed into the market and then removed, and I've had a request from a user of both our plugins to see if some compatibility could be added.
Not sure how feasible this request is, but it would be nice :)
@SentinelCraft
Fixed a bug in build 12 that probably caused that. Can't reproduce it.
@hyteria
You need to install ProtocolLib.
hello
sorry but what i m suposed to do to see the "hooper icon" on my market? i only see previous and next page icon ://
thx
@SentinelCraft
yes, a lot of players said they lost items in globalmarket
The auto click thing can also cause issues if you both right/left click the market, it will bring up a standard chest interface, which if people are unaware and put items there (Some people refuse to read the guide we posted) then their items vanish.
This also happens if you double click very quickly.
Realistically people should just not do those things, but that doesnt stop them from complaining about it as though its the plugin's fault.
@ropng
I'm investigating that.
@ZwPBerserk
Do you have another plugin that has a /market command?
Nice plugin! Looking forward to the UUID-update. :)
Hmm i downloaded the latest dev build. But somehow the commands arent working or something? Everytime i do: /market create /market listings or anything it brings me to A market.
Are the commands differently then in the older builds?