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!
Hi, I have put the last dev build on an 1.8.3 Spigot Sever. And now my server has huge memory consumption.
What do you think?
I've got a error: Could not pass event PlayerInteractEvent to GlobalMarket:
Can you help me please ? :(
[16:53:06 ERROR]: Could not pass event PlayerInteractEvent to GlobalMarket v1.3.0-11 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:226) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at net.minecraft.server.v1_8_R1.PlayerInteractManager.interact(PlayerInteractManager.java:463) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:724) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at net.minecraft.server.v1_8_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:50) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at net.minecraft.server.v1_8_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:80) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [?:1.7.0_75] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [?:1.7.0_75] at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot_vgbin.jar:git-Spigot-bf0ac55-3ee97a3] at java.lang.Thread.run(Thread.java:745) [?:1.7.0_75] Caused by: java.lang.NullPointerException at com.survivorserver.GlobalMarket.MailInterface.prepareItem(MailInterface.java:125) [?:?] at com.survivorserver.GlobalMarket.InterfaceHandler.refreshInterface(InterfaceHandler.java:260) [?:?] at com.survivorserver.GlobalMarket.InterfaceHandler.openInterface(InterfaceHandler.java:166) [?:?] at com.survivorserver.GlobalMarket.Market.onRightClick(Market.java:759) [?:?] at sun.reflect.GeneratedMethodAccessor189.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_75]
im having trouble getting commandNPC + Globalmarket to work together, it seems i cant get the npc to recognize a player name in it.
when using the following command /npc addcmd false noperm market listings it allows me to right click the npc and open the market UI, however when ever i try to interact with it, it closes out.
when using the command /npc addcmd false noperm sudo %name market listings < aka forcing the npc to recognize the player. i get the same instance, clicking or interacting with the UI makes it close out. im simply trying to create a RPG Auction house aspect with these plugins.
Any help of suggestions would be amazing.
Would be great if market history was in a GUI and we could disable language_file: en_US.lang from creating.
Can you make it so it can have seprate worlds ? like if i wanted a market in 2 worlds but i want them different?
This plugin works perfectly for my server however there is one feature that ruins it and makes it impossible to use. Ive been trying to disable it but it seems to be impossible to remove and pointless in the first place. Im looking for a way to disable /market mail all together! I want to make it so when someone buys something from the shop the item they purchased goes straight into their inventory and not some pointless other inventory that can be abused as an enderchest to store infinite items safely. Im not sure why there is not a feature to disable the whole purpose of the mail. I cannot use this plugin because people simply abuse the ability to store items safely in their /market mail like a free portable infinite enderchest. Please fix this or add the ability to disable the mail feature and have bought items transfer immediately to the buyers inventory. Thanks!
I really like this plugin its perfect for my server but I'm having an issue with the latest update not the latest devbuild. It seems to conflict somehow with dtlTraders plugin http://dev.bukkit.org/bukkit-plugins/dtltraders/ When my players go into a dtltrader shop and buy an item, then walk out and try to use it, it disappears from thier inventory. As soon as I disable the last update(not devbuild) the issue goes away. Then when i re-enable it the problem returns. Any idea what is causing this? I'm going to swap out to the latest devbuild and see if it makes a difference. I'll let you know how it goes. thankyou
Latest dev. Doesnt have Swap_to_sell
my GlobalMarket-1.3.0-SNAPSHOT-b17 have it, but when i swap - no reaction. No iterface to input
@conetopia3000
spigot 1.8.3
@CitoyenCharly
which version of Minecraft are you using? Bukkir or Cauldron?
Hi, When I open GlobalMarket 1.3.0-11 (listing or mail) with chest commands I only have an empty inventory.
I've seen it on a few servers where theres a hopper in the Market that players drag their item to it, and a sell ui pops up...is that custom?
hi, I downloaded a plugin called Global Market * its an Auction house * then I downloaded citizens 2.0 finally I downloaded CommandNPC
/npc create (npcname) then i did /npc addcmd true noperm market listings When I click the npc ( I want it to force my character to run a command ) /market listings but I think im missing something or not understanding something. basically speaking its saying in my console [market] player context is required.
So i assume its the market plugin saying hey your are trying to run /market listings for a player with no name. b/c the npc is not providing the market plugin a name.
Found a Fix using Essentials plugin. /npc addcmd true noperm sudo %name market listings
@jessefjxm
你现在就在显示国籍
Very nice! But whe using it, same items sometimes cannot put together...Bukkit version 1.7.10
@bry5318 Men, this works on 1.8.X so i don't know why you are trying to say, this plugin will be updated when it will not work on the future versions but now it works very well
Hope the support for soulbound can be added :)
@bry5318
Use the dev builds? I see no reason why he would update this plugin on bukkit, when bukkit is no longer developed on this site.
Does anyone know how to delete other ppl's listings as an admin?
can UUID update please ? :(