Config.yml

You will learn step by step what every option of the regular config file means and how to configure them.

General Settings:

Config version:

The first option you will see in the regular config of the plugin is the config-version: <version>. This is the version of the config. Do not change this unless told to do so by support staff, if you do, you may break the plugin and have to reset or delete your shop files to default files generated by the plugin.

config-version: 2.0.0.0
# WARNING: Do not change this value as this might end up in a plugin that does not work!!

Language option:

Here you can change the language file you are using. The default language file is English but if you want to use the German language file for example, set the value to language-file: lang-de.yml because the language file is called lang-de.yml. List of all language files and more info available on the Language page here.

#---------------------------------------Language--------------------------------------------------------
# Here you can change the language of the plugin.
language-file: lang-en.yml
# See this link for all available language files: https://app.gitbook.com/@gpplugins/s/economyshopgui/economyshopgui-configuration/regular-config.yml-configuration#language-option

Locale option:

Please check your language file to set the currency symbol. This setting only formats the commas(,)/periods(.).

The locale option currently only works with formatting the prices. But that doesn't say its unhelpful. The locale option takes a BCP-47 language tag as input. You can find valid BCP-47 tags here You can see the difference with or without a locale here.

#----------------------------------------Locale---------------------------------------------------------
# This is the locale of the plugin.
# Currently its only used to format the prices.
locale: en-US
# Note: This is not the locale at which messages will be translated, see the above option for that.
# The locale is set in BCP 47 language tag.
# See this website for some example BCP 47 language tag you can use: https://appmakers.dev/bcp-47-language-codes-list/

Currency format:

This option allows to customize the format of currency.

Example "#,##0.#####" will show up to five digits after the seperator, while "#,##0.##" is the default format.

# Currency format
currency-format: "#,##0.##"

Abbreviations:

Use amount abbreviations(shortcuts) in display prices.

For example 5,420 -> 5.4k, 7,084,651 -> 7m, ... and so on. You may use this site for inspiration: https://crusaders-of-the-lost-idols.fandom.com/wiki/Large_Number_Abbreviations

abbreviations:
  enabled: true
  # This list is processed from top to bottom
  # Each entry in the list represents a shorthand notation for a certain magnitude,
  # with magnitudes increasing by a factor of 1000 as you move down the list
  formats:
  - 'k'
  - 'm'
  - 'b'
  - 't'
  - 'q'

Update checking:

This option allows you to disable update checking on startup or reload of the plugin. Sometimes when there is a sever issue with spigot or with your internet connection, this can take a while and maybe you do not have the time to wait for the plugin to make a connection to the server so you can disable this option.

#-----------------------------------------------Updates-------------------------------------------------

# This option enables or disables the automatic checking of updates for the plugin on startup or reload of the plugin
update-checking: true

Debug mode:

When debug mode is set to true, error messages pertaining to invalid or miss-configured items will be printed to console on server startup (check your latest.log!) We recommend leaving it set to true to aid in troubleshooting. It prints nothing to console if there are no issues.

#---------------------------------------DebugMode-------------------------------------------------------
# Set this value to false to disable debug mode and do not send debug messages to the console.
debug: true
# NOTE: The console may get spammed when debug mode is enabled.

Storage: *Premium only

SQLite:

SQLite databases are local databases, meaning they're stored inside the plugins folder like a regular plugin config, it doesn't require any configuration for it to work either.

# Select the storage type which should be used
# Valid options are 'MySQL' and 'SQLite'
storage-type: SQLite

MySQL:

MySQL allows multiple servers to connect to one database instance. So for example when a player is allowed to only purchase 4 of a specific item using limited stock, and they buy three of these items in the survival server, they will only be able to purchase 1 more of that item in any other server inside your network.

Display cache:

Display cache allows to use database caching for MySQL when using dynamic pricing/limited stock which will save database load overtime. The cache will only be used for item lore in shop pages, it will not be used for actual transactions to prevent data incosistancy between servers.

# Configure this to use MySQL
mysql:
  # The name of the database
  database: database
  # The host where this database is hosted
  host: localhost
  # The port of the database connection
  port: 3306
  # The username
  username: root
  # The password
  password: password
  # Display cache for dynamic pricing/limited stock
  display-cache: 5m
  # Configure the pool settings if needed, if you don't know what this is then just leave it to the default settings
  pool:
    maximum-lifetime: 1800000
    idle-timeout: 600000
    maximum-pool-size: 10
    minimum-idle: 10

ShopStands module:

ShopStands is a module within EconomyShopGUI which allows the creation of physical shops which link to one specific ShopItem from /shop, get rid of the ugly sign shops on your server! See more info here.

shop-stands: false
# ShopStands is a separate module of the plugin, so when disabled, 
# it will completely disable this feature and its listeners

(ShopStands are disabled by default)

Transactions:

Transaction log:

Using the transaction-log: true setting you may disable/enable the plugin logging transactions to a text file, this can be usefull for identifying price exploits or just which item is the most populair in your store.

#---------------------------------------------Transactions----------------------------------------------

# Whether transactions should be logged to a text file
transaction-log: true

Transactions database:

The transaction database uses extensive logging of shop transactions on your server, which is useful for getting indept insights.

The transactions database can be exported into a web version using command /eshop logs export , which makes it really easy to visualize the economy on your server and is a great way for finding price exploits.

# Whether the transaction history should be stored inside a database
advanced-transaction-log: true

Banned gamemodes:

Disallow certain gamemodes from using the shop, defaults to gamemode creative and spectator.

# Players will not be able to buy/sell items, nor use /sellall and /sellgui while inside any of the below gamemodes
# Possible values: ADVENTURE, CREATIVE, SPECTATOR and SURVIVAL
banned-gamemodes:
  - CREATIVE
  - SPECTATOR
# This behavior can be overridden with the 'EconomyShopGUI.bypassgamemode' permission for specific players

When a gamemode has been added to this list, it will still allow players to browse /shop but are not allowed to buy/sell items.

Disabled Commands in Worlds:

It is possible to disable certain ESGUI commands in certain worlds, you will need this option for that. First you will need to enable the enable-disabled-worlds: true option for it to work. Once it is enabled you can list every world's name under the command that you want disabled there. In the default config generated with ESGUI there are already some examples that could be used if the option is enabled.

