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!
I found a dupe bug, when the stock are full (320 items) if you try do add more on another slot, itens go to stock and come back to you.
@Kalle801
Tbh I have never seen an auction house as this one work so great. So not sure why you are having issues. Because it is awesome :D
So i have to translate the plugin and compile it my self to use it in another languge?
Could you please make /market in the version R: GlobalMarket v1.2.2 for 1.6.2 ?
Cause the newest version dit not work on my server and /shop is akready taken by another shop system :(
Edit: Ignore my posts, i got the Previous Version running now ;)
This does not work on 1.8.9
Great plugin! Is there a log system that could record people's trade history?
There's also a huge issue with the .market command still being able to be run even though people don't have permissions to it
There's a bug when I go and click on one of my GUI from chest commands and when the value is set the "KEEP-OPEN:TRUE" the guy for your plugin doesn't work properly it only shows on screen then none of the items do anything and disappear once I click them, Only way around it is to type the common by hand. Please fix this! I really want this plugin to work with my current plugin setup. thanks :)
BTW, changing the root command btw crashes the whole plugin and doesn't work until you reset the config, please fix :)
Hi~ I love this plugin! And there has a blacklist. Could it make player cant sell custom lore item ?
[16:31:49] [Server thread/ERROR]: Could not pass event InventoryClickEvent to GlobalMarket v2.0.0.21 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1630) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:31) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.PacketPlayInWindowClick.a(SourceFile:9) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_65] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_65] at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] at java.lang.Thread.run(Unknown Source) [?:1.8.0_65] Caused by: java.lang.NullPointerException at me.dasfaust.gm.MenuHandler.onClick(MenuHandler.java:227) [?:?] at sun.reflect.GeneratedMethodAccessor314.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_65] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.8.0_65] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-5f38d38-18fbb24] ... 15 more
Can you please publish the permissions for this plugin?
PlayerPoints can support it?
Also /market createinf - Is not a valid command.
What is the permission to create a listing as a player? I have them .use and no one has perms to create. also if you do /market is the gui supposed to appear or only /market listings ? thanks.
@xdasfaust
strange... I have it installed. I'll reinstall it, thanks for your help.
@Goldentoenail
I'm having the same issue. I had it in the olde version and even with the newest ones I never see new listings announced when set to true.
Nice to see the plugin has been updated. Works like a charm :D
@Goldentoenail
That's only in the 1.3.X builds.
@MAXIMUSSPRIME
Looks like you're missing ProtocolLib...
Hola, I'm getting a severe error from your plugin when restarting/stopping my server.
Hopefully this report helps. I'm very much looking forward to using your fantastic plugin :3
Can anyone help? I placed announce_new_listings: true at the end of the config and reloaded the plugin. I also gave permission globalmarket.seeannounce to the deafult group and also reloaded the permissions. However, new listings are not being announced. Do I need to include a Misc root node in the config?
GlobalMarket 1.2.2 - Spigot 1.8.8 - Vault 1.5.6 - iConomy 7 - LegendChat 1.1.2
I guess I will be trying GlobalMarket 2.0.0 soon.