Shops
You will learn step by step what every option in shop configs mean and how to configure/use it.
General information about the shops configuration.
Since version v6 or Premium v5 of the plugin, sections are stored in their seperate config, instead of using a single sections.yml config to store all of them.
These configs store all items for the specific shop category(section) which are linked to the specific sections config. This config stores all contents of the shop including shop items and per page configurations.
Custom items from other plugins are only supported with ESGUI-Premium. (Unless they are created with keys available in the Free version)
Please read About YAML before editing your files! It DOES NOT tolerate any errors! Validate it!
TIP: Use the contents on the right side of this page to navigate quickly!
File format structure:
###### code formatting reference names: ######
pages:
<page>:
items:
<itemIndex>:
<key>: <value> #Single value key
<key>: #List-format must support multiple values. (lore, enchants, etc..)
- <value1>
- <value2>
###### example: ######
pages:
page1:
gui-rows: 6
title: "&dCustom title for this page"
items:
item1:
material: PAPER
name: "Egyptian Papyrus"
buy: 6
sell: 2
lore:
- "Papyrus from ancinet Egypt"
Item settings/keys:
Item keys list:
material: - The item type (the block ID or Name_spaced name given to it by Mojang)
buy: - Price the item will cost to purchase.
sell: - Price the item is worth when sold to the shop/server.
name: - The name of the item
displayname: - The name shown on the item in the shop only, it is NOT applied to the given item
lore: - a list of custom text applied to the item.
displaylore: - a list of custom text applied to the shop item only, it is NOT applied to the given item.
hidePricingLore: - hide the default pricing lore for the item
hideDecorationLore: - hide the usage/decoration lore per item
slot: - This option is used to determine the slot inside the shop section
stack-size: - This option adds a custom stack size to the item
enchantment-glint: - This option lets u use a enchantment effect on the item.
enchantments: - a list of enchantments and level.
potiontypes: - a list of potion types
spawnertype: - the mob that a spawner is set to by ESGUI when placed. [ONLY for
spawner
material/item.recipes: - the recipe(s) that a
knowledge_book
will give when usedskullowner: - the texture or player's skull that will be displayed by the
player_head
item.armorcolor: - the rgb color of a leather armor piece.
instrument: - Specifies the sound effect that comes from a Goat Horn
section: - Links the item to a shop section
stew-effect: - Gives a specific effect to a suspicious stew
armor-trim: Sets a armor trim to a armor piece
hidden: - Hides the item from the GUI but can still be sold to shop
max-buy: - Sets the maximum amount of items which can be bought per transaction
max-sell: - Sets the maximum amount of items which can be sold per transaction
min-buy: - Sets the minimum amount of items which is required to be bought per transaction
min-sell: - Sets the minimum amount of items which is required to be sold per transaction
prior-lore: - Whether or not to prioritize default pricing lore
close-menu: - Whether or not to close the shop GUI after a transaction has been made
display-item: - Can be used to create a different display item then the actual item received on buying/selling
requirements: - Specifies a list of requirements the player needs
ominous-strength: - Changes the strength of a ominous potion
Premium only item keys:
nbtdata: - highly technical data that will be applied to an item.
components: - replaces the NBTData option for 1.20.5 and newer server versions
sell-commands: - List of commands which get executed upon selling an item.
requireItem: - Whether the shop item is required to be sold before executing a sell command.
buy-commands: - List of commands which get executed upon purchasing an item.
giveItem: - Whether the item is given to a player after executing the buy-commands.
click-commands: - List of commands executed when the player clicks the shop item
stock-limit-global: - The amount of stock for the server
refill-stock: - Allows the item stock limit to refill when selling items.
auto-restock-global: - The time to restock the global item
stock-limit-player: - The amount of stock for each player individual
auto-restock-player: - The time to restock the player item
sell-limit-global: - A selling limit for an item set server wide.
auto-restock-global-sell: - The time between reaching the sell limit and it restoring the original amount.
sell-limit-player: - A selling limit for an item set player wide.
auto-restock-player-sell: - The time between reaching the sell limit and it restoring the original amount.
skull-texture: - Adds a custom skull texture to the player head
economy: - Allows the item to use a specific economy/currency provider
permission: - Sets a per item permission to buy/sell
permission-requirement: - Prevents the player from purchasing the item again when disabled
hideUtilLore: - Hides the limited item stock and limited sell lore
dynamic-pricing: - Used to disable DynamicPricing per item
buy-prices: - Used to add multiple payment options to a single item
sell-prices: - Used to add multiple sell prices to a single item
ignored-tags: - Used to ignore certain NBTTags for sold items
transactionMessage: - Whether to send a transaction confirmation message to the player after the item has been purchased/sold from shop
display-chance: - Allows specific items in rotating shops to have a custom display chance
item-flags: - Adds various settings to the item to hide default lore
CustomModelData: - Sets the CustomModelData of the item
If the displayname
or name
is empty or not set, the item will have the vanilla name.
When only key name
is specified and no displayname
key, the item will use the name specified in the shop when you hover over it and when the item is bought.
When setting the sell/buy
key to any negative number, the item cannot be bought/sold in the shop. (You can also remove the buy/sell price from the item for the same effect)
Creating a item with no buy and sell price will make it a filler item which you can use to decorate your shop.
Item keys breakdown:
pages:
page1: # The page index
gui-rows: 6 # Amount in rows (1 row is 9 slots)
title: " &8<=== &aExample page &c1 &8===> "
items:
1: # The item index (can be anything, not just numbers)
material: milk_bucket
buy: 20
sell: 2
page2: # The page index
gui-rows: 2 # Amount in rows (1 row is 9 slots)
title: " &8<=== &aExample page &c2 &8===> " # Per page title
items:
1: # The item index (can be anything, not just numbers)
material: gold_ingot
buy: 9000
sell: 2800
Material:
This is the item or block ID that will be listed/sold in the shop.
It MUST be a valid name_spaced item for your version of Minecraft!
The material must be a valid item ID. Some lists to get these ID's from:
The 'Name Space' ID of an item is the code-given-name of the item.
It cannot have spaces or special characters and may contain underscores (_).
Ex:
material: "experience_bottle"
The ID is NOT case-sensitive.
Direct plugin compatibility: *Premium feature
ItemsAdder items:
material: "ia:<itemID>"
HeadDatabase items:
material: "hdb:<headID>"
Items from MMOItems:
material: "MMOItem:<type>.<itemID>"
Items from ExecuteableItems:
material: "ei:<itemID>"
Oraxen items:
material: "oraxen:<itemID>"
Brewery/BreweryX
material: "brewery:<brewName>.<quality>"
Nexo items:
material: "nexo:<itemID>"
Slimefun items:
material: "sf:<itemID>"
MythicMobs items:
material: "mythicmobs:<itemID>"
You can create a dummy spacer item in a shop by setting it's material to AIR (empty slot)
Buy:
This is the price or cost of the item that the player will have to pay to purchase or buy the item.
This can be any number.
This is the amount that will be removed or taken from the player's balance (stored in your vault-compatible economy plugin)
This value is only shown in the shop, and not on any bought item
Sell:
This is the value of the item when sold to the server.
This can be any number
This is the amount that will be given or paid to the player when the item is sold to the server (money is added to the player's balance.)
This value is only shown in the shop, and not on any bought item
Name:
This will specify a name for the item when it is bought from shop AND when no
displayname
option is specified it will also be the name for the item when hovering over it in shop.It may contain Chat-Codes (Color/Formatting) or RGB colors.
#Example item with a name that is only shown in the shop, AND a name that is on the item bought.
pages:
pages1:
items:
1:
material: milk_bucket
buy: 20
sell: 2
displayname: "&f&lGot Milk?" #this is what is shown in the shop.
name: "&bWe got &f&lMilk!" #this is the name that will be on the item when purchased/bought.
Only specifing option name
on the item will make it use the same displayname when hovering over it AND the name for the item when it is bought.
Displayname:
Do not confuse this option with
name
since this option will ONLY set the name for the display item inside the shop(When hovering over the item)It will NOT be on the item when purchased/bought.
It may contain Chat-Codes (Color/Formatting) or RGB colors.
#Example item with a display name that is only shown in the shop, and not on the item bought
pages:
pages1:
items:
1:
material: milk_bucket
buy: 20
sell: 2
displayname: "Got Milk?"
Lore:
Create custom text and info about the item!
It may contain Chat-Codes (Color/Formatting) or RGB colors.
You may use placeholder
%buyPrice%/%sellPrice%
#Example item with a name that is only shown in the shop, AND a name that is on the item bought.
pages:
pages1:
items:
1:
material: netherite_shovel
buy: 2000000
sell: 5000
displayname: "&c&lDevil's Paw"
name: "&c&lDevil's Paw"
lore:
- "&5This is the severed hand of"
- "&5the devil himself. Be careful,"
- "&5who can say what unholy powers"
- "&5it may still contain..."
The lore/displaylore
key work the same as the name/displayname
key but instead it specifies the lore. Meaning that when only lore
is specified, the item will use the lore as the lore when hovering over the item AND when you buy the item.
Displaylore:
Do not confuse this option with
lore
since this option will ONLY set the lore for the display item inside the shop(When hovering over the item)Create custom text and info about the item!
It may contain Chat-Codes (Color/Formatting) or RGB colors.
You may use placeholder
%buyPrice%/%sellPrice%
pages:
pages1:
items:
1:
material: AMETHYST_SHARD
buy: 10
sell: 5
lore: # This is the lore of the item when bought from shop
- '&cNotch'
displaylore: # This is the lore of the item when hovering over it in shop
- '&1Gypopo'
HidePricingLore:
Option
hidePricingLore
will do what the name suggests, it will hide the default pricing lore of the item so you could add your own for exampleThis will hide the pricing lore even if the item is still purchase/sell-able
This option comes in handy when you want to make dummy/display items
pages:
page1:
items:
1:
material: LAVA_BUCKET
buy: 200
sell: 75
hidePricingLore: true # This will make the prices not visible for the player
2:
material: WATER_BUCKET
buy: -1
sell: -1
hidePricingLore: true # This will hide the default 'This item cannot be bought/sold' lore
This option allows to hide the default pricing lore as a per item setting but to fast forward it you can empty out the lore inside the language file which will do the same but for every item
HideDecorationLore:
The
hideDecorationLore
will hide the usage/decoration lore per item
pages:
page6:
items:
clean_item:
material: TOTEM_OF_UNDYING
buy: 7500
sell: 725
hidePricingLore: true
hideDecorationLore: true
displaylore:
- "&aComes with a heavy investment of just &f7500$"
- "&abut can save lives when on hand, which is worth it if you ask me."
Slot:
Option
slot
determines the position of the item inside the shop pageTIP: It is possible to display one item at multiple positions by specifying multiple slots
Example:
slot: 1-9,36-45
which will display the same item at all slots from 1 thru 9 and 36 thru 45Example:
slot: 20,24-28,30,31
which will display the same item at slot 20, all slots from 24 thru 28, slot 30 and 31
pages:
pages1:
gui-rows: 6
items:
1:
material: chainmail_chestplate
buy: 25
sell: 10
name: "&d&lKnight's armor piece"
slot: 11
2:
material: iron_chestplate
buy: 35
sell: 15
name: "&d&lKnight's armor piece"
slot: 13
3:
material: diamond_chestplate
buy: 50
name: "&d&lKnight's armor piece"
slot: 15
4:
material: netherite_chestplate
buy: 100
name: "&d&lKnight's armor piece"
slot: 17
999:
material: LIGHT_BLUE_STAINED_GLASS_PANE
name: '&bFill item'
slot: 1-10,18,19,27,28,36,37,38-45
The slot of items need to be in range of the shop page size, if not, the item will not be able to load with a error in console.
Stack size:
Option
stack-size
sets the stack size of the shop itemWhen for example the stack size is set to 5, when the player purchases 2 stacks of this item, they will receive 10 items in total
pages:
pages1:
items:
1:
material: APPLE
name: "&cA stack of 20 apples"
buy: 200
sell: 50
stack-size: 20
Note: When setting a items stack-size, the prices of the item count for the whole stack. So meaning with the item above, 10 apples would be worth $100 and sell for $25.
Enchantment glint:
This option lets u add a enchantment glow effect to any item to give your shop items a more personal touch.
Note: This will add a 'dummy' enchantment of aqua affinity 1 to the item, but default lore will be removed.
pages:
pages1:
items:
1:
material: BLAZE_ROD
name: "&cShiny rod"
buy: 50.0
sell: 10.0
enchantment-glint: true
Enchantments:
Add as many enchantments as you want to an item!
enchantments
is a yml-list-format list of valid enchantments that are applied to the item when bought.Enchantments must be in this format:
<Enchantment>:<level>
(without the "<>") if no level is specified (no:1
, it will be level 1)Enchantments must be valid/exist in your version of MC.
To enable enchants greater than default/vanilla you must enable
allow-unsafe-enchants: true
in the config.ymlCustom enchants from external plugins like EcoEnchants, AdvancedEnchantments, ExcelentEnchants are directly supported using the format of
<plugin>:<enchantment>:<level>
*Premium featureYou can find a list of enchantments for your version of MC here!
#Example of an Enchanted item:
pages:
pages1:
items:
1:
material: diamond_pickaxe
buy: 2000000
sell: 5000
displayname: "&4Silky Smooth"
name: "&4Silky Smooth"
lore:
- "&5The smooooothest pick!"
enchantments:
- "silk_touch:1"
- "efficiency:5"
- "ecoenchants:blast_mining:3" # Example of a custom enchant from EcoEnchants
Potion Types:
Add as many potion-effects to Potions and Tipped Arrows as you want!
potiontypes
is a yml-list-format list of valid potion types that are applied to the item when bought.Potion Types must be valid vanilla potion types for your version of Minecraft
Valid materials that these effects can be applied to are:
potion
,splash_potion
,lingering_potion
, andtipped_arrow
.
Normal Potion Types:
Potion namespace (USE THIS)
Commonly known as:
Vanilla duration and strength
water
Water Bottle(No effect)
0 sec | 1
mundane
Mundane(No effect)
0 sec | 1
thick
Thick(No effect)
0 sec | 1
awkward
Awkward(No effect)
0 sec | 1
fire_resistance
Fire Resistance
180 sec | 1
harming
Instant Damage, Harming
0 sec | 1
healing
Instant Health, Instant Healing, Heal
0 sec | 1
invisibility
Invisibility
180 sec | 1
leaping
Leaping, Jumping, Jump Boost, Jump
180 sec | 1
night_vision
Night Vision
180 sec | 1
poison
Poison
45 sec | 1
regeneration
Regeneration, Healing
45 sec | 1
slow_falling
Slow Falling
90 sec | 1
slowness
Slowness
90 sec | 1
strength
Strength
180 sec | 1
swiftness
Swiftness, Speed
180 sec | 1
turtle_master
Turtle Master
20 sec | 1
water_breathing
Water Breathing,
180 sec | 1
weakness
Weakness
90 sec | 1
infested
Infested
180 sec | 1
weaving
Weaving
180 sec | 1
wind_charged
Wind Charged
180 sec | 1
oozing
Oozing
180 sec | 1
Extended Potion Types:
Potion namespace (USE THIS)
Commonly known as:
Vanilla duration and strength
long_fire_resistance
Fire Resistance
480 sec | 1
long_invisibility
Invisibility
480 sec | 1
long_leaping
Leaping, Jump Boost, Jump
long_night_vision
Night Vision
480 sec | 1
long_poison
Poison
120 sec | 1
long_regeneration
Regeneration
120 sec | 1
long_slow_falling
Slow Falling
240 sec | 1
long_slowness
Slowness
240 sec | 1
long_strength
Strength
480 sec | 1
long_swiftness
Swiftness, Speed
480 sec | 1
long_turtle_master
Turtle Master
40 sec | 1
long_water_breathing
Water Breathing
480 sec | 1
long_weakness
Weakness
240 sec | 1
Strong/Level 2 Potions:
Potion namespace (USE THIS)
Commonly known as:
Vanilla duration and strength
strong_harming
Harming II
0 sec | 2
strong_healing
Healing II
0 sec | 2
strong_leaping
Jump Boost II, Jump II, Leaping II
90 sec | 2
strong_poison
Poison II
22 or 60 sec | 2
strong_regeneration
Regeneration II
22 or 60 sec | 2
strong_strength
Strength II
90 or 240 sec | 2
strong_swiftness
Swiftness II, Speed II
90 or 240 sec | 2
strong_turtle_master
Turtle Master II
20 sec | 2
Potions available, but not craft-able:
Potion namespace (USE THIS)
Commonly known as:
Vanilla duration and strength
luck
Luck
300 sec | 1
Luck only obtainable as a tipped_arrow from a fletcher villager after receiving hero of the village status effect
Other Potions, but have no effects:
Potion namespace (USE THIS)
Commonly known as:
awkward
Awkward
empty
Empty
mundane
Mundane
thick
Thick
water
Water
Potions Examples:
pages:
pages1:
items:
1:
#a common craftable vanilla potion:
material: POTION
displayname: "Potion of Fire Resistance"
buy: 11.9
sell: 2.98
potiontypes:
- fire_resistance
2:
#example of 'custom' potion: full list NOT Reccomended for survival servers!!
material: POTION
displayname: "&bSuperman Potion"
name: "&bSuperman Potion"
buy: 5000
sell: 50
potiontypes:
- long_fire_resistance
- long_night_vision
- long_leaping
- long_regeneration
- long_strength
- long_swiftness
- long_water_breathing
Spawner Type:
spawnertype
must be a valid Name_spaced mob for your version of minecraft.All
spawner
material items REQUIRE this setting to correctly apply the mob-type when placed (*With the exception of 3rd party plugins where you have configured NBT-data on the item. *Premium feature)NOTE: this setting is only works if you have spawner-break and spawner-break enabled in the config.yml
#Example Spawner item
pages:
pages1:
items:
1:
material: SPAWNER
#you MUST specify a spawner type, otherwise they will always be pig(default) spawners
spawnertype: BLAZE
#the 'name' will also be applied to the item when MINED if the mined spawner's mobtype is specified in ESGUI (and spawner-break is enabled in in config)
#the name is optional, however without it, you can't tell what mob the spawner is set too without showing nbt data on your client (it will just say 'spawner' to everyone)
name: '&6&lBlaze &fSpawner'
buy: 125000
Recipes:
A list of recipes that can be applied to the item and given to the player when the item is used.
Recipe books will give/learn the recipes for a player when they activate it(right click the book).
We will not be going in depth into recipes here. Please consult knowledge_book documentation here. However, the majority of recipes are written as minecraft:iron_ingot
for example.
#Example Knowledge Book item:
pages:
pages1:
items:
1:
material: Knowledge_book
name: "Get Rusty"
recipes:
- "minecraft:iron_ingot"
- "minecraft:furnace"
- "minecraft:NETHERITE_SWORD"
buy: 10
Skull Owner:
skullowner
must be a valid mojang-account player's name.If the playername is invalid/does not exist, the default/generic texture will be used.
#Example Playerhead item:
pages:
pages1:
items:
1:
material: player_head
skullowner: notch
buy: 500
sell: 50
Armor Color:
armorcolor
must be in a valid hexadecimal format. Example: '0x00FF00', '#00FF00' or '00FF00'See this site for a color wheel you can use: https://www.colorspire.com/rgb-color-wheel/
#Example ArmorColor item:
pages:
pages1:
items:
1:
material: player_head
armorcolor: "0x00FF00"
buy: 500
sell: 50
Firework options:
duration:
is the flight duration of the fireworkValid options:
1
,2
,3
(Each value represents how much gunpowder would be used)
colors:
a list of colors that are used inside the firework's main exploisenValid options are:
White
,Orange
,Magenta
,Light_Blue
,Yellow
,Lime
,Pink
,Gray
,Light_Gray
,Cyan
,Purple
,Blue
,Brown
,Green
,Red
,Black
fade-colors:
a list of colors that are used inside the firework's fadingValid options:
White
,Orange
,Magenta
,Light_Blue
,Yellow
,Lime
,Pink
,Gray
,Light_Gray
,Cyan
,Purple
,Blue
,Brown
,Green
,Red
,Black
flicker: true/false
Whether or not this firework has the twinkle effect, this is the same as using glowstone when craftingtrail: true/false
Whether or not this explosion has the trail effect, this is the same as using a diamond when craftingshape:
The shape of the explosion of the fireworkValid options:
ball
,ball_large
,star
,burst
,creeper
If you want to add fade-colors, flicker, trail or shape you need to specify atleast one color
pages:
pages1:
items:
1:
material: FIREWORK
buy: 38.50
sell: 20
duration: 2
colors:
- "cyan"
- "purple"
fade-colors:
- "black"
- "gray"
flicker: true
trail: true
shape: BURST
Instrument:
Add this to goat horns to specify which sound they create
Valid sounds:
PONDER
,SING
,SEEK
,FEEL
,ADMIRE
,CALL
,YEARN
,DREAM
The item material needs to be a GOAT_HORN for this option to work
pages:
pages1:
items:
19:
material: GOAT_HORN
buy: 100
sell: 25
instrument: "dream"
Sub sections:
This item option will link the item to a shop section
Upon clicking the item the player will enter the section linked
pages:
pages1:
items:
29:
material: "COBBLESTONE"
section: Cobblestones
lore:
- "&6&lClick to enter the CobbleStone section"
Stew effect:
Allows you to specify a potion effect on a suspicious stew
pages:
pages1:
items:
Stew_1:
material: SUSPICIOUS_STEW
buy: 5
sell: 2
stew-effect: REGENERATION
NIGHT_VISION
0
5s
JUMP_BOOST
1
6s
WEAKNESS
2
9s
BLINDNESS
3
8s
POISON
4
12s
SATURATION
6
0.35s
FIRE_RESISTANCE
7
4s
REGENERATION
8
8s
WITHER
9
8s
Armor Trim:
Allows the armor piece to have a preset armor trim effect
type:
sets the armor trim material/typeValid values are: AMETHYST, COPPER, DIAMOND, EMERALD, GOLD, IRON, LAPIS, NETHERITE, QUARTZ, REDSTONE
pattern:
sets the armor trim patternValid values are: COAST, EYE, DUNE, RIB, HOST, RAISER, SENTRY, SHAPER, SILENCE, SNOUT, SPIRE, TIDE, VEX, WARD, WAYFINDER, WILD, FLOW, BOLT
See this site for a armor trim generator: https://minetrim.com/
pages:
page5:
items:
ArmorTrim1:
material: NETHERITE_CHESTPLATE
buy: 750
sell: 200
armor-trim:
type: GOLD
pattern: WARD
Hidden:
Whether or not to hide the item from displaying in shop.
pages:
pages1:
items:
Hidden1:
material: "ENCHANTED_GOLDEN_APPLE"
hidden: true # The item is not displayed in the food section
Max buy:
When set to -1, allows players to purchase the item by just clicking it in shop without opening the buy screen!
Sets the maximum amount the item can be bought per transaction.
Since EconomyShopGUI v6.0.0 and EconomyShopGUI Premium v5.0.0 max-buy will require to be set to -1 instead of 1 to allow insta purchases.
pages:
pages1:
items:
Item5:
material: STONE
stack-size: 32 # Will instant buy 32 stone without entering the buy screen
max-buy: -1 # When set to -1, players will skip the buy screen
buy: 5
sell: 2.5
Max sell:
When set to -1, allows players to sell the item by just clicking it in shop without opening the sell screen!
Sets the maximum amount the item can be sold per transaction.
Since EconomyShopGUI v6.0.0 and EconomyShopGUI Premium v5.0.0 max-sell will require to be set to -1 instead of 1 to allow insta sells.
pages:
pages1:
items:
Item6:
material: STONE_CUTTER
max-sell: 5 # Will only allow you to sell 5 items at a time
buy: 5
sell: 2.5
Min buy:
Sets a minimum amount of items which have to be bought per transaction
Note that the minimum buy amount will also set the default stack-size of the item, though, unlike setting the stack-size option on the item manually, this will not change the item price
pages:
pages1:
items:
Item5:
material: ARROW
min-buy: 20
buy: 0.2
sell: 0.08
Min sell:
Sets a minimum amount of items which have to be sold per transaction
Example: Trying to sell 3 slime balls while the
min-sell
option has been set to 5, will not sell the slime balls
Note that the minimum buy amount will also set the default stack-size of the item, though, unlike setting the stack-size option on the item manually, this will not change the item price
pages:
pages1:
items:
Item5:
material: SLIME_BALL
min-sell: 5
buy: 0.2
sell: 0.08
Prior lore:
Sets whether or not to prioritize item lore above default pricing lore
When enabled, will prioritize item lore defined with lore or displaylore
When disabled, the item's pricing lore will be displayed on top of item lore
This defaults to false
pages:
pages1:
items:
Mob5:
material: SPAWNER
spawner-type: SKELETON
buy: 8000
displaylore:
- "&c--------------"
- "&2A magic block which can spawn skeletons"
- "&c--------------"
prior-lore: true # Displaylore will be above the pricing lore
Close menu:
Will close the shop GUI when this item has been purchased/sold
pages:
pages1:
items:
Test1:
material: STONE
buy: 40
stack-size: 128
max-buy: 1 # Will enable quick-buy
close-menu: true # Closes the menu when purchased
Display Items:
Display items are different then the actual item received upon buying/selling
Can be used to create a misleading shop item to trick players into buying a completely different item
pages:
pages1:
items:
misleading_shopitem:
material: APPLE
buy: 2
sell: 0.5
displaylore:
- '#FFC400&lA delicious apple'
display-item:
material: GOLDEN_APPLE
displayname: '#FFC400&lA delicious apple'
Requirements:
Sets a list format of requirements for this specific shop item
A player requires to meet all item requirement before they will be able to purchase/sell the item
Multiple requirements can be used on a single shop item, making it required for the player to meet all of the requirements
Since different requirements with the same type may have a different meaning from each other, especially placeholder requirements, it is possible to set the lore/denied message per item requirement!
Example of custom lore for a specific requirement:
<requirementType>::<requirementValue>::<customLore>
The custom lore is shown on a shop item to let the player know they didn't met the item requirement
Multiple lore lines can be created using '\n', example:
PLACEHOLDER::%player_biome%==SWAMP::&cYou are not in the correct biome\n&cThis item requires to be inside a %requirement% biome
Example of custom denied message for a specific requirement:
The custom denied message is send to the player upon clicking the shop item
A custom denied messsage is only supported on placeholder type requirements
<requirementType>::<requirementValue>::<customLore>::<customMessage>
A list of currently supported requirements is as follows:
World time
Requires the time of the world the player is located in, to be inside the specified time range
TIME::<minTime>-<maxTime>
TIME::08:00-14:45
Quest
Requires the player to complete a quest from a supported Quest plugin *1
QUEST::<questID>
QUEST::bones-quest1
Region
Requires the player to be in a certain region from a supported region plugin *2
REGION::<regionID>
REGION::warp_shop
*1 - Currently supported Quest plugins are Quests by PikaMug and Quests by LMBishop
*2 - Currently supported region plugins are WorldGuard
pages:
pages1:
items:
9:
material: SPAWNER
spawner-type: BLAZE
displaylore:
- "&aA advanced spawner only experienced players can use"
buy: 1000000
sell: 250000
slot: 13
requirements:
- "QUEST::firstAdventurer" # Requires the player to complete the 'firstAdventurer' quest
- "TIME::22:00-06:00" # Requires the world time to be between 10PM and 6AM
- "LEVEL::35" # Requires a minimum level of 35
- "REGION::warp_shop" # Requires the player to be insidee the shop warp
- "PLAYTIME::15m" # Requires a minimum playtime of 15 minutes
- 'PERMISSION::!essentials.fly' # Checks if the player doesn't already have the 'essentials.fly' permission node
- 'PLACEHOLDER::%player_biome%==SWAMP' # Requires the player to be inside a SWAMP biome
- 'PLACEHOLDER::%votingplugin_total_daily%!=0' # Requires the player to have voted atleast once
Ominous strength
Sets the ominous strength for a Ominous Bottle added in the 1.20.5 update
Possible strengths are 1-5
pages:
pages1:
items:
1:
material: OMINOUS_BOTTLE
ominous-strength: 5
buy: 265
sell: 25
Premium only item keys:
Skull texture:
Unlike the
skull-owner
item option, this option will apply a skull texture to the item from a base64 hash.You can find several custom head textures over here: https://minecraft-heads.com/custom-heads
pages:
pages1:
items:
1:
material: PLAYER_HEAD
skull-texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTU3YTU4NTdiZGFhYTBjNDZmYTMyN2RjNWVhYmZiYWRlNjVkMGJjMWZkYTg0NWZhMDE0ODZjYjBlYTZjNDczMCJ9fX0=
buy: 1.0
name: "§a§lMr. §c§lSwamp Monster"
Components:
components
is a Single-Line custom field for defining highly specific data on an item that you defineThe
components
option specifies the NBT of the item for 1.20.5 and above server versionsWhen using the NBTData option for items on older server version, it will be automatically converted to the new format of components from 1.20.5 and above
You may manually convert NBT to components here: https://nbt-converter.gpplugins.com/
#Example Nbt item:
pages:
pages1:
items:
1:
material: potion
displayname: '&d&lPotion with the effects from a &6God Apple'
name: '&d&lGod potion'
buy: 25000
sell: 2000
components: '{"minecraft:potion_contents":{custom_effects:[{amplifier:2,duration:400,id:"minecraft:regeneration"},{amplifier:4,duration:2400,id:"minecraft:absorption"},{amplifier:1,duration:6000,id:"minecraft:resistance"},{amplifier:1,duration:6000,id:"minecraft:fire_resistance"}]}}'
#if ' are used in the data tags, you must use it TWICE inside the tag to 'escape' it and have it read by the code as a single ` on it's own.
#Ex: tags:{customtags:[{''tag'':''value''}]}
NBT Data:
NBTData
is a Single-Line custom field for defining highly specific data on an item that you definePlease consult the minecraft wiki documentation and resources of your choice to generate this information.
A line of NBTData that contains double quotes ("
)and NO single quotes needs to start and end with a single quote Example: '{Enchantments:[{id:"knockback",lvl:50},{id:"sharpness",lvl:10}]}'
But when there are single quotes ('
) located inside the NBTData, you will need to duplicate each single quote Example: ...''{display:{Name:''{"text":"...
#Example Nbt item:
pages:
pages1:
items:
1:
material: potion
displayname: '&d&lPotion with the effects from a &6God Apple'
name: '&d&lGod potion'
buy: 25000
sell: 2000
NBTData: '{CustomPotionEffects:[{Id:10,Amplifier:2,Duration:400},{Id:22,Amplifier:4,Duration:2400},{Id:11,Amplifier:1,Duration:6000},{Id:12,Amplifier:1,Duration:6000}]}'
#if ' are used in the data tags, you must use it TWICE inside the tag to 'escape' it and have it read by the code as a single ` on it's own.
#Ex: tags:{customtags:[{''tag'':''value''}]}
Minecraft chat has a max character length of 255 characters. if you use commands to add this anything after this will be lost. If you need to add nbt data longer than this, please edit your YML file directly
Commands:
buy-commands
andsell-commands
are a list of commands that is executed when the item is bought or sold by a player.click-commands
is a list of commands that will be executed when the player clicks a shop item to enter the transaction screenCommands can also be delayed for a specific time after initial transaction.
Additionally using item option
giveItem: true
on a item with a buy command will make it so the command(s) get executed AND the player will receive the item itselfAdditionally using item option
requireItem: true
on a item with a sell command will make it so the player requires the item in their inventory in order to execute the command AND the item will be takenDifferent placeholders can be used inside the command:
%player%
: The player name purchasing/selling the item.%uuid%
: The player UUID purchasing/selling the item.%quantity%
: The amount of items which were purchased/sold%price%
: The price which is deducted from the player's balance upon purchasing/selling this item%buyPrice%
: The current buy price of this shop item.%sellPrice%
: The current sell price of this shop item.
When the command starts with
p:
it will be executed as the player purchasing the commandWhen the command starts with
o:
it will be executed as the player having temp OP
Note that o: will give the player temp OP and this could be exploited. It is highly recommended that you give the player temp permissions using a permissions plugin like LuckPerms instead!
#Example Command item:
pages:
pages1:
items:
1:
material: "GOLD_INGOT"
displayname: "&8&lGet rich or unlucky."
buy: 1000000
sell: 250000
giveItem: true
click-commands:
- "40::o:/playsound entity.ender_dragon.growl ambient" # Plays the sound effect 2 seconds after clicking the shop item
buy-commands:
- "/minecraft:give %player% diamond 2"
- "/minecraft:give %player% emerald %quantity%" #This command gives out emeralds based on the amount of times the shop item was purchased
- "p: repair hand" # This command is executed as the player
- "o: i netherite_ingot 5" # This command is executed as the player having temp OP
requireItem: true
sell-commands:
- "20::/minecraft:give %player% MILK_BUCKET 1" # Will be delayed by 1 second
- "eco reset %player%" # This command will get executed as the console
- "effect give %player% minecraft:nausea 255 255"
Delayed commands:
Buy or sell commands can be executed a specified time after the item has been bought/sold by a player. These commands are called delayed commands.
The format of delayed commands is
<delayInTicks>::<command>
Example:
6000::/broadcast This command is delayed by 5 minutes.
Delayed commands are saved over server restart, this allows the command to be executed weeks after initial trigger.
When the server is offline when a delayed command should have been executed, the command will be rescheduled to execute when the server next comes online.
Delayed commands cannot be executed if the player is offline, meaning that a command using p:
or o:
can only successfully execute if the player is online.
If a delayed command is scheduled to run as the player, but are not online when the delay ends, the command will be cancelled.
Global stock:
stock-limit-global:
Specifies the amount of stock this item has available to purchase for the whole server.auto-restock-global:
Adds a time that starts to count down when the item is out of stock and should refill when the time ends.auto-restock-global-frequency:
Adds a scheduler with a timed interval which will restock the global stock limit at the specified time.refill-stock:
Will make the amount of stock left inside the shop refill when the item gets sold.
See the limited items page for more info on sell limits.
pages:
pages1:
items:
1:
material: NETHERITE_PICKAXE
name: '&6&lUnbreakable Netherite pickaxe'
displaylore:
- '&aThis pickaxe also has efficiency 15.'
buy: 1850000
sell: 999000
enchantments:
- 'EFFICIENCY:15'
NBTData: '{Unbreakable:1b}'
stock-limit-global: 2 # This item can only be purchased twice on the server
auto-restock-global: '2d' # This will make the item restock EVERY 2 days on your server
refill-stock: true
Player stock:
stock-limit-player:
Specifies the amount of items that there are in stock for each player individually to purchase.auto-restock-player:
Adds a time that starts to count down when the item is out of stock for a player for the item.auto-restock-player-frequency:
Adds a scheduler with a timed interval which will restock the player stock limit for all players at the specified time.refill-stock:
Will make the amount of stock left inside the shop refill when the item gets sold.
See the limited items page for more info on sell limits.
pages:
pages1:
items:
2:
material: EXPERIENCE_BOTTLE
displayname: '&e&lGet 50 levels in minecraft.'
buy: 25000
displaylore:
- '&cDo you want 50 levels?'
commands:
- 'minecraft:experience add %player% 50 levels'
stock-limit-player: 1 # Each player on the server can purchase this item once
auto-restock-player: '7d 12h' # This item will be restocked for each player individually every week and 12 hours
refill-stock: true
Global sell limit:
sell-limit-global:
Specifies the global sell limit for the whole server.auto-restock-global-sell:
Adds a time that starts counting down as soon as the sell limit is reached which will restore the sell limit after it completes.auto-restock-global-sell-frequency:
Adds a scheduler with a timed interval which will restore the global sell limit at the specified time.
See the limited items page for more info on sell limits.
pages:
pages1:
items:
Special1:
material: BOOKSHELF
buy: 116.81
sell: 29.21
sell-limit-global: 5
auto-restock-global-sell: 30s
Player sell limits:
sell-limit-player:
Specifies the player sell limit for each player seperatly.auto-restock-player-sell:
Adds a time that starts counting down as soon as the sell limit is reached which will restore the sell limit after it completes.auto-restock-player-sell-frequency:
Adds a scheduler with a timed interval which will restore the player sell limit for all players at the specified time.
See the limited items page for more info on sell limits.
pages:
pages1:
items:
Special2:
material: BOW
sell: 700
enchantments:
- 'POWER:5'
sell-limit-player: 10
auto-restock-player-sell: 10m
Economy:
economy:
Specifies a specific economy/currency to use for this item.
When this option is not specified or the provider couldn't be loaded, the item will use the section's default economy, when the section's economy is not specified or unable to load it will try to use the default economy.
pages:
pages1:
items:
Special3:
material: ENCHANTED_GOLDEN_APPLE
buy: 10 # Item will cost 10 gems
sell: 5 # Item is sell-able for 5 gems
economy: ULTRA_ECONOMY:Gems
Permission:
permission:
allows you to set a per item permission.Players who do not have this permission are not allowed to buy/sell this item.
Also see the PERMISSION requirements which allow custom permissions without the ESGUI prefix and third party permissions.
Note that as of v5.24 of the premium version, the seperate permissions are children of the shop permission and will automatically behave the same (They do not need to be set separately to give players permission to sell items in sellall and sellgui if they have permission to sell the items in the shop). They can still be specifically set seperate from the shop permission if desired.
Similar to shop section permissions, item permissions are split into 5 different nodes for extra customization:
EconomyShopGUI.shop.<section>.item.<permission>
Allow this item to be bought/sold via the shop menu
EconomyShopGUI.sellall.<section>.item.<permission>
Allows the
/sellall all
command to sell this item
EconomyShopGUI.sellallitem.<section>.item.<permission>
Allows the
/sellall item
command to sell this item
EconomyShopGUI.sellallhand.<section>.item.<permission>
Allows the
/sellall hand
command to sell this item
EconomyShopGUI.sellgui.<section>.item.<permission>
Allows the
/sellgui
command to sell this item
The permission is only the sub part of the full permission, for default the defined permission will be prefixed with EconomyShopGUI.shop.<section>.item.<permission>
pages:
pages1:
items:
Special4:
material: NETHERITE_SWORD
buy: 25 # Item will cost 25 emeralds
sell: 7 # Item is sell-able for 7 emeralds
economy: ITEM:Emerald
enchantments:
- "SHARPNESS:3"
- "UNBREAKING:3"
- "MENDING"
name: "&d&lGod's gift"
lore:
- "&aA mighty sword which"
- "&aonly god's hands can control."
permission: gods-gift # This will automatically translate to the permission:
# 'EconomyShopGUI.shop.Special_Items.item.gods-gift'
Permission requirement:
Sets whether the player requires the item permission
When disabled, allows players to purchase this item without needing the permission. But players will not be able to purchase the item if they already have the permission.
When enabled(default), requires the player to have this permission in order to purchase the item. This is the same as not setting this option at all.
Requires a item permission to be set
Note that when this item option is set to false, it is required to manually give the player the permission using buy commands(like the example below) because the permission requirement option won't do this! If the player doesn't receive the permisision after first purchasing the item, they can buy it over again and this won't work.
In the example below, the item can only be purchased once to give the player access to /warp dungeon
pages:
pages1:
items:
unlockable_item:
material: GUNPOWDER
NBTData: {CustomModelData:1003}
buy: 40
economy: LEVELS
name: "&2&lDungeon key"
lore:
- '&bPurchase to get access to /warp dungeon'
close-menu: true # Closes the GUI after the player has purchased the item
permission: dungeon_access
permission-requirement: false
buy-commands:
- 'lp user %player% permission set essentials.warps.dungeon true'
- 'lp user %player% permission set economyshopgui.shop.<section>.item.dungeon_access true'
Hide util lore:
Defines whether or not to hide the limited item stock lore and/or limited sell lore
pages:
pages1:
items:
Special4:
material: NETHERITE_SWORD
buy: 25 # Item will cost 25 emeralds
sell: 7 # Item is sell-able for 7 emeralds
economy: ITEM:Emerald
enchantments:
- "SHARPNESS:3"
- "UNBREAKING:3"
- "MENDING"
name: "&d&lGod's gift"
lore:
- "&aA mighty sword which"
- "&aonly god's hands can control."
stock-limit-player: 1 # Each player can only buy this item once in its lifetime
hideUtilLore: true # Players will not be able to see that they can buy this item only once
Dynamic pricing:
enabled:
Allows to enable or disable dynamic pricing for this item
Note that this only allows to disable DP for this item, you will have to enable global dynamic pricing for this to work.
max-stock:
The same as the DP max stock setting inside the config.yml, but instead this will strictly define the rate at which prices change when players buy/sell THIS SPECIFIC ITEM instead of having a max stock setting based on the item's price.
This is known to be more precise, lower values mean faster price changes compared to higher values.
pages:
pages1:
items:
Item14:
material: GOLD_NUGGET
name: '&6&lCoin'
lore:
- '&cUsed to purchase ingame ranks'
buy: 40
sell: 20
dynamic-pricing:
enabled: false
max-stock: 1000
Buy prices:
Used to add multiple payment options to a signle item
Economy types and the actual price are split using double colons (
::
).Example:
item:material:gold_nugget
::
80
where80
is the amount/price of gold nuggets
The first payment option inside the list is used as the item's default payment option, meaning when someone tries to buy the item, it will default to this payment option.
Using option
require-all: true
makes it so that ALL buy prices are required to buy a itemWhen this is
false
(or not set), this will give the player the option to choosse which payment method they use to buy the specific item.
pages:
pages1:
items:
11:
material: MAGMA_CREAM
buy-prices:
require-all: true
prices:
- "Vault::40"
- "item:material:diamond id:CRYSTAL::2"
- "item:material:emerald id:Gems::30"
- "item:material:gold_nugget id:Gold::5"
sell: 30
Description from example above: Players need $40, 5 Gold Nuggets, 2 Diamonds AND 30 emeralds to buy the item
pages:
pages1:
items:
12:
material: GHAST_TEAR
buy-prices:
prices:
- "ULTRA_ECONOMY:Gems::15"
- "VAULT::40"
- "item:material:emerald id:CRYSTAL::5"
sell: -1
Description from example above: Players need 15 Gems from UltraEconomy, $40 OR 5 emeralds(aka crystals) to buy the item
Players can cycle thru the payment methods by right clicking the CONFIRM_TRANSACTION item inside the buy (stacks) screen.
Sell prices:
Used to add multiple sell prices to a signle item
Economy types and the actual price are split using double colons (
::
).Example:
ULTRA_ECONOMY:Gems
::
15
where15
is the amount/price of the Gems currency inside Ultra Economy
The first payment option inside the list is used as the item's default sell price, meaning when someone sells the item, it will default to this payment option.
Using option
give-all: true
makes it so that ALL sell prices are are given to the player once the item is soldWhen this is
false
(or not set), upon selling a item to the store the first sell price is used as default.When selling the item thru
/sellall
or/sellgui
and this option is false, the first sell price in the list will be used to give to the player.When selling the item thru
/shop
and this option is false, the player will be given the option to change the payment type by right clicking the CONFIRM_TRANSACTION item.
pages:
pages1:
items:
13:
material: LEATHER
buy: 50.0
sell-prices:
give-all: true
prices:
- "Vault::40"
- "item:material:diamond id:CRYSTAL::2"
- "item:material:emerald id:Gems::30"
Description from example above: Players will recieve $40, 2 Diamonds AND 30 emeralds for selling the item
pages:
pages1:
items:
14:
material: RABBIT_HIDE
buy: 50.0
sell-prices:
prices:
- "Vault::40"
- "item:material:redstone::50"
Description from example above: Players will recieve $40 OR 50 redstone for selling the item
If the item is sold thru
/sellgui
or/sellall
, the first payment type from the list of sell prices will be used to pay out the player.
Ignored tags:
Ignored NBT Tags are usefull for sold items which should be sold whether value is specified.
For example when the Enchantments
tag has been added to the ignored tag list, players will be able to sell items regarding the enchantments the item has.
If only the Enchantments tag is added, the item's material, name, lore and any other meta data the item has still needs to match with the ShopItem in order to successfully sell it.
In the example Recycle Shop below, players will be able to sell all the trash leahther armor regardless of the item enchantments or how far it has been damaged dropped by zombies while still getting a little bit of money for it while selling these items.
pages:
pages1:
items:
1:
material: LEAHTER_HELMET
sell: 1.5
ignored-tags:
- "Enchantments"
- "Damage"
2:
material: LEAHTER_CHESTPLATE
sell: 2.5
ignored-tags:
- "Enchantments"
- "Damage"
3:
material: LEAHTER_LEGGINGS
sell: 2
ignored-tags:
- "Enchantments"
- "Damage"
4:
material: LEAHTER_BOOTS
sell: 1
ignored-tags:
- "Enchantments"
- "Damage"
Transaction Message:
Whether to send a transaction message to the player and DiscordSRV(If enabled) when a shop item has been bought/sold from the shop
If this option is disabled, transaction messages won't be send to the player and DiscordSRV hook but will still log inside the console and the transaction-log.txt
Default value is
true
pages:
pages1:
items:
Test2:
material: MOSSY_COBBLESTONE
buy: 15
transactionMessage: false
Display chance:
Specifies a custom display chance for this item
Specifying the display chance of only one item for example, will make the plugin try to automatically assign a display chance to all other items in this section. So you won't need to bother to reach a sum of 100%
In a case where a rotating shop with a total of 10 configured items, has only one item with a specific display chance of 20%, the plugin will give all other 9 items a display chance of (100-20)/9=8.88%
Altough the file strucure of a rotating shop is different as normal shop category's, all items in a rotating shop work the same way. And so, they can also have limited stock, dynamic pricing, discounts, sell multipliers, season multipliers, ... and all available item options
Unlike a regular shop category, a rotating shop requires a different config structure to work! Click the expandable block below to show a example of a complete shops file.
items:
FIREWORK_1:
material: FIREWORK
duration: 3
buy: 500
display-chance: 10 # 10 Percent chance to display every interval
Item Flags:
Gives the shop item a item flag(s) which are used to hide default lore for a item stack
For example the default enchantment lore on enchanted items can be hidden using item flags
Note that the list below might not be up-to-date, see a official list here
A list of available item flags:
ALL
| *
Placeholder to add all items flags to the item, hiding all default lore on the item
HIDE_ENCHANTS
Hides the default lore on enchanted items
HIDE_ATTRIBUTES
Hides item attributes like damage
HIDE_UNBREAKABLE
Hides the default lore on unbreakable items
HIDE_DESTROYS
Hides the default lore on items that can break/destroy only specific items
HIDE_PLACED_ON
Hides the default lore on items that can only be placed on specific blocks
HIDE_ADDITIONAL_TOOLTIP
Combines all above settings(Hides different default lore like enchantments, firework, banner patterns, map tooltips, potion effects, book information)
HIDE_DYE
Hides the default lore on custom colored leather armor
HIDE_ARMOR_TRIM
Hides the default lore on armor pieces with custom armor trims
pages:
pages1:
items:
CustomArmor:
material: LEATHER_CHESTPLATE
name: '&c&lVIP++ Armor'
buy: 2500
sell: -1
armorcolor: "#44FF00"
enchantments:
- "UNBREAKING:10"
- "PROTECTION:15"
- "BLAST_PROTECTION::15"
- "FIRE_PROTECTION:15"
- "PROJECTILE_PROTECTION:15"
- "THORNS:10"
item-flags:
- 'HIDE_DYE'
- 'HIDE_ENCHANTS'
CustomModelData:
Sets the CustomModelData of the item
pages:
pages1:
items:
VIP_sword:
material: DIAMOND_SWORD
buy: 99.0
sell: 9.0
CustomModelData: 1004
Level requirement: *Deprecated
Please note that this option has been replaced with the requirements option
Specifies the required level to buy/sell this shop item.
pages:
pages1:
items:
1:
material: "NETHERITE_CHESTPLATE"
buy: 4500
name: "&9&lTier &cIII &9&larmor"
enchantments:
- "excellentenchants:fire_shield:3"
- "protection:5"
- "fire_protection:5"
- "mending"
level-requirement: 10
display-lore:
- "&a&lYou will unlock this item at level 10"
- "&a&lYou are currently level %player_level%"
Last updated
Was this helpful?