#---------------------------------------DisabledCommandsInWorlds----------------------------------------
# The setting below enables or disables the disabled commands inside certain worlds feature
# When this option is true, the commands that are added to the world inside the list below will be disabled
enable-disabled-worlds: false
# List of commands with disabled worlds
# Each command has its own list of worlds that will be disabled.
# If a command is not added or the list with worlds for the specified command is empty,
# the command will work in every world.
disabled-worlds-per-command:
    shop:
    - 'creative'
    balance:
    - 'world'
    givemoney:
    - 'world'
    - 'boss_fights'
    sellall:
    - 'randompvp'
    editshop:
    - 'boss-fights'
    - 'Survival-Spawn'
# NOTE: Commands disabled inside worlds with the feature above will still be registered inside the server,
# meaning that a command still can conflict with the same command from another plugin.

Providers:

Economy provider:

Allows you to change the default economy/currency provider which EconomyShopGUI uses.

  • VAULT = Vault is the default economy provider. Vault needs a economy plugin such as Essentials or CMI(Using Vault injector) to work.

  • COINS_ENGINE = CoinsEngine(Formally known as GamePoints) is a multi currency economy provider which support MySQL

  • PLAYER_POINTS = PlayerPoints is a advanced economy provider which supports MySQL but does not support decimal prices such as other economy providers.

  • GEMS_ECONOMY = GemsEconomy is a economy provider which supports multiple currencies and also supports MySQL databases if you need it. This plugin has not been updated in several years and is to be used with caution, as there won't be any support should it stop working.

  • VOTING_PLUGIN = Points used by VotingPlugin

  • ULTRA_ECONOMY = UltraEconomy is a modern multi currency economy provider which supports multiple currencies and a MySQL storage type.

  • ZESSENTIALS = Alternative Essentials plugin suppoting multiple currencies

  • TNE = TheNewEconomy is a multy currency economy provider which supports MySQL *Premium only feature

  • ECOBITS = EcoBits is a premium, modern multi currency economy provider which supports multiple currencies *Premium only feature

  • EXP = Raw experience points used to enchant items

  • LEVELS = Experience levels used within the base game *Premium only feature

  • ITEM:<item> = Specific item economy, see this page on how to create custom item currency's *Premium only feature

#--------------------------------------------EconomyProvider--------------------------------------------

# The default economy provider used
# Available values are 'VAULT', 'PLAYER_POINTS', 'GEMS_ECONOMY', 'ULTRA_ECONOMY', 'LEVELS' and 'ITEM:material:<item>'
# Additionally when using GemsEconomy or UltraEconomy you may use a different currency using 'GEMS_ECONOMY:<currency>' or 'ULTRA_ECONOMY:<currency>'
# See this page on how to create custom item currency's: https://wiki.gpplugins.com/economyshopgui/basics/how-to#how-to-create-custom-item-economys
economy-provider: ULTRA_ECONOMY:vip

Currency formats:

A currency format exists of three parts, the currency singular/plural form which are shown as the buy/sell price lore for items and the currency's friendly name which is used to call the currency in language messages send to the player. Each individual 'part' so to call, can be configured differently from each other.

See this for an example of how the config looks like for custom currency formats for the Vault currency, the Gems currency from UltraEconomy and a custom item economy with a custom id of Bullets.

currency-formats:
  ultra-economy:Gems: # Gems currency from UltraEconomy
    singular: "Gem" # Displayed like: 'Buy Price: 1 Gem'
    plural: "Gems" # Displayed like: 'Buy Price: 5 Gems'
    friendly: "Gems" # Displayed like: 'You do not have enough Gems'
  vault: # Vault economy provider
    singular: "%currency-symbol%" # Displayed like: 'Buy Price: $1'
    plural: "%currency-symbol%" # Displayed like: 'Buy Price: $5'
    friendly: "money" # Displayed like: 'You do not have enough money'
  item:Bullets: # Custom item economy using ID 'Bullets'
    singular: "Bullet" # Displayed like: 'Buy Price: 1 Bullet'
    plural: "Bullets" # Displayed like: 'Buy Price: 5 Bullets'
    friendly: "Bullets" # Displayed like: 'You do not have enough Bullets'
  coins-engine:Cash2: # Cash2 currency from coins-engine
    format: "#,##0.#" # Displays the currency with only 1 decimal point(overrides the default)
    abbreviations:
      enabled: true# Overrides the default setting for all currency's
      formats:
      - 'KK'
      - 'MM'
      - 'BB'

Spawner provider:

This option allows you to set the spawner provider that ESGUI uses.

  • DISABLED = Disables the spawner provider entirely, the same as disabling the spawner break and place events seperatly.

  • DEFAULT = This is the default spawner provider inside the plugin configured below, when this option is used, you can mine or break spawners with the settings inside the config without any external spawner provider. This option also allows you to use MineableSpawners but you will need to disable the spawner break event inside ESGUI.

  • AUTO = Attempts to automatically detect a supported plugin. If no plugin from the list below is found, it defaults to DEFAULT mode.

  • SILKSPAWNERS = SilkSpawners is an external spawner provider that has more features to customize/configure the experience with spawners on your server.

  • SILKSPAWNERSV2 = SilkSpawners is a lightweight plugin to make spawners mineable.

  • WILDSTACKER = WildStacker is an external spawner provider/stacking plugin, WildStacker allows you to upgrade spawners and make them better.

  • ULTIMATESTACKER = UltimateStacker is an external spawner provider that can stack items, spawners and mobs.

  • ROSESTACKER = RoseStacker is an external spawner provider that can stack items, spawners and mobs.

  • MINEABLESPAWNERS = MineableSpawners is an external spawner provider that has more features to customize/configure the experience with spawners on your server.

  • SPAWNERMETA = SpawnerMeta is an external spawner provider with advanced features, it allows to stack and upgrade spawners.

  • SPAWNERLEGACY = SpawnerLegacy is the premium version of SpawnerMeta which has more upgrades and in general more customizeable features.

  • SMARTSPAWNER = SmartSpawner is a spawner provider which allows stacking of spawners and storing the drops inside the spawner's inventory

  • EPICSPAWNERS = EpicSpawners is an external spawner provider that allows you to stack spawners and create custom spawners with tiers. *Premium only feature

  • UPGRADEABLE_SPAWNERS = UpgradeableSpawners is an external spawner provider that allows to upgrade spawners. *Premium only feature

#--------------------------------------------SpawnerProvider--------------------------------------------
# DISABLED = This will disable both spawner place and break event which disables the spawner provider
# DEFAULT = The default spawner provider inside ESGUI
# SILKSPAWNERS = An external spawner provider
# WILDSTACKER = An external spawner provider that can stack/upgrade spawners
# ULTIMATESTACKER = An external spawner provider that can stack spawners
# ROSESTACKER = An external spawner provider that can stack spawners
# MINEABLESPAWNERS = An external spawner provider
# SPAWNERMETA = An external spawner provider that can stack/upgrade spawners
# EPICSPAWNERS = An external spawner provider that can stack/upgrade spawners
# UPGRADEABLE_SPAWNERS = An external spawner provider that can stack spawners
spawner-provider: EPICSPAWNERS
# NOTE: When there is no spawner provider set, the default will be used

