VintageShop
*Currently in Testing*
VintageShop is a versatile and powerful plugin for Minecraft servers that allows you to create and manage in-game shops. With VintageShop, you can design intricate shops with a wide range of items, create special package deals, and even incorporate custom items into your server's economy.
Features
- Customizable Shops: Create shops with unique titles, icons, and layouts.
- Flexible Item Configuration: Define items with custom names, descriptions, enchantments, and lore.
- Package Deals: Bundle multiple items together for special promotions.
- Buy and Sell Functionality: Set both buy and sell prices for items and packages.
- Permission Control: Restrict access to specific shops or items using permissions.
- Custom Items: Integrate custom items from another plugin, or ones you save!
- Console Commands: Execute commands upon purchase or sale of items.
Commands
- /shops - Opens a GUI that lists all available shops to the player
- /shops <shop_name> - Opens the Specified Shop
- /shops createitem <Custom_Item_Name> - Create a Custom Item from your hand that can be used in your shops (Ex. Plugin specific Items, Items with special enchants, lore, etc.
- /shops getitem <Custom_Item_Name> - Give yourself the specified Custom Item
Permissions
- vintageshop.* - Permission to use all VintageShop Commands/Shops
- vintageshop.shop.* - Permissions to use All VintageShop's
- vintageshop.shop.<shop_name> - Permissions to use a Specified shop
- vintageshop.createitem - Permissions to Create Custom Items
- vintageshop.getitem - Permissions to Retrieve Custom Items
Issues/Suggestions
If you encounter any issues or have suggestions for the plugin, please join our Discord server:
https://discord.gg/hjDYrKvcMT
Shop Configuration
For a detailed look at all the available configuration options, please refer to the
shopStructure.yml file. This file provides a comprehensive guide to setting up your shops and includes examples for various scenarios.
To use CustomItems from another plugin, VintageVault is Required.
https://www.spigotmc.org/resources/vintagevault.55490/
Code (Text):
# THIS FILE WILL INCLUDE ALL POSSIBLE OPTIONS TO USE IN A SHOP (This shop will ALWAYS be hidden, don't use this file name)
# This Will also Include all Definitions of what each option does
# Shop Name is the file name in lowercase without the .yml extension
# Exmaple: shopStructure.yml -> shopstructure
# The Permission for this shop would be: vintageshop.shop.shopstructure
title: 'Shop Structure' # The Shop Title Listed in Shops Gui and the Title for Shops Own Gui
hidden: true # Whether to hide the shop from the shops GUI
icon: Ender_Chest # The Icon to be Displayed in the Shops GUI
size: 27 # Must be a multiple of 9, but No less than 18 (Not Required)
# If there are more items than the shop size, the extra items will be listed on next page
pages: # This is an alternative layout where you MUST decide what to put on each page
# Check either complexShops.yml or simpleShops.yml for the non-page specific layout
1: # The first Page of the Shop
# If there are more "Purchases" than a page can hold, it will be ignored
examplePackage1: # This will be the Display name of purchase if no title is set below, otherwise used for backend purposes
title: 'The Father Package' # This will be the Display Name of the "Purchase"
description: 'Example Item Description' # This is to Explain the Purchase and will Show on Lore (Not Required)
permission: 'custom-perm.godfather' # This can be whatever permission you require, if any, to purchase/sell (Not Required)
icon: Diamond_Helmet # This will be the "Purchase's" Icon
slot: 0 # What Slot to Display the Purchase in the Shop GUI (Between 0 & shop size - 10) (Not Required)
# If some items are designated a slot, it will be used, if others are not, it will fill the next slot after the last indicated slot
buy-price: 1000 # buy-price or sell-price is Not Required for Everything, but obviously one or the other is required
sell-price: 500 # If a sell price is listed for a "purchase" with multiple items, they will need ALL ITEMS EXACTLY
items-in-lore: true # Show Items in Lore (Multi-Item Purchases Show the player what they're buying before purchase anyways)
items: # These are Items to Buy or Sell (if any, Not Required)
Diamond_Sword: # This must be either a Real Minecraft Name or a Custom Item Name (custom:skeleton_spawner, made using /shop additem skeleton_spawner)
amount: 1 # This is how much of the item to give them on purchase
# If set to 0, it will allow the player to purchase/sell multiple of ONLY this item/first item listed
# If other items are listed and the first item amount is 0, they will not receive the other items
# If other items other than the first are set to 0, they will just not receive them
display_name: '&3The Belt' # A Custom Display Name for the Item (Not Required)
enchants: # A List of enchants to add to the item (Not Required)
knockback: 2 # Enchant names must be real minecraft enchant names
unbreaking: 3
sharpness: 2
mending: 1
lore: # A List of Lore to add to the item (Not Required)
- 'The Most Feared Weapon Around'
Leather_Leggings: # Just another item the player will receive on purchase (Not Required)
amount: 1
display_name: 'Sunday Shorts'
lore:
- 'Sunday Football Shorts'
- '~ Includes Multiple Stains'
console-commands: # Commands to run when Purchased
- "broadcast Watch out for %player%! He's got the Belt!"
sell-console-commands: # Commands to Run when this "Purchase/Package" is sold
- 'broadcast %player% has sold their Manhood!'
# ---------------------------------------- Extra Info, Examples Below ---------------------------------------- #
2:
packageDeal:
title: "A Miner's Deal"
description: 'Sell or Buy All These Items at a Deal'
icon: Diamond
sell-price: 5000 # If a sell price is listed for package, they must have all items
buy-price: 7500
items:
Iron_Ingot:
amount: 16
Coal:
amount: 16
Cobblestone:
amount: 64
Diamond:
amount: 16
Paper:
amount: 1
display_name: 'Miner Voucher' # If Display name is set for a item, player's will need this exact item to sell
itemBuySellShop: # Create a Shop to Buy or Sell Multiple of an Item
title: 'Iron Ingot Shop'
icon: Iron_Ingot
description: 'Buy and Sell Iron Ingots of Any Quantity'
buy-price: 150
sell-price: 100
items:
Iron_Ingot:
amount: 0 # Multi-Purchase/Sell
console-commands:
- 'broadcast %player% has purchased %quantity% Iron Ingot!' # You can use %quantity% on single item purchases, otherwise returns 1
sell-console-commands:
- 'broadcast %player% has sold %quantity% Iron Ingot!'
customItemsShop:
title: 'Skeleton Spawner Shop'
icon: Spawner
buy-price: 100000
items:
'custom:skeleton_spawner': # Must Encapsulate custom item in single/double quotes
amount: 0 # Multi-Purchase/Sell
customItemsShop2:
title: 'Zombie Spawner Shop'
icon: Spawner
description: 'Buy and Sell Zombies'
buy-price: 100000
sell-price: 50000
items:
'custom:zombie_spawner': # Must Encapsulate custom item in single/double quotes, to sell, it must have exact item info
amount: 0 # Multi-Purchase/Sell
customItemsPackage:
title: 'Adventurer Pack'
icon: Diamond_Sword
buy-price: 125000
sell-price: 100000 # Player is required to have all listed items to sell
items:
'custom:zombie_spawner':
amount: 1 # Don't set to 0 if you're going to have more items
diamond_sword:
amount: 1
display_name: 'Undead Starter Sword'
enchants:
unbreaking: 1
sharpness: 2
lore:
- 'Enough to Keep the Weakest Alive'
steak:
amount: 32
vaultCustomItem:
# Use "vault:" then a custom item id to use a CustomItem from another plugin that's registered
icon: "vault:bedrock_pickaxe"
buy-price: 200000
sell-price: 100000
items:
# You can also add "@" and then the plugin name if multiple custom items have the same name across multiple CustomItem Plugins
'vault:bedrock_pickaxe@oraxen':
amount: 1
simpRank:
title: 'Simp Rank'
description: 'Become a Simp!'
permission: 'ranks.buy'
icon: leather_helmet
buy-price: 1000
console-commands:
- 'broadcast %player% has become a Simp!'