shop-configuration.yml
The Shop System in CrisStealCore allows you to create fully customizable GUIs for selling hearts, items, or anything else.
Each shop is defined in a .yml file located inside the /shop/ folder, and you can have multiple pages or separate shop categories.
📁 Folder Structure
/plugins/CrisStealCore/
├── configuration.yml
├── items/
│ ├── heart_1.yml
│ ├── heart_2.yml
│ └── ... create more if you want
├── shop/
│ ├── shop_example.yml
│ ├── shop_page_2.yml
│ ├── vanilla_farm.yml
│ └── ... create more if you want
└── shop-configuration.yml🧭 Shop Configuration (shop-configuration.yml)
This file controls how players open each shop and what permissions or aliases they have.
shop-commands:
shop_example: # Shop file name (shop_example.yml)
command: /heart shop # Command to open the shop
permission: criscore.heartshop # Permission required
aliases: [hrt] # Alternative commands
shop_page_2:
command: /heart shop 2
aliases: [heart2] # No permission set = anyone can use
items-shop:
command: /shop items
aliases: [items]
vanilla_farm:
command: /shop farm
aliases: [farm, seeds]🌍 World Restrictions & Sounds
disable-world: [example_world, example_world_2] # Worlds where shops are disabled
not-enough: "ENTITY_VILLAGER_NO" # Sound played when player can't afford an item
purchased: "ENTITY_PLAYER_LEVELUP" # Sound played after a successful purchase💰 Price Display Format
# Price display format (used only with Vault economy)
# Uses Java DecimalFormat syntax.
price-format: "%,.0f"Examples
%f
1000.000000
%,.0f
1,000
%,.2f
1,000.00
🏪 Example: Shop (shop_example.yml)
# This is the main shop file. You can create multiple pages and link them using the PAGE action.
title: "&8Heart Shop - Page 1"
gui:
size: 27 # Number of slots in the GUI (must be a multiple of 9)
background:
material: "BLACK_STAINED_GLASS_PANE" # Background filler item
decoration-range: "all" # Fill all slots or only the border
global-lore:
- ""
- "&7&r-----------------------------"
- "&7Price: &6${price}"
- "&aClick to buy"
items:
heart1:
slot: 13
item-id: heart_1 # Custom item from /items/ folder
price: 250
heart2:
slot: 11
item-id: heart_2
price: 450
heart3:
slot: 15
item-id: heart_3
price: 750
to_page_2:
slot: 26
sound: "UI_BUTTON_CLICK"
material: ARROW
name: "&e&lNext Page"
lore:
- "&7Go to page 2"
action: "PAGE,shop_page_2" # Opens shop_page_2.yml when clicked
close_button:
slot: 22
sound: "UI_BUTTON_CLICK"
material: BARRIER
name: "&c&lClose Shop"
lore:
- "&7Click to close this shop"
action: "CLOSE" # Closes the GUI🌾 Example: Vanilla Farm Shop (vanilla_farm.yml)
# Vanilla Farm shop example - sells seeds and plants
title: "&8&lFarm Shop"
gui:
size: 27
background:
material: "BLACK_STAINED_GLASS_PANE"
decoration-range: "border" # only fill border slots
global-lore:
- ""
- "&7&r-----------------------------"
- "&7Price: &6${price}"
- "&aClick to buy"
items:
wheat_seeds:
slot: 10
material: WHEAT_SEEDS # Standard Minecraft material
name: "&e&lWheat Seeds"
lore:
- "&7Grow wheat in your farm"
- "&7Basic crop for bread"
price: 25
quantity-buy: 8 # Number of items received per purchase
stack-size: 8 # Item stack size shown in GUI
🔧 Tips
To add a new shop, simply create a new
.ymlfile in/shop/(e.g.,weapons.yml).Define its command in
shop-configuration.yml.Use
PAGE,<file>actions to link between shops.Combine custom items (from
/items/) and vanilla materials for variety.Always reload or restart after adding new shops:
/crissteal reloadLast updated