Player Transactions:

Log Player transactions:

This will log player transactions to console when a player has sold/bought a item. This is really handy if you want to keep track on what you're players are buying/selling, or if you accidentally made an exploit in the shop prices, you can more easily find what players are buying or selling a lot of.

#---------------------------------------PlayerTransactions----------------------------------------------
# When this option is set to true, every time a player sells/buys something from the server, it will output it in the console.
# This way the server owner or staff can see when a item is bought/sold many times or control/correct prices and exploits in the shop.
log-player-transactions: true
# Set to false to disable this.

Drop remaining items on ground:

When this option is disableddrop-remaining-items-on-ground: false the plugin will fill the player's inventory as much as it can (if applicable), and the remaining items will be cancelled. The player will only pay for, and receive the amount of items that fit inside the inventory.

When set to drop-remaining-items-on-ground: true, the plugin will drop all items that didn't fit in the player's inventory.

# Should we drop the remaining items on the ground when the players inventory is full?
drop-remaining-items-on-ground: false
# When this option is false, the plugin will only give the items that fit inside the inventory and the remaining items will be cancelled. The player will only pay for the amount of items that fit inside the inventory.
# Warning: When this option is true, players could lag out your server by buying an insane amount of items that fall on the ground!

Use item name:

This option sets wether to use the shop item displayname inside shop transaction messages or the material name

# When purchasing a item from shop, should the transaction message say which material was sold/bought from shop or should it be the item name?
use-item-name: true
# When this is false, purchasing/selling a item to shop will cause the message in chat use the material name of the item instead of the item name to let the player know what has been sold/bought

Bedrock

There are various options inside the plugin to make Bedrock support better.

When using a proxy server, you will need to setup Floodgate on your backend server to correctly comminucate with your proxy.

Resize GUI

Since the limitations of Bedrock clients. Any GUI size different then a half/full sized inventory would make the bedrock client fill in the left over rows with barrier items. There for, enabling this feature will resize any GUI to a full sized inventory.

resize-gui-for-bedrock: true

Pre register skulls

Since the limitations of Bedrock clients not being able to render textured player heads, this feature uses Geyser to create a custom resource pack for any connected bedrock player which will make it possible for Bedrock players to view textured player heads.

The add-non-bedrock-items: true option needs to be enabled inside the config.yml of Geyser for this to work(Enabled by default)

pre-register-skulls: true

Bedrock player profile

Since the limitations of Bedrock clients not being able to render textured player heads, and the feature above not rendering the player profile of bedrock players in navigation bars, this feature adds a custom player profile when enabled.

Meaning when using a navigation bar item with skullowner: "%player_name%"(player profile), which creates a skull with the player's texture. While Java players will still be able to visually see this item with their skin texture applied, duo to bedrock limitations, bedrock players will see the custom player profile when this feature is enabled instead.

When disabled, bedrock players will see the same item as Java players but duo to limitations for Bedrock clients, they will see the regular steve head.

custom-bedrock-player-profile:
  enabled: true
  item:
    material: GOLD_INGOT
    name: "%player_displayname%"
    lore:
      - "%translations-money%: &c%player_balance%"

DiscordSRV Hook

The DiscordSRV hook allows you to send shop transactions directly to a discord channel without using the API of EconomyShopGUI.

# The DiscordSRV hook allows you to log transaction directly to a discord text channels in your guild when someone makes a transaction
enable-discordsrv-hook: true

The channel configured to log shop transaction to, also needs to exist as a logging channel inside the config.yml of DiscordSRV. See their documentation on how to add channels.

Available placeholders:

  • %translations-discord-srv-transaction% - The translated message inside the language file

  • %player_name% - The player triggering the transaction

  • %bought/sold% - Either 'bought' or 'sold'

  • %amount% - The amount of items used in this transaction

  • %items% - The item names used in this transaction

  • %price% - The total price for all items used in this transact

# Configure the message sent to a channel when a transaction is made
discordsrv-transactions:
  channel: shop-transactions
  raw: ""
  embed:
    color: "0x006FFF"
    title: ""
    description: ""
    author:
      title: "New shop transaction"
      imageURL: "%player_skull_texture%"
    fields:
      1:
        title: "Player"
        message: "```%player_name%```"
      2:
        title: "Mode"
        message: "```%bought/sold%```"
      3:
        title: "Amount"
        message: "```%amount%```"
      4:
        title: "Product(s)"
        message: "```%items%```"
      5:
        title: "Price"
        message: "```%price%```"
    footer:
      title: ""
      imageURL: ""

Dynamic Pricing: *Premium fearure

Dynamic pricing is like the name suggests a feature where the prices of items can drop or rise in value depending on demand and supply for the specific item.

Take for example emeralds in your shop: If demand is high, and players start buying emeralds, the price will increase as there will be less items inside the market. On the other hand, when players start selling emeralds, the price will drop again as more items will be inside the market.

This setting will enable dynamic pricing in the shop for every section/every item.

dynamic-pricing:
  enabled: false

Save period:

The save period acts as a fallback which saves the cache to database every set period to prevent data loss caused by server crashes.

Note though, this is only available when the database type is SQLite, since when using MySQL, the data is directly saved to database instead of writing to cashe!

  save-period: 1h

Price scaling:

A percent for the minimum/maximum sell price for all items depending on demand and supply. For example with a 20% sell scaling and the $250 sell price of the emerald from above, the minimum sell price for this item would be $200 when demand is high and the maximum would be $300 when more items are sold to shop.

  sellPriceScaling: 20

A percent for the minimum/maximum buy price for all items depending on demand and supply. For example with a 30% buy scale and the $750 buy price of the emerald from above, the minimum buy price for this item would be $525 when the item gets sold alot and maximum would be $975 when demand is high for this item.

  buyPriceScaling: 30

Stock settings:

When items are bought/sold from shop, the plugin tracks this data, which is called stock. Ofcourse this stock can't be seen or won't limit purcahses, so we call it virtual stock.

The maximum (virtual) stock a item can have. When a item has more (virtual) stock, the price will increase/decrease more when items are bought/sold. On the other hand, when items have less (virtual) stock, their prices will increase/decrease slower when bought/sold.

  max-stock: 250

