🛠️Configuration files
The plugin generates the following configuration files, some of which will only be generated after you first use this feature.
datas: The location for storing plugin data files. It will only be generated without using a database. Do not modify any content here.items: The location for storing saved item files.languages: The location for storing language files. You can set the language file used by the plugin through theconfig-files.languageoption in theconfig.ymlfile. You can customize various messages within the plugin game through language files. It is not supported to display the corresponding language file based on the player client language. You can only display the same language for all players.menus: The location for storing menu configuration files.
shops: The location for storing shop configuration files.random_placeholders: The loaction for storing random placeholder configuration files.conditional_placeholders: The location for storing conditional placeholder configuration files.sell_sticks: The location for storing sell stick configuration files.config.ymlfile: The location for main common settings for plugins.generated-item-format.ymlfile: When using the/shop generateeitemformatcommand, we will parse the item you are holding into an ItemFormat and store the parsed ItemFormat content in this file.XX_xx.jsonfile: Localized files automatically generated through Localized Item Name feature. The name of this file is determined based on the localized language you have set for this feature, but it usually ends in.json.XX.txtfile: The transaction record file generated by the Log Transaction feature is named using thelog-transaction.fileoption in theconfig.ymlfile.
Config.yml file content
It is recommend that you view this file at GitHub, becuase Wiki's config.yml maybe not latest. Click here to view this file on Github.
# UltimateShop by @PQguanfang
#
# Read the Wiki: ultimateshop.superiormc.cn
# Some options require restart the server to make effect.
debug: false
config-files:
language: en_US
force-parse-mini-message: true
# Premium version only.
minecraft-locate-file:
# After enable, we will autoload Minecraft locate file when we need know an item's locate name.
# It will make server little lag when loading this file because this file is very large.
enabled: false
generate-new-one: false
file: 'zh_cn.json'
cache:
# If you are facing multi servers sync issue, try greater this value.
load-delay: 7
sell:
# Support Value: Bukkit or ItemFormat.
# For each product, you can add match-item section to make custom sell match method, for more info, please view Wiki.
sell-method: Bukkit
# Only support ItemFormat sell method.
item-format:
require-same-key: false
ignore-key:
- 'lore'
- 'damage'
- 'enchants'
- 'tool.damage-per-block'
- 'nbt.string.CustomNBTKey'
sell-all:
ignore-items:
# Format: Shop ID;;Item ID
- 'hideshop;;A'
sell-stick:
# The min value here is 5, if you set value less than 5, we will auto set the cooldown to 5 tick.
# In ticks.
cooldown: 5
display-calculate-multiplier: true
# Support value: LEFT, RIGHT and LEFT;;RIGHT
# Do not change this value unless you are know what you are doing!
click-type: RIGHT
max-amount: 128
give-item:
# Support value: BUKKIT, SMART
# SMART will cost more server performance but will follow the vanilla max stack to give player item, also support check full.
give-method: BUKKIT
# Only support SMART give method.
check-full: false
menu:
# If enabled, products will auto be hidden in quickbuy & quicksell command, sell all if they are not display in shop menu.
secret-shop-items: true
# Recommend use when you are running big server, it will make player no longer quickly click
# and reopen shop menu to make sure UltimateShop not lag your server.
# In ticks.
cooldown:
click: -1
reopen: -1
ignore-click-outside: false
shop:
# Whether shop menu will refresh every 1 second.
# This will refresh placeholder that displayed in display item lore.
# But maybe lead to server lag if you have much online players, and they are all opening shop GUI.
update: false
# Whether shop menu will refresh every click in it.
# This will refresh placeholder that displayed in display item lore.
# But maybe lead to server lag if you have much online players, and they are all opening shop GUI.
click-update: false
sell-all:
size: 54
title: '&fSell All &7- Esc to confirm sell!'
black-slots: []
# Premium version only
bedrock:
enabled: true
# Support value: FLOODGATE, UUID
check-method: FLOODGATE
# If enabled, we will try to reopen shop menu after player successfully buy or sell products.
not-auto-close: true
# Make this option be empty to disable.
price-extra-line:
default: '&6Buy: {buy-price} &6| Sell: {sell-price}'
only-buy: '&6Buy: {buy-price}'
only-sell: '&6Sell: {sell-price}'
buy-or-sell:
title: 'Select Amount: {item-name}'
buttons:
amount:
name: 'Amount'
tip: 'Type amount here!'
info:
title: 'Product Info: {item-name} x{amount}'
buttons:
buy: 'Buy'
sell: 'Sell'
buy-more: 'Select Amount'
sell-all: 'Sell All'
# Remove this option if you don't want this button.
back: '&cBack'
buy-more-menu:
not-open-when-invalid: true
default:
menu: buy-more
max-amount: 64
only-buy:
menu: buy-more-buy
max-amount: 64
only-sell:
menu: buy-more-sell
max-amount: 64
auto-open:
enabled: true
menu: main
# Support value: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/ClickType.html
# Support use ;; symbol to make multi click type.
click-event:
buy: 'SHIFT_LEFT'
sell: 'RIGHT'
buy-or-sell: 'LEFT'
# If you want to disable select-amount feature, set this to NEVER.
select-amount: 'SHIFT_RIGHT;;SWAP_OFFHAND'
sell-all: 'DROP'
# buy-one-stack: 'SWAP_OFFHAND'
# Custom click actions for shop menu.
# Premium version only.
click-event-actions:
buy-one-stack:
display-name: 'Buy One Stack'
buy-only: true
1:
type: buy
shop: '{shop}'
item: '{item}'
amount: 64
sell-one-stack:
display-name: 'Sell One Stack'
sell-only: true
1:
type: sell
shop: '{shop}'
item: '{item}'
amount: 64
use-times:
default-reset-mode: 'NEVER'
default-reset-time: '00:00:00'
# This only works for CUSTOM type of reset mode.
default-reset-time-format: 'yyyy-MM-dd HH:mm:ss'
default-reset-value: 0
# Set -1 to disable.
default-max-value: -1
# If set to true, product default buy / sell times will be set to reset value set in product configs or default value above.
set-reset-value-by-default: true
# If set to true, max value set in product configs or default value set above will only work for total placeholder.
max-value-for-total-only: true
math:
enabled: true
scale: 2
# Premium version only.
log-transaction:
# It will cost extra performance cost.
enabled: false
# If set to empty value, we will just print the log into console.
file: 'log.txt'
format: '{player} | {shop} | {buy-or-sell} | {item-name}x{amount} | {price}'
display-item:
# Require Paper 1.17.1+ version.
auto-translate-item-name: true
# If set to true, if your product default amount is 10, and you purchase it x64 in one time, we will display 640 as result in amount placeholder.
calculate-amount: true
auto-set-first-product: true
# @+lower case means conditional lore, do not remove them here.
# Otherwise, the line without this will always display it.
add-lore:
- '@n '
- '@a&ePurchase: {buy-price}'
- '@b&eSell: {sell-price}'
- '@c&#FF7777Player Buy Stock: {buy-times-player}/{buy-limit-player}'
- '@d&#FF7777Server Buy Stock: {buy-times-server}/{buy-limit-server}'
- '@e&#FF7777Player Sell Limit: {sell-times-player}/{sell-limit-player}'
- '@f&#FF7777Server Sell Limit: {sell-times-server}/{sell-limit-server}'
- '@g '
- '@g&#ff3300cCan not buy more!'
- '@g&8Refresh Time: {buy-refresh-player}'
- '@i '
- '@i&#ff3300Sold Out!'
- '@i&8Refresh Time: {buy-refresh-server}'
- '@h '
- '@h&#ff3300Can not sell more!'
- '@h&8Refresh Time: {sell-refresh-player}'
- '@j'
- '@j&#ff3300Can not sell more for server!'
- '@j&8Refresh Time: {sell-refresh-server}'
- '@n '
- '@a{buy-click}-b'
- '@b{sell-click}-b'
- '@k&#FFFACDRight-Shift click to pick amount!-b'
- '@m&#FFFACDDrop (Q key) to sell all!-b'
- '@n&c&l:( Can not do this-i'
- '@a&cThis item can not be sold-i-m'
- '@b&cThis item can not be purchased-i-m'
placeholder:
auto-settings:
# If enabled, we will auto add conditional placeholder at all price amount.
# This can avoid the need to add the discount option in the amount options for each price.
add-conditional-in-all-price-amount:
enabled: false
buy-placeholder: buy
sell-placeholder: sell
black-dynamic-price: true
black-shops:
- 'example'
# We will try adds dynamic up or down symbol for all dynamic price placeholder.
# Please note that in your dynamic price amount option, first number must be the base price.
# If you made the dynamic price according to the Wiki's instructions, then there is no problem at all.
add-status-in-dynamic-price-placeholder:
enabled: true
# If enabled, we will try change {amount} in price placeholder option to the value you set here.
change-amount-in-all-price-placeholder:
enabled: false
replace-value: '%formatter_number_format_{amount}%'
# Premium version only
compare:
up: '↑'
down: '↓'
same: '-'
# Premium version only
status:
# If disabled, status placeholder will only display in shop GUI.
# For sell all, sell stick etc. still can not use status placeholder because it will sell not only 1 type product
# and we can not know whether total price is cheaper or higher.
can-used-everywhere: false
math:
scale: 0
cron:
format: "yyyy-MM-dd HH:mm:ss"
data:
# If your server never use dynamic value in prices or similar things, you can set this option to false.
# This will improve little plugin performance.
can-used-in-amount: true
refresh:
format: "yyyy-MM-dd HH:mm:ss"
never: "Never"
# Premium version only
next:
with-day-format: "{d}d {h}h {m}m {s}s"
without-day-format: "{h}h {m}m {s}s"
never: "Waiting for next refresh"
price:
split-symbol-any: ', '
split-symbol-all: ', '
replace-new-line-symbol: ', '
unknown: "Unknown"
unknown-price-type: "Unknown Price Type"
empty: "Price is empty!"
click:
# If enabled, {buy-click} and {sell-stick} will display different value according to product status.
# But, it will maybe make server lag if you are running big server and have many products in your shop.
enabled: false
buy: '&#FFFACDLeft-click to buy!'
sell: '&#FFFACDRight-click to sell!'
buy-with-no-sell: '&#FFFACDClick to buy!'
sell-with-no-buy: '&#FFFACDClick to sell!'
buy-max-limit-player: '&#ff3300You can not buy more!'
buy-max-limit-server: '&#ff3300SOLD OUT!'
sell-max-limit-player: '&#ff3300Can not sell more!'
sell-max-limit-server: '&#ff3300THIS ITEM CAN NOT BE SOLD!'
buy-price-not-enough: '&#ff3300Do not have enough money to buy!'
sell-price-not-enough: '&#ff3300Do not have enough item to sell!'
error: '&#ff3300Error!'
buy-condition-not-meet: '&#ff3300Not meet the buy condition!'
sell-condition-not-meet: '&#ff3300Not meet the sell condition!'
# Premium version only.
sell-stick:
infinite: "&cInfinite"
database:
enabled: false
jdbc-url: "jdbc:mysql://localhost:3306/ultimateshop?useSSL=false&autoReconnect=true"
jdbc-class: "com.mysql.cj.jdbc.Driver"
properties:
user: root
password: 123456
# Premium version only.
bungeecord-sync:
enabled: false
prices:
example:
economy-plugin: Vault
amount: 200
placeholder: '{amount} Coins'
mmoitems-example:
hook-plugin: MMOItems
hook-item: AXE;;TEST_AXE
amount: 1
placeholder: '{amount} Mythic Axe'
conditions:
products-key: 'products-conditions'
buy-prices-key: 'buy-prices-conditions'
sell-prices-key: 'sell-prices-conditions'
display-item-key: 'display-item-conditions'
auto-save:
enabled: true
hide-message: false
period-tick: 6000Last updated