🗄️ Easy to install, no need to mess around with databases, just drop the file in your plugins folder.
🏷️ Sensible permissions by default, so you mostly don't have to worry about it.
🌎 Localizable, you can easily create translations to any language.
⚠️ No block protection is provided, external methods are required to protect the shop's container and Item Frame.
♻️ Depends on Vault to interface with any economy plugin supported by it. 📎 Download Vault here.
📂 Open source under the Mozzila Public License 2.0 on Github.
🛍️ View a shop owner, product, sell price, and buy price by right or left clicking.
💵 Sell by sneaking and left clicking.
💶 Buy by sneaking and right clicking.
⌨️ Use /shop while looking at an Item Frame containing the item you want to trade. Set the buy or sell — or both — prices with the flags -buy or -sell. Set the amount to be traded using the -amount flag.
📦 Can be placed on Chests, Barrels, and Shulker Boxes.
*️⃣ Multiple shops can be placed on the same container.
💸 Set a create fee so players must pay to create a shop — view the fee with /shop price — by setting create-fee entry in the config.yml, then apply the changes without restarting by running /shop reload.
💣 Remove your shop by running /shop remove while looking at it.
⌨️ Use /shop server while looking at an Item Frame containing the item you want to trade. Set the buy or sell — or both — prices with the -buy or -sell flags. Set the amount to be traded using the -amount flag.
📦 Can be placed on any solid surfaces.
♾️ Infinite resources, server shops have infinite stock and money. Any items sold or money paid to it is removed from the game.
💣 Remove any server shop by running /shop remove while looking at it.
💬 Player's game locale is used to select an appropriate localization file — those with the extension .properties — in the plugin's data folder — at .../your server/plugins/Butiko — and if no suitable one is found, it uses the default one called messages.properties. Item and enchantment names are automatically translated.
👄 Create a language only localization file by copying messages.properties — inside the plugin's data folder — and renaming it to messages_<language>.properties. Replace the placeholder <language> with the lower case two letter language code. 📎 See language codes here.
🏁 Create a language and country localization file by copying messages.properties — inside the plugin's data folder — and renaming it to messages_<language>_<country>.properties. Replace the placeholder <language> with the language code, and <country> with the upper case two letter country code. 📎 See country codes here.
🖼️ For exemple a spanish localization file would look like messages_es.properties, but a colombian spanish one would look like messages_es_CO.properties.
✒️ Translate the file you just created, but do not translate the placeholders like <product> or the entry keys to the left of the equal signs like must_look_at_itemframe.
🗒️ Contents of messages.properties
shop_created = Shop created
shop_created_fee = Shop created for <fee> fee
shop_removed = Shop removed
duplicated_shop = That's already a shop
must_look_at_shop = You must look at a shop
empty_itemframe = The itemframe must contain an item
container_not_allowed = Shop container must be a <chest>, <barrel>, or a <shulkerbox>
must_look_at_itemframe = You must look at an itemframe
shop_command_usage = Create a shop using /shop while looking at an itemframe
files_reloaded = Configuration and localization files reloaded
cannot_pay_fee = You can't afford to create a shop
must_buy_or_sell = Your shop must buy, sell, or both
buy_price_too_low = Buy price must be higher than the sell price
buy_only = You can only buy from this shop
sell_only = You can only sell to this shop
shop_insufficient_funds = The shop owner can't pay you
shop_insufficient_space = The shop inventory is full
shop_insufficient_items = There is no stock available
client_insufficient_funds = You don't have enough money
client_insufficient_space = You don't have enough inventory space
client_insufficient_items = You don't have enough items to sell
sold_succesfully = Sold <amount>x <product> for <price>
bought_succesfully = Bought <amount>x <product> for <price>
transaction_failed = Unable to complete transaction
buying_for = Buy for <price>
selling_for = Sell for <price>
shop_price = It costs <fee> to create a shop
exempt_from_fee = You are exempt from shop creation fee
not_allowed = You can't do that
♻️ Reload plugin's files using /shop reload to make the new localization immediately available with no need to restart the server.
❓ Defaults define what permissions are given to players when no permission is explicitly set. The true default means all players have the permission when they join. A op default means that only server operators have it.
🏷️ butiko.command - Allows to see /shop command and use /shop price. Default to true.
🏷️ butiko.player.create - Allows player to create shops and remove their own. Default to true.
🏷️ butiko.player.nofee - Makes the player exempt from the shop creation fee.
🏷️ butiko.admin.create - Create a server shop. Default to op.
🏷️ butiko.admin.remove - Remove another player's shop with /shop remove. Default to op.
🏷️ butiko.admin.reload - Reload configuration and localization files. Default to op.
🔍 This plugin uses bStats to collect usage data. You can disable it in .../plugins/bStats/config.yml.