Default is 250 which means that the item needs to be sold/bought 125 times before the minimum price(defaultPrice - priceScaling) or maximum price(defaultPrice + priceScaling) is reached. Expensive items(items with overall high prices) in shop will reach their minimum/maximum prices quicker compared to cheaper items. This behavior makes sure dynamic pricing is random per item depending on their overall price in the shop.

Tip: It is possible to change the maxStock setting per section or per item to have different effects

The minimum amount of (virtual) stock a item can have

  min-stock: 10

Price restoration:

When price restoration is enabled, items using a dynamic price, will restore to their original prices overtime whenever the price went up/down.

  price-restoration:
    # When enabled, shop items with a dynamic price, will automatically restore prices back to their original price(prices configured in config) in a configurable time frame
    enabled: true
    # The time frame the plugin will check for dynamic price restoration
    frequency: 5m
    # The percent at which the price will raise/drop towards the original price every configured frequency(default 5 minutes)
    percent: 1.0
    # Whether the plugin should log in console when an item's dynamic price has fully restored to its original price
    logging: false

Inventory's:

Allows to change the size of the main menu in rows, one row exists of 9 slots. Thus setting the value to 3 for example, creates a GUI of 27 slots to put shop category's in and 1 row that is reserved for the navigation bar.

# Possible values: 2 | 3 | 4 | 5 | 6
# Note that the navigation bar also is 1 row(unless disabled)
main-menu:
  gui-rows: 3

The fill item will fill any blank space inside the main menu, unless disabled.

# The fill item for inside the main menu which will fill empty spots
main-menu:
  fill-item:
    enable: true
    material: "RED_WOOL"
    name: " "
    lore:
    - '&aIgnore this'

Click mappings:

It is possible to set different actions for specific click types on shop items. The configured mappings inside the config.yml are default for every shop, unless specifically specified inside the section config.

# Possible actions: BUY, SELL, SELL_ALL
# Possible click types: LEFT, SHIFT_LEFT, RIGHT, NONE
click-mappings:
  BUY: LEFT
  SELL: RIGHT
  SELL_ALL: SHIFT_RIGHT

Item Settings:

Bought items lore:

Configured lore for shop items can optionally be set to never be on bought items. If this is set to false, when a player buys the item, it will no longer have any of its configured lore.

#---------------------------------------ItemSettings----------------------------------------------------
# Enable/disable the lore on items given to players when a item is bought from shop
bought-items-lore: true

Allow Unsafe enchants:

Allows or disallows enchantments(on items and enchanted books) greater then the maximum level in default Minecraft. true will allow levels greater than vanilla, false will revert any over-max level enchant to it's normal maximum value (ex: Unbreaking 10 will give Unbreaking 3).

# Allows enchants greater than the max level in vanilla Minecraft
allow-unsafe-enchants: true

Allow Illigal stacking:

The allow-illegal-stacks option prevents item stacks from having a bigger stack size then the default. An example would be a ender pearl which from default can only be stacked to 16 but setting this option to true allows the ender pearl to stack up to 64.

On 1.20.5+ servers the items will also stack up to 64 if enabled, even if the max stack size is 16 for example. (This only happens within the transaction screens, but when the item is purchased by the player, it will respect the original stack size inside the inventory again)

# This option will toggle whether non-stackable/over-stacked items are allowed inside the shop
# When having troubles with illegal-stack plugins and this plugin, disable this option to limit item stacking to their natural stack size to prevent future issues
allow-illegal-stacks: true

Allow renamed items:

The allow-renamed-items option allows/disallows the selling of items that are renamed.

When this is false, the items that are sold to the shop need to have the same name as the shop items displayed in shop.

# Allows items with a different name to be sold to the shop
allow-renamed-items: true

Allow lore items:

The allow-lore-items option controls whether or not the sold items to the shop need to have matching lore.

When this is set to false, the items that are being sold to shop need to have matching lore with the shop item.

# Allows items with different lore to be sold to the shop
allow-lore-items: true

Match meta

Matching item meta is crucial to allow different items to be sold with different names, lore, enchantments, spawnertypes, potion types, stew effects, ... and any other custom item which doesn't match the item material.

match-item-meta: true

Lore arrangement:

The lore arrangement option allows to arrange shop item lore completely. Display lore is seperated into 6 different(9 for premium) parts so to call, each part can be arranged from each other in a different order.

It is possible to move/reorder the list to your likings, for example, in the default layout buy prices will always appear above the sell prices lore. To change this, simply move the 'buy-prices' entry beneath the 'sell-prices' entry which will display the sell prices lore above the buy prices lore for all items.

Default order of lore:

  1. Special lore

    • Contains seasonal pricing lore

    • Contains lore for item requirements like levels, item permssions.

  2. Buy prices

    • Contains lore for buy prices

  3. Item requirements *Premium feature

    1. Lore for item requirements

  4. Sell prices

    • Contains lore for sell prices

  5. Decoration lore

    • Contains additional buy/sell lore which is added to shop items with buy/sell prices

  6. Item lore

    • Contains the item lore itself/the lore configured for this shop item

  7. Item stock *Premium feature

    • Contains lore for limited item stock

  8. Sell limit *Premium feature

    • Contains lore for limited sell items

  9. Admin lore

    • Contains item index lore

    • Contains item editor lore

lore-arrangement:
- 'special-lore'
- 'buy-prices'
- 'sell-prices'
- 'decoration-lore'
- 'item-lore'
- 'item-stock'
- 'sell-limit'
- 'admin-lore'

Sold Items Ignore NBT Tags:

A list of data tags that will be ignored when selling items to the shop/server. Certain items get extra data tags added to them when placed or used and then cannot be sold to the shop anymore.

To prevent this, you can add data tags to this list to ignore the values stored within them.

  • Any other Component/NBT tag on the item attempting to be sold will block that item from being sold if those additional tags are not exactly replacted by an item defined in the shops configuration

    • ex: if you have a diamond_pickaxe in the shop with efficiency:3, and the player adds silk_touch to it. And there is no diamond_pickaxe with efficency:3 AND silk_touch defined in the shop(s), it cannot be sold to the server

  • RepairCost is the tag Mojang uses in an anvil to track repair/enchant cost.

  • [Empty Shulker boxes get additional tags assigned to them when placed/used, will update this with those later]

