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!
Hello, im using cauldron and worldmarket did not create a config file, it says its loaded but when useing the /market command it says internal error, what am i doing wrong?
I'm using the latest version of bukkit. I installed the plugin and the commands didn't even show up in the help menu, then I noticed you needed Vault. I install vault, the commands show up but when I enter a command, it gives me no output at all. I'm pretty sure I might be doing something wrong?
@xdasfaust
Alright, no problem. And no matter what I use for the "Amount" option in the language file, for example "Amount: &r", the text after it is always italic. This is the only value I have encountered which does not change colour/format.
@ketchupcoke
Sorry for the late reply, there's no way to remove that currently. It's a workaround for mods like InventoryTweaks that bypass Bukkit events. The space is an invisible identifier that's added to each item produced by the menu, if the item is found outside of the menu it gets removed. This won't be the case in newer versions though, as I just add a key to the item's NBT.
You should be able to add &r and whatever other colors you'd like to the infinite seller option in the config.
Hey, really love the plugin - it's a great addition to my server.
I have a request: would it be possible to add a feature to remove the space between the item's name and the lore. Also, for some reason the name of the seller is always in &o (italic), so would it be possible to change this. I am just trying to get the plugin to fit the text theme of my server, so more customization would be really appreciated.
Here is what I mean: Spaces Italic
@xdasfaust
Is it possible to have a command to save the shop ? Cause if the server crash it rollback all, and i have a lot of SQL error etc...
@conetopia3000
@Cortesian
It's back up, sorry about the downtime. Posting builds is fine. GlobalMarket 1.X is under All Rights Reserved while 2.X (find it on GitHub) is under Apache V2, just for future reference.
@conetopia3000 You may compile the source code, which is available at Github. If you're not able to do this, feel free to PM me and I'll help you. Even though I do have a compiled .jar of the latest dev build, I am not allowed to post it here because the author didn't choose a license and didn't clarify that it's okay :/
is there going to be a update?
http://build.survivorserver.com/job/GlobalMarket/ Latest Dev builds link Brings me to this page, which says 502 bad gateway
Please update link
anyways: glad to see its working even on newer versions like spigot 1.8.7 for example :) Thanks for this plugin. its pretty stable on any version of MC.
@dadee971
Hi there, I think you could just do another plugin by yourself wich just check the name of the object the player is holding in his hand if he type " /market create " :)
Help me! : http://pastebin.com/Vvk9RkpJ
Hi,
I have a custome item named: Marque de Joaillerie I don't want players tu sell it, but i want them to sell all others custom items.
blacklist: as_whitelist: false custom_names: false item_name: - Marque de Joaillerie
The fact is that if i put custom_names: true, all custom items are blocked. If i put custom_names: false and item_names: Marque de Joaillerie, they can sell Marque de Joaillerie.
Is there a way to blacklist only: Marque de Joaillerie?
Hi, im using global market, and i have made it to were when players go to /menu and it brings up a custom gui, they can just press the global market icon and go straight into the listings from the menu.
...However, upon clicking anywhere on the market listings menu, it closes instantly. It's almost as if you can only interact with the listings if you directly enter with /market listings via chat.
Any way around this?
Update please !
please update it
Did I misread it? is there anyway to allow a user to bypass the creation/posting fee?
this plugin needs to be updated...
How do u allow people in the market it's says "you don't have permission to access this" what do I do to have people access it?
can you please add a feature to blacklist players from using the market, some try to scam others by selling dirt for $10,000 each.
I would like to punish them by blacklisting instead of adding negate perms.
I would also like the ability to remove their item from the market without having to pay them.