LocalShops Economy Based Player Shops Version: 3.1.1 (Fifth Avenue) LocalShops allows players to create and manage physical shops - literal player-defined cuboids - in which they can directly participate in a server economy! Version 3 includes masses of bug fixes, tweaks and improvements, including a brand new item search engine, allowing players to use, manage and create shops with more ease that ever before. Features: Player owned and operated physical shops! Shops can be managed by multiple players. Create a Free Market in which the players directly control economic values of items! Download LocalShops (JAR) Source Code Issue Tracker (Bug Reports & Feature Requests) Requirements: CraftBukkit Recommended Build 766 Permissions (optional) Permissions v2.7.2 Economic (use one of the following) iConomy v4 or v5 Essentials Economy v2.2.13 BOSEconomy v0.6.2 (Read this post) Got Issues or Problems? We're happy to help with any issues or problems you may have, but please help us as we make every effort to help you! If you're experiencing errors, or funkiness please do the following: Verify that your versions meet the requirements in the Requirements Section You can reproduce the bug Use kind words in your post! Awesome, now in the post please include the following information: Version of Bukkit Version of LocalShops Version of Permissions Which Economic Plugin you are using (and version number) Description of issue, error, or shenanigan Steps to reproduce issue, error, or shenanigan Log files (as much as you can provide the better) Commands: [required] <optional> /shop Displays a list of player commands /shop select Select a cuboid area for a shop to occupy. Used in conjunction with both the create and move commands. Using the select command a second time will cancel the selection process. /shop create [shop name] Creates a shop of the default sized (specified in the configuration file) at your location. If used after the select command - assuming the player didn’t cancel the selection process, possess enough money to create a shop (also specified in the configuration file) and the selection is smaller than the maximum allowed area (again, specified in the configuration file) - a shop will be created that fills the specified area. Remember, shops are created in a 3D space - selecting two blocks on the floor will likely result in the creation of a shop that is a single block tall, which isn’t particularly useful to anyone. Any characters may be used for a shop name, including spaces and punctuation. /shop info <id> Used while standing in a shop, this command will return information about that specific shop. If a shop ID is added to the end, it will return information about another shop without the player needing to be physically in it. Use either this command or list to get shop IDs. /shop browse <buy|sell> Shows a list of items currently in the shop and if provided either buy or sell as an argument it will only show those for to buy or sell (from the players perspective). /shop find [item name|id] Finds nearby shops that either buy or sell the item sorted by distance with the cost per item. /shop list Lists all shops in the current world that the player owns, along with their unique IDs and names. /shop move [id] Moves the specified shop to a new location. The select command can be used prior to this command, allowing the shop to be moved to a new cuboid specified by the player. Both list and info will return shop IDs, in addition to other information. /shop destroy Destroys the shop the player is currently standing inside. The owner of the shop will receive anything that was left in stock, inventory space permitting. /shop add <item name> Used without an item name on the end, adds the stack of items that the player is currently holding. If an item name is specified, that item will be added to the shop, with a stock of 0. /shop remove <item name> Used without an item name, removes the item that the player is currently holding from the shop, and returns all remaining stock to the owner. If an item name is specified, it works in the same way, but for the specified item instead of the held item. In order to remove a certain amount of items from a shop (and not stop the shop from stocking the item), the player must use the buy command. Owners and managers of a shop are not charged for removing items in this manner. /shop buy [item name] <amount> /buy [item name] <amount> Purchases a specified item from a shop. If the player uses ‘all’ in place of an amount, the shop will attempt to fill the player’s inventory with the specified item, money (and item stock) permitting. /shop sell <item name> <amount> /sell <item name> <amount> Used without an item name and amount defined, sells the stack of items the player is currently holding. With an item name defined, a specific item (a single item) is sold to the shop. If the player uses ‘all’ in place of an amount, all instances of that item in his inventory will be sold. /shop set Help page - displays a list of set commands. /shop set buy [item name] [price] <bundle size> Used to set the price and bundle size of items that the shop will be able to buy or purchased from customers. Both this command and the set sell command below are set from the perspective of the shop, not the customer; in contrast the buy and sell commands are always from the perspective of the customer. /shop set sell [item name] [price] <bundle size> Sets the price and bundle size of items that can be sold to the customer. /shop set manager +/-[player name] ex: /shop set manager -cerealk +Mineral Adds or removes managers from the player’s shop. A manage is able to add/remove items, set prices and set maximum amounts. He cannot move the shop, destroy the shop, nor add/remove managers. /shop set minbalance [amount] Sets a shops minimum balance that must remain in the account at all times. Helps prevent players from selling to a shop and completely bankrupting the owner. /shop set max [item name] [max amount] Used to set a maximum stock limit for a specified item. Note that the owner of the shop will still be able to add items above the maximum stock level, but the shop will not buy items from players if the current stock level is higher than the maximum specified amount. /shop set notification Toggles if the shop owner is to receive periodic transaction notifications via chat. /shop set owner [player name] Changes the shop owner to another player. /shop set unlimited money Requires a special permission node: localshops.admin Sets the shop to have unlimited money - useful for a server shop buying items from players. The money from items sold to the shop while this is toggled on will go to whoever is set as the shop owner. If the owner is set to a player that doesn’t exist (ServerBank, for example) the creator of the shop won’t get the money from item sales. /shop set unlimited stock Requires a special permission node: localshops.admin Sets a shop to have an unlimited amount of all stocked items - keep in mind that items still need to be added to the shop for them to appear in the shop’s inventory. Permissions: A word of caution with Permissions, Managers by default cannot use shops! Managers should have both the manager and user permissions, similar with Admins. localshops.user.* Users can buy and sell to shops but not make or manage them. Sub nodes are: localshops.user.buy localshops.user.sell localshops.user.browse localshops.manager.* Owners and Managers can create, move or destroy shops and manage shops (using the set commands) Sub nodes are: localshops.manager.add localshops.manager.create localshops.manager.destroy localshops.manager.move localshops.manager.remove localshops.manager.select localshops.manager.set localshops.manager.set.owner localshops.admin Allows administrative access to override manager permissions. localshops.free.create Removes the cost associated with creating a shop. localshops.free.move Removes the cost associated with moving a shop. Configuration File: See this post for the configuration file! Example/Instruction Videos: See this post for the example & instruction videos! Third Party Tools & Utilities: ShopEditor - The GUI for Editing Shops (Windows only ) Reporting: LocalShops reports minimal anonymous data to provide general usage tracking. No personal or server information is ever transmitted. The following data is provided: Plugin Name (this will always be LocalShops) Plugin Version Bukkit Version (the full Bukkit version string) Operating System Name Version Architecture Java Version This data helps us understand the environments in which LocalShops is used within, however you are more than welcome to disable it by setting "report-stats" in the configuration file to false. Internet Relay Chat: We idle on EsperNet! Come join us (along with pretty much the rest of the Bukkit crew). Server: irc.esper.net Port: 6667 Channel: #localshops Credits / LocalShops Team: Please do not send support messages directly to any of us. While we appreciate your desire to solve problems or get answers, it isn't appropriate and our answers could easily help others! cereal MineralMC Sleaker Jonbas Changelog: Version 3.1.1 Fix detection of BOSEconomy Fix "/shop buy all" not properly functioning Version 3.1.0 Out of Beta! Features: Permissions updated, is not mandatory Will only restrict admin commands to ops without Permissions Sorting of /shop browse and /shop list New command: /shop find Used to find nearby shops that sell an item Transaction notification for shop owners Bug Fixes: Economy sanity checks /shop select Message clarify usage (bare hands) Sanity checks on corrupt shop files /shop sell all now sells all items instead of a single stack Refactored Commands (now each in their own class) Remove players from memory on PLAYER_KICK and PLAYER_QUIT events Notification for insufficient funds Owner & creator information is now shown in /shop info for all situations Match criteria updated Wool, Cactus Green, Cactus, Glowstone Dust Version 3.0.3-Beta Fixed money exploit Fix typo on selling or buying 0 items Redstone Dust match criteria updated Soul Sand match criteria updated View all changes here! Configuration File: The configuration file for LocalShops is located at plugins/LocalShops/localshops.properties and can easily be modified. See the following information about each variable and its purpose and valid values. uuid=Random Used for reporting. debug=false Value can be true or false. If true, logs verbose debugging information to console. shops-per-player=-1 Maximum number of shops each player can have, unlimited is -1. report-stats=true Value can be true or false. If true, anonymous information will be collected, see Reporting section. log-transactions=true Value can be true or false. If true, logs transactions. max-damage=35 Maximum damage percentage an item can have to be added to a shop (it will be sold repaired). Default is 35 (or, 65% or more of the 'health' of the item is remaining). charge-for-shop=true Enables charging for creating & moving shops. shop-cost=100 Cost of creating a shop. move-cost=100 Cost of moving a shop. shop-height=3 Default shop height. shop-width=10 Default shop width. max-height=10 Maximum shop height. max-width=30 Maximum shop width. shop-notification=true If true, shop transaction notices will occur. Note: this is a global configuration! shop-notification-timer=300 Number of seconds between transaction notifications, default is 5 minutes. shop-transaction-max-size=100 Maximum number of transactions that a store will store for notification purposes. Limited to 100 by default to prevent infinite memory usage. search-max-distance=150 Maximum number of meters away from a player to include in shop find results (should be renamed to find-max-distance and will likely happen in the near future). BOSEconomy Support: BOSEconomy does not provide support for major or minor values and ONLY supports whole numbers. The result is that all orders are rounded up to the next whole number to ensure that the Shop Owners obtain the proper monetary value. Here are some examples: Stone selling for 1.30 each... A player purchases 1 and the total price is 1.30 and is thus rounded to 2 (we goto the next whole number, there is NO rounding down) A player purchases 100 and the total price is 130 and thus there is no rounding to do. How to enable Debugging & Obtain the Logs: Locate the LocalShops properties file, it is located in the folder "plugins/LocalShops/" and is named "localshops.properties". Find the line that starts with "debug=" and set the value (portion after the equals) to true. You should now have "debug=true" Remove your old server logs (we will want a fresh slate to start with). The server log is "server.log", either delete it or move/rename it. Start the Bukkit, and perform the actions to cause the error. Stop Bukkit. Locate "server.log" in the Bukkit main directory and attach it to your forum post! EDIT by Moderator: merged posts, please use the edit button instead of double posting.