# The NBT Tags listed below will be ignored when a item gets sold to the shop
# For example:
# When a tool/armor is damaged it cannot be sold to the server by default, if you add the 'Damage' tag to the list below. A damaged item can be sold to the shop
sold-items-ignored-NBTtags:
- 'RepairCost'
- ''
# The 'RepairCost' tag is added by default since all items that get repaired by anvil/mending will get it, if we don't add it to the ignored list, a item repaired will not be able to be sold to the server

Update components: *Premium

Since Minecraft often changes the structure/edits the names of components(Previously NBT data) across Minecraft versions, this option allows the shop to detect whenever your configs have been updated from a older version of the game to a newer version which will automatically update the components item option of shop items, navigation bar, option items, ...

auto-update-components: true

Max Pages:

Specify the maximum number of pages a shop should calculate up too: (Note: there is a hardcoded max of 100 pages. anything over this is a ridiculous number of items to try to load.

# Set the limit for maximum pages inside a shop section, default is 50 but you can expand it to 100 if needed
max-page-size: 50
# Note: 50 pages is already a limit of 2250 items(50 * 45) inside one shop section which will most likely never be used

Seasonal pricing

Seasonal pricing adds support for RealisticSeasons making it possible to add/remove a certain price modifier per season from the item or whole section.

# In combination with the plugin RealisticSeasons, you are able to add price modifiers for items per season
enable-seasonal-pricing: false

Modifiers

Modifiers are a percent of the price which is added/removed during a specific season. It is possible to add modifiers for a specific shop item only or a complete section with the underlying shop items.

season-price-modifiers:
  Spring:
    # Increased amount of flowers in Spring
    Dyes: "-50%"
    # Increased amount of mobs spawn in Spring
    Food: "-25%"
    # No ice will spawn in Spring
    Blocks:6: "+50%"
    # Increased amount of Sheeps spawn in Spring
    Spawners:26: "-25%"
    # Increased amount of Cows spawn in Spring
    Spawners:10: "-25%"
    # Increased amount of Rabbits spawn in Spring
    Spawners:25: "-25%"
    # Increased amount of Chickens spawn in Spring
    Spawners:8: "-25%"
    # Players will require Leather armor to warm up
    Farming:15: "+30"
  Summer:
    # Most crops/plants will grow twice as fast in Summer
    Farming: "+35%"
  Fall:
    # Increased amount of Mooshrooms spawn
    Spawners:20: "-50%"
    # Increased amount of frogs spawn
    Spawners:13: "-50%"
    # Increased amount of Spiders spawn
    Spawners:31: "-40%"
    # Increased amount of Cave Spiders spawn
    Spawners:7: "-25%"
    # Increased amount of Red Mushrooms spawn
    Farming:24: "-75%"
    # Increased amount of Brown Mushrooms spawn
    Farming:7: "-75%"
    # Increased amount of foxes spawn
    Mobs:18: "+25%"
  Winter:
    # Increased amount of Ice will spawn
    Blocks:6: "+50%"
    # Increased amount of Wolves will spawn
    Spawners:35: "-50%"
    # Most crops/plants won't grow in Winter
    Farming: "-20%"
    # Players will require Leather armor to warm up
    Farming:15: "+45"

Seasonal lore

Seasonal lore appears on shop items, letting the player know there is a special price for the item because of the current season. Each season has its own icon and will be displayed differently.

seasonal-lore:
  enabled: true
  Summer:
    icon: '&e&l☀'
  Spring:
    icon: '&6&l🌱'
  Fall:
    icon: '&c&l🍂'
  Winter:
    icon: '&b&l❄'
Summer season
Fall season

Discounts

Discounts are a list of multiple shop sections with each a different set of discounts, each shop section can hold different groups with each a percentage of the amount of the discount.

Players with the permission node EconomyShopGUI.discounts.<group> inside your permissions system will then get the specified discount for the whole shop section.

# Enable or disable discounts inside the shop
enable-discounts: false
# Here you can set all discounts active inside the shop
# Every entry is a shop section that holds the permission nodes with their discounts
discounts:
  # Section blocks
  Blocks:
    # Players with the permission node EconomyShopGUI.discounts.vip inside your permissions system will get 20% discount on every item inside this section.
    vip: 20
    # Players with the permission node EconomyShopGUI.discounts.gold inside your permissions system will get 2.5% discount on every item inside this section.
    gold: 2.5
  Farming:
    vip: 15
  Redstone:
    diamond: 30
  all: # Players with the permission 'EconomyShopGUI.discounts.lucky' will get a 1% discount on every item inside the shop
    lucky: 1
# If a player has for example access to 2 permission discounts inside the same shop section, the group with the highest discount will be active

Sell multipliers

Sell multipliers are a list of multiple shop sections with each a different set of multipliers, each shop section can hold different groups with each a percentage of the amount of the multiplier.

Players with the permission node EconomyShopGUI.sell-multipliers.<group> inside your permissions system will then get the specified multiplier for the whole shop section.

# Enable or disable sell multipliers
enable-sell-multipliers: true
# Configure this option to use sell multipliers
# Every entry is a shop section that holds the permission nodes with its multipliers
sell-multipliers:
  all:
    # Players with the permission 'EconomyShopGUI.sell-multipliers.vip' will get an 20% multiplier on any item
    vip: 20
    # Players with the permission 'EconomyShopGUI.sell-multipliers.gold' will get an 2.5% multiplier on any item
    gold: 2.5
    # Players with the permission 'EconomyShopGUI.sell-multipliers.coal' will get an 1% multiplier on any item
    coal: 1
  Spawners:
    # Players with the permission 'EconomyShopGUI.sell-multipliers.gold' will get an extra 10% multiplier in this section
    gold: 12.5
# If a player has for example access to 2 sell multipliers inside the same shop section, the multiplier with the highest value will be active

Command Settings:

Commands:

Set a command to false to disable the command in ESGUI. For example if you the shop command to false, players will not be able to use /shop in your server. (this includes all it's sub commands: ie: /shop <section>) If set to true, the command will work.

Note: the /sell command is NOT part of ESGUI. It is part of Essentials (integration TBD)

#-----------------------------------------------Commands------------------------------------------------
# These are the commands included in EconomyShopGUI
# Set an command to true to enable it, and set an command to false to disable it.
commands:
    sellall: true
    shop: true
    sreload: true
    editshop: true
    sellgui: true

Command aliases:

These settings allow you to change the command name or add aliases for an command. For example this can be used to make the /shop command work when a player uses /market.

# Set different aliases for the main shop command, defaults to /shop if empty
shop-commands:
  - "shop"
# - "market"

# Set different aliases for the sellall command, defaults to /sellall if empty
sellall-commands:
  - "sellall"

# Set different aliases for the sellgui command, defaults to /sellgui if empty
sellgui-commands:
  - "sellgui"

Global GUI Settings:

Option items:

These settings can be changed to customize the items in the transaction screens, as many items as you like are allowed in the GUI.

  • menu-size: - Sets the menu size in rows

  • fill-item: - Creates a item which automatically fills the empty slots within the GUI

    • See more info here on all the item options you may use for fill items

Available item options:

  • material: - Specifies the item type

  • slot: - Specifies the slot of the item inside the GUI

  • stack-size: - Specifies the stack size of the item

    • Also specifies the buy/sell quantity when using action 'INSTA_BUY'/'INSTA_SELL'

  • name: - Specifies the item name

  • lore: - Specifies the item lore

  • skull-owner: Specifies a skull owner

  • type: - The item type, mostly internal use

    • Available item types: SELECTED_ITEM, ACTION, CONFIRM

  • skullowner: - Specifies the owner of the player head

  • skull-texture: - Specifies a custom skull texture *Premium feature

  • NBTData: - Specifies the NBT data for the item(1.8-1.20.4) *Premium feature

  • components: - Specifies the NBT data for the item(1.20.5+) *Premium feature

  • commands: - The commands executed when the player clicks the item *Premium feature

    • You may use the %player% placeholder

    • The action of the item needs to be set to COMMAND for this to work

  • CustomModelData: - Sets the CustomModelData of the item *Premium feature

  • action: - Action upon clicking items

    • Available actions: REMOVE32, REMOVE16, REMOVE1, ADD1, ADD16, ADD32, CONFIRM_TRANSACTION, SELL_ALL, OPEN_BUYSTACKS, CLOSE, COMMAND, INSTA_BUY, INSTA_SELL

Item actions:

  • INSTA_BUY/INSTA_SELL

    • Instantly completes the transaction of the set amount using option stack-size

  • REMOVE32, REMOVE16, REMOVE1, ADD1, ADD16, ADD32

    • Adds/removes the amount to the current selected amount of items

  • CONFIRM_TRANSACTION

    • Completes the current transaction with the selected amount

  • SELL_ALL

    • Sells all of the selected item in the player's inventory

  • OPEN_BUYSTACKS

    • Opens the buy stacks screen

  • CLOSE

    • Closes the GUI and discards the transaction

  • COMMAND *Premium feature

    • Executes the list of commands specified using the commands option

Example from configuration below
# Buy screen
buy-screen:
  menu-size: 6
  items:
    1:
      material: magenta_stained_glass_pane
      name: '%translations-min-thirty-two%'
      stack-size: 32
      action: REMOVE32
      slot: 29
    2:
      material: magenta_stained_glass_pane
      name: '%translations-min-sixteen%'
      stack-size: 16
      action: REMOVE16
      slot: 20
    3:
      material: magenta_stained_glass_pane
      name: '%translations-min-one%'
      action: REMOVE1
      slot: 21
    4:
      material: light_blue_stained_glass_pane
      name: '%translations-plus-one%'
      action: ADD1
      slot: 23
    5:
      material: light_blue_stained_glass_pane
      name: '%translations-plus-sixteen%'
      stack-size: 16
      action: ADD16
      slot: 24
    6:
      material: light_blue_stained_glass_pane
      name: '%translations-plus-thirty-two%'
      stack-size: 32
      action: ADD32
      slot: 33
    7:
      material: ender_pearl
      name: '%translations-buy%'
      lore:
      - '%translations-transaction-screen-total-price%'
      action: CONFIRM_TRANSACTION
      slot: 13
      type: CONFIRM
    8:
      slot: 31
      type: SELECTED_ITEM
      lore:
      - '§5x %amount%'
    9:
      material: STRUCTURE_VOID
      name: '%translations-buy-stacks%'
      slot: 39
      action: OPEN_BUY_STACKS
    10:
      material: BARRIER
      name: '&cAbort'
      slot: 41
      action: BACK
    
    # Fill items
    FillGrayTopLeftCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 0-3,9,18
    FillOrangeTopLeftCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 10
    FillGrayTopRightCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 6-9,17,26
    FillOrangeTopRightCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 16  
    FillGrayBottemRightCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 51-54,44,35
    FillOrangeBottemRightCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 43
    FillGrayBottomLeftCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 45-48,27,36
    FillOrangeBottemLeftCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 37

# Sell screen
sell-screen:
  menu-size: 6
  items:
    1:
      material: magenta_stained_glass_pane
      name: '%translations-min-thirty-two%'
      stack-size: 32
      action: REMOVE32
      slot: 29
    2:
      material: magenta_stained_glass_pane
      name: '%translations-min-sixteen%'
      stack-size: 16
      action: REMOVE16
      slot: 20
    3:
      material: magenta_stained_glass_pane
      name: '%translations-min-one%'
      action: REMOVE1
      slot: 21
    4:
      material: light_blue_stained_glass_pane
      name: '%translations-plus-one%'
      action: ADD1
      slot: 23
    5:
      material: light_blue_stained_glass_pane
      name: '%translations-plus-sixteen%'
      stack-size: 16
      action: ADD16
      slot: 24
    6:
      material: light_blue_stained_glass_pane
      name: '%translations-plus-thirty-two%'
      stack-size: 32
      action: ADD32
      slot: 33
    7:
      material: ender_pearl
      name: '%translations-sell%'
      lore:
      - '%translations-transaction-screen-total-price%'
      action: CONFIRM_TRANSACTION
      slot: 13
      type: CONFIRM
    8:
      slot: 31
      type: SELECTED_ITEM
      lore:
      - '§5x %amount%'
    10:
      material: BARRIER
      name: '&cAbort'
      slot: 41
      action: BACK
      
    # Fill items
    FillGrayTopLeftCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 0-3,9,18
    FillOrangeTopLeftCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 10
    FillGrayTopRightCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 6-9,17,26
    FillOrangeTopRightCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 16
    FillGrayBottemRightCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 51-54,44,35
    FillOrangeBottemRightCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 43
    FillGrayBottomLeftCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 45-48,27,36
    FillOrangeBottemLeftCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 37

# Buy stacks screen
buy-stacks-screen:
  menu-size: 6
  items:
    1:
      material: magenta_stained_glass_pane
      name: '%translations-min-thirty-two%'
      stack-size: 32
      action: REMOVE32
      slot: 29
    2:
      material: magenta_stained_glass_pane
      name: '%translations-min-sixteen%'
      stack-size: 16
      action: REMOVE16
      slot: 20
    3:
      material: magenta_stained_glass_pane
      name: '%translations-min-one%'
      action: REMOVE1
      slot: 21
    4:
      material: light_blue_stained_glass_pane
      name: '%translations-plus-one%'
      action: ADD1
      slot: 23
    5:
      material: light_blue_stained_glass_pane
      name: '%translations-plus-sixteen%'
      stack-size: 16
      action: ADD16
      slot: 24
    6:
      material: light_blue_stained_glass_pane
      name: '%translations-plus-thirty-two%'
      stack-size: 32
      action: ADD32
      slot: 33
    7:
      material: ender_pearl
      name: '%translations-buy%'
      lore:
      - '%translations-transaction-screen-total-price%'
      action: CONFIRM_TRANSACTION
      slot: 13
      type: CONFIRM
    8:
      slot: 31
      type: SELECTED_ITEM
      lore:
      - '§5x %amount%'
    10:
      material: BARRIER
      name: '&cAbort'
      slot: 41
      action: BACK
      
    # Fill items
    FillGrayTopLeftCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 0-3,9,18
    FillOrangeTopLeftCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 10
    FillGrayTopRightCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 6-9,17,26
    FillOrangeTopRightCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 16
    FillGrayBottemRightCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 51-54,44,35
    FillOrangeBottemRightCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 43
    FillGrayBottomLeftCorner:
      material: GRAY_STAINED_GLASS_PANE
      name: ' '
      slot: 45-48,27,36
    FillOrangeBottemLeftCorner:
      material: ORANGE_STAINED_GLASS_PANE
      name: ' '
      slot: 37

shopstand-buy-screen:
  menu-size: 1
  items:
    1:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-buy%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 1
      hideDefaultLore: true
      action: INSTA_BUY
      slot: 0
    2:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-buy%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 4
      hideDefaultLore: true
      action: INSTA_BUY
      slot: 1
    3:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-buy%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 10
      hideDefaultLore: true
      action: INSTA_BUY
      slot: 2
    4:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-buy%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 16
      hideDefaultLore: true
      action: INSTA_BUY
      slot: 3
    5:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-buy%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 32
      hideDefaultLore: true
      action: INSTA_BUY
      slot: 4
    6:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-buy%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 64
      hideDefaultLore: true
      action: INSTA_BUY
      slot: 5
    7:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-buy%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 128
      hideDefaultLore: true
      action: INSTA_BUY
      slot: 6
    8:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-buy%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 256
      hideDefaultLore: true
      action: INSTA_BUY
      slot: 7
    9:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-buy%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 512
      hideDefaultLore: true
      action: INSTA_BUY
      slot: 8

shopstand-sell-screen:
  menu-size: 1
  items:
    1:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-sell%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 1
      hideDefaultLore: true
      action: INSTA_SELL
      slot: 0
    2:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-sell%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 4
      hideDefaultLore: true
      action: INSTA_SELL
      slot: 1
    3:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-sell%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 10
      hideDefaultLore: true
      action: INSTA_SELL
      slot: 2
    4:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-sell%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 16
      hideDefaultLore: true
      action: INSTA_SELL
      slot: 3
    5:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-sell%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 32
      hideDefaultLore: true
      action: INSTA_SELL
      slot: 4
    6:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-sell%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 64
      hideDefaultLore: true
      action: INSTA_SELL
      slot: 5
    7:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-sell%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 128
      hideDefaultLore: true
      action: INSTA_SELL
      slot: 6
    8:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-sell%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 256
      hideDefaultLore: true
      action: INSTA_SELL
      slot: 7
    9:
      material: '%selected_item%'
      name: '%translations-shopstand-click-to-sell%'
      lore:
      - '%translations-shopstand-total-price%'
      stack-size: 512
      hideDefaultLore: true
      action: INSTA_SELL
      slot: 8

Visual transaction limits:

Visual transaction limits help the player visually see when the min/max amount of the item they can purchase/sell within the transaction screens by selecting the amount using the ADD/REMOVE buttons has been reached by updating the buttons

The min/max amounts are defined by either the max/min buy/sell limits of the item, or the maximum stack size of the shop item

visual-transaction-limits:
  # The action to take when min/max amount is reached
  # Valid actions are NONE, RENAME, REMOVE
  # RENAME will rename the item buttons, whereas REMOVE will remove the button from the transaction screen for the time the limit is reached
  action: REMOVE
  # If disabled, the ADD/REMOVE buttons will not change (depending on the action specified above) for the initial amount of the item only,
  # where the initial amount is the amount which is preselected when first opening the buy/sell screens
  # When enabled, for example a unstackable item will not show or have renamed ADD/REMOVE buttons even if the user did not click any buttons
  initial-amount: true

These settings allow you to change the navigation bars(bottom row) of a GUI which carry the buttons like next/prev page. These can however be disabled which allows to create your own nav bar.

There are 6 seperate navigation bars you can modify differently from each other.

  • The main GUI located in /shop

  • Shop screens, which apply for all shops unless overriden per shop in the sections config

  • The sell GUI located in /sellgui

  • The transaction menus (Buy/sell and buy stacks screen)

  • The navigation bar used for transaction screens opened by ShopStands

  • Shop search navigation bar used in /shop search *Premium feature

Example of a customized main menu navigation bar

General options:

  • enabled: - A boolean to enable/disable this navigation bar

  • fill-item: - Creates a item which automatically fills the empty slots within the navigation bar

    • See more info here on all the item options you may use for fill items

Available item options:

  • material: - Specifies the item type

  • slot: - The slot within the navigation bar, must be a number between 1-9

  • name: - Specifies the item name

  • lore: - Specifies the item lore

  • skullowner: - Specifies a skull owner

  • paginated: - Can be used on next/prev page buttons

    • enabled: Whether the paginated option is enabled (Default for prev/next page buttons)

    • orElse: - Configures the item to use when the main item isn't displayed

      • All item options are accepted, if not specified it will use the fill item

  • skull-texture: - Specifies a custom skull texture *Premium feature

  • NBTData: - Specifies the NBT data of the item (1.8-1.20.4) *Premium feature

  • components: - Specifies the NBT data of the item (1.20.5+) *Premium feature

  • commands: - The commands executed when the player clicks the item *Premium feature

    • The action of the item needs to be set to COMMAND for this to work

    • You may use the %player% placeholder

  • CustomModelData: - Sets the CustomModelData of the item *Premium feature

  • action: - Action upon clicking items

    • TOGGLE_MODE, PAGE_BACK, PAGE_NEXT, BACK, CLOSE

    • Premium only: COMMAND, CHANGE_SEARCH_MODE, CYCLE_CURRENCY, SEARCH

# The navigation bar that appears in the main menu
main-menu-nav-bar:
  enabled: true
  fill-item:
    material: GRAY_STAINED_GLASS_PANE
    name: ' '
  items:
    player_profile:
      material: player_head
      slot: 1
      skullowner: '%player_name%'
      name: '%player_name%'
    back_button:
      material: barrier
      slot: 9
      name: '%translations-cancel%'
      action: BACK

# The navigation bar that appears in every shop category
shops-nav-bar:
  enabled: true
  fill-item:
    material: GRAY_STAINED_GLASS_PANE
    name: ' '
  items:
    player_profile:
      material: player_head
      slot: 1
      skullowner: '%player_name%'
      name: '%player_name%'
    page_back_button:
      material: red_stained_glass_pane
      slot: 4
      name: '%translations-previous-page%'
      action: PAGE_BACK
      paginated:
        enabled: true
        orElse:
          material: structure_void
          name: '&cNo previous page to go to'
          action: NONE
    current_page:
      material: paper
      slot: 5
      name: '%translations-current-page%'
    page_next_button:
      material: blue_stained_glass_pane
      slot: 6
      name: '%translations-next-page%'
      action: PAGE_NEXT
      paginated:
        enabled: true
        orElse:
          material: structure_void
          name: '&cNo next page to go to'
          action: NONE
    back_button:
      material: barrier
      slot: 9
      name: '%translations-back%'
      action: BACK

# The navigation bar that appears in the buy/sell screens and the buy stacks screen
transaction-screen-nav-bar:
  fill-item:
    material: GRAY_STAINED_GLASS_PANE
    name: ' '
  items:
    player_profile:
      material: player_head
      slot: 1
      skullowner: '%player_name%'
      name: '%player_name%'
    back_button:
      material: barrier
      slot: 9
      name: '%translations-back%'
      action: BACK
      
# The navigation bar that appears in the /sellGUI screen
sellgui-nav-bar:
  fill-item:
    material: GRAY_STAINED_GLASS_PANE
    name: ' '
  items:
    info-item:
      material: NETHER_STAR
      slot: 5
      name: "&a&lSellGUI"
      lore:
        - "&6Drop items in to sell"
        - "&6upon closing, everything will be sold."
        - "&eItems that couldn't be sold"
        - "&ewill be given back to you."

Disable back button:

Some server owners may want to setup their shop so player(s) must click on a NPC/shop stand to open a specific shop section, but not go back to the main shop menu. If so, it is possible to disable the back button in some cases.

#------------------------------------DisableBackButton--------------------------------------------------
# Disables the ability to go back to the previous shop menu
disable-back:
  # When enabled, the back button will be disabled on direct shop command(/shop <section>)
  direct-shop-command: false
  # When enabled, the back button will be disabled on direct shop command executed from console(/shop <section> <player>)
  # Useful for NPC shops which are opened using /shop <section> <player> to prevent the player returning to the main menu
  direct-shop-command-console: false
  # When enabled, the back button won't be usable for any subsections located inside any shops with a disabled back button
  sub-sections: false

Global Messages:

Player Join Message:

Do you want ESGUI to send a special join message when players join the server? Set this to true to enable this feature, false to disable. This join message can be configured with the joinmessage: setting. You can use minecraft color codes with in this message.

Note: This sentence must always begin and end with a double-quote character.

#---------------------------------------JoinMessage-----------------------------------------------------
# Here you can enable or disable the JoinMessage
enable-joinmessage: false

Level event:

If enabled you can set the amount of money a player will get when he reaches levels 5, 10, and 15 by changing the amount behind the option: leveleventmoney5/10/15: And you can set the money for reaching level 20, 25 and 30 respectively: leveleventmoney20/25/30: The message sent to the player is the levelevent-message:, you may change this message to whatever you like. Color codes are supported.

#-----------------------------------------------LevelEvent----------------------------------------------
# Here you can enable or disable the LevelEvent
enable-levelevent: false
# Here you can set the amount of money a player gets when he is level 5, 10, 15
leveleventmoney5/10/15: 10
# Here you can set the amount of money a player gets when he is level 20, 25, 30
leveleventmoney20/25/30: 50

Spawner Settings:

Spawner events:

Break event:

When enable-spawnerbreak: true is enabled, you can mine spawner-blocks with a pickaxe and the spawner with the entity will be returned to the player breaking it. Set to false to disable this within ESGUI. (advanced compatibility and troubleshooting)

Place event:

If enable-spawnerplace: is set to false, then you will not be able to place spawners and assign the correct mob to them with ESGUI.

# If you set this to 'false' you can only place spawners that are bought, you won't be able to get them back with an (Silk Touch) pickaxe.
enable-spawnerbreak: true

# When this option is set to false, you will no longer be able to place spawners bought from the shop with the EconomyShopGUI spawner system.
enable-spawnerplace: true

Spawner settings:

Spawner EXP:

player-placed-spawners-drop-exp: false is disabled by default to prevent EXP duping from constantly re-placing the block. vanilla Minecraft gives some EXP when it is broken.

# This option will disable/enable the XP dropped when a spawner is broken.
player-placed-spawners-drop-exp: false

Change spawner type:

This option defaults to false

This option allows you to disable players changing the spawner using spawn eggs.

# This option disallows players to right-click a spawner with a spawn egg to change its spawned type when disabled
allow-spawner-type-change: false

Spawner Break Tools:

These settings allow you to change which tools are allowed to break a spawner and drop it. This allows you to set a unlimited amount of allowed tools

The enchantments option allows you to give the tool multiple enchantments, the tool must have ATLEAST the enchantments set. Meaning that when the pickaxe, stick, ... has more/higher enchantments then set, the spawner will still be dropped.

Note: These are the internal ESGUI spawner-break/place settings and do not apply if 3rd party plugin compatibility is enabled/working ie: SlikSpawners, UltimateStacker, ...)

# Set the items that are allowed to break a spawner
# If a spawner gets broken with another item then listed here, the spawner will not be given to the player
spawner-break-tools:

  1:
    material: DIAMOND_PICKAXE
    enchantments:
    - "SILK_TOUCH"
  2:
    material: IRON_PICKAXE
    enchantments:
    - "SILK_TOUCH"
    - "EFFICIENCY:2" # This means that the pickaxe needs ATLEAST efficiency 2 for a spawner to be mined
  3:
    material: NETHERITE_PICKAXE
    enchantments:
      - "SILK_TOUCH"

Last updated

Was this helpful?