🛠️ 配置文件
插件会生成下列配置文件,其中某些只在你首次使用了对应功能后生成。
datas
:存储插件数据文件的地方。items
:存储插件物品文件的地方。languages
:存储语言文件的地方。你可以通过config.yml
中的config-files.language
项修改插件使用的语言。你也可以在插件文件夹中修改语言文件的显示内容。目前暂不支持基于玩家客户端语言自动修改显示语言。另外你也只能对所有玩家使用同一种语言。menus
:用于存储菜单配置文件的地方。
信息
许多用户似乎对一件事感到困惑:通过 /shop
命令打开的是菜单,而非商店。如果你想要设置商店菜单槽位的物品,你需要在配置文件中修改。
shops
:存储菜单配置文件的位置。random_placeholders
:存储随机变量配置文件的位置。config.yml
:存储插件主设置的位置。generated-item-format.yml
:使用/shop generateitemformat
命令后,我们会将你手持的物品转化为(本插件特有的)物品格式并将判断后的内容存储在此文件中。XX_xx.json
:通过本地化物品名称功能自动生成的本地化文件。文件的名称取决于你为此功能设置的本地语言而变化。其通常以.json
结尾。XX.txt
文件:通过交易日志功能生成的交易记录文件。其命名方式可在config.yml
文件下的log-transaction.file
部分修改。
config.yml 内容
推荐你在 Github 的代码仓库上浏览它,因为本维基的 config.yml
有可能不是最新的。你可以点此跳转至 Github 的对应文件。
译者注:鉴于随时更新可能存在不便,本维基只对存在于此的这份配置文件进行翻译。
yaml
# UltimateShop 插件作者 @PQguanfang
#
# 本插件的维基: ultimateshop.superiormc.cn
# 部分选项可能需要重启服务器才可以生效。
debug: false
config-files:
language: en_US
# 仅付费版本。
minecraft-locate-file:
# 启用后插件会尝试在填入物品本地化名称时载入 Minecraft 的本地化语言文件。
# 因文件过大,开服时需要下载,可能会导致卡顿。
enabled: true
generate-new-one: false
file: 'zh_cn.json'
# 仅 Paper 系服务端可用.
paper-api:
save-item: true
# 对于 Paper 服务端用户, 启用该选项可使本插件直接通过他们的 API 获取头颅, 从而提升性能.
skull: true
use-component:
menu-title: false
message: false
item: false
sell:
# 可填入的值: Bukkit 或 ItemFormat.
# 每一个物品都可通过 match-item 部分来设置自定义出售机制, 更多信息请浏览维基.
sell-method: Bukkit
# 该部分设置只支持 ItemFormat 出售方法.
ignore-item-format-key:
- 'lore'
- 'damage'
- 'tool.damage-per-block'
sell-all:
ignore-items:
# 格式: 商店 ID;;物品 ID
- 'hideshop;;A'
hide-message: true
sell-stick:
# 此处最小值为 5, 小于 5 的值会被插件无视并重置为 5.
# 单位为刻。
cooldown: 5
hide-message: true
display-calculate-multiplier: true
# 可填入的值: LEFT, RIGHT and LEFT;;RIGHT
# 请勿修改, 否则后果自负。
click-type: RIGHT
max-amount: 128
give-item:
# 可填入的值: BUKKIT, SMART
# SMART 会增加服务器的性能消耗, 但可以按原版堆叠数量给予玩家物品, 还能检查背包是否已满.
give-method: BUKKIT
# 仅支持 SMART 给予方法.
check-full: false
menu:
# 如果运行规模较大的服务器时,使用此项可避免玩家频繁点击或重复开启本插件的商店导致的卡顿。
# 单位为刻。
cooldown:
click: -1
reopen: -1
ignore-click-outside: false
shop:
# 商店菜单是否每隔 1 秒自动刷新一次。
# 这可以刷新物品描述中的变量。
# 但在玩家数量多且开启商店界面数量较多时可能会导致卡顿。
update: false
# Whether shop menu will refresh every click in it.
# 这可以刷新物品描述中的变量。
# 但在玩家数量多且开启商店界面数量较多时可能会导致卡顿。
click-update: false
sell-all:
size: 54
title: '&f全部出售 &7- 按 ESC 键确认!'
black-slots: []
# 仅付费版本
bedrock:
enabled: true
# 可填入的值: FLOODGATE, UUID
check-method: FLOODGATE
# 若启用, 玩家成功购买物品后我们会试图重新打开商店界面.
not-auto-close: true
# 留空表示禁用此项.
price-extra-line:
default: '&6购买: {buy-price} &6| 出售: {sell-price}'
only-buy: '&6购买: {buy-price}'
only-sell: '&6出售: {sell-price}'
buy-or-sell:
title: '选择数量: {item-name}'
buttons:
amount:
name: '自定义'
tip: '点击输入自定义数量, 输入 \'all\' 表示全部出售!'
info:
title: '物品信息: {item-name} x{amount}'
buttons:
buy: '购买'
sell: '出售'
buy-more: '选择数量'
sell-all: '全部出售'
# 若不需要可自行删除.
back: '&c返回'
buy-more-menu:
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
# 可填入的值: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/ClickType.html
# 支持以 ;; 分隔填入多种类型.
click-event:
buy: 'SHIFT_LEFT'
sell: 'RIGHT'
buy-or-sell: 'LEFT'
# 若需禁用 select-amount 功能,请将其设置为 NEVER.
select-amount: 'SHIFT_RIGHT;;SWAP_OFFHAND'
sell-all: 'DROP'
# buy-one-stack: 'SWAP_OFFHAND'
# 商店菜单的自定义点击操作。
# 仅付费版本。
click-event-actions:
buy-one-stack:
1:
type: buy
shop: '{shop}'
item: '{item}'
amount: 64
use-times:
default-reset-mode: 'NEVER'
default-reset-time: '00:00:00'
# 仅对 CUSTOM 类型重置模式有效.
default-reset-time-format: 'yyyy-MM-dd HH:mm:ss'
default-reset-value: 0
math:
enabled: true
scale: 2
# 仅付费版本。
log-transaction:
# 这会消耗额外性能。
enabled: false
# 若留空,则只在控制台输出日志。
file: 'log.txt'
format: '{player} | {shop} | {buy-or-sell} | {item-name}x{amount} | {price}'
display-item:
auto-set-first-product: true
# @+小写字符 表示条件描述,请勿将其移除
# 不带有条件的描述会一直显示
add-lore:
- '@n '
- '@a&e买价: {buy-price}'
- '@b&e卖价: {sell-price}'
- '@c&#FF7777玩家购买余量: {buy-times-player}/{buy-limit-player}'
- '@d&#FF7777全服购买余量: {buy-times-server}/{buy-limit-server}'
- '@e&#FF7777玩家出售限量: {sell-times-player}/{sell-limit-player}'
- '@f&#FF7777全服出售限量: {sell-times-server}/{sell-limit-server}'
- '@g '
- '@g&#ff3300c不能再买更多了!'
- '@g&8补货时间: {buy-refresh-player}'
- '@i '
- '@i&#ff3300已售罄!'
- '@i&8补货时间: {buy-refresh-server}'
- '@h '
- '@h&#ff3300不能再卖更多了!'
- '@h&8补货时间: {sell-refresh-player}'
- '@j'
- '@j&#ff3300不能再向服务器出售了!'
- '@j&8补货时间: {sell-refresh-server}'
- '@n '
- '@a{buy-click}-b'
- '@b{sell-click}-b'
- '@k&#FFFACDShift + 鼠标右键 选择数量!-b'
- '@b&#FFFACD丢弃键(Q)出售全部!-b'
- '@n&c&l:( 无法执行-i'
- '@a&c该物品无法出售-i-m'
- '@b&c该物品无法购买-i-m'
placeholder:
auto-settings:
# 若启用, 插件会在所有价格变量后加入条件变量.
# 避免重复计算.
add-contditional-in-all-price-amount:
enabled: false
buy-placeholder: buy
sell-placeholder: sell
black-dynamic-price: true
black-shops:
- 'example'
# 若启用, 插件会尝试在动态定价后加上表示比较价格的符号.
# 需要注意的是在动态定价选项中, 首个价格必定是出售基价.
# 按维基操作的情况下不会出现任何问题.
add-status-in-dynamic-price-placeholder:
enabled: true
# 启用后, 插件将会尝试将价格变量选项中的 {amount} 替换为你在此处设置的值.
change-amount-in-all-price-placeholder:
enabled: false
replace-value: '%formatter_number_format_{amount}%'
# 仅付费版本
compare:
up: '↑'
down: '↓'
same: '-'
# 仅付费版本
status:
# 若启用, 状态变量将只在商店界面中显示。
# 对全部出售及出售模组等. 因其只会出售一种物品而无效
# 且无法知晓实际价格的盈亏.
can-used-everywhere: false
math:
scale: 0
data:
# 如果服务器从不使用动态定价等类似功能, 则你可以将其设置为 false.
# 可略微提升服务器性能.
can-used-in-amount: true
refresh:
format: "yyyy-MM-dd HH:mm:ss"
never: "永不"
# 仅付费版
next:
with-day-format: "{d}d {h}h {m}m {s}s"
without-day-format: "{h}h {m}m {s}s"
never: "等待下次刷新"
price:
split-symbol-any: ', '
split-symbol-all: ', '
replace-new-line-symbol: ', '
unknown: "未知"
unknown-price-type: "未知货币类型"
empty: "未设置价格!"
click:
# 若启用, {buy-click} 与 {sell-stick} 将会根据物品状态显示不同的内容.
# 该功能可能会在规模较大或商店内容较多的服务器上导致卡顿.
enabled: false
buy: '&#FFFACD左键点击购买!'
sell: '&#FFFACD右键点击出售!'
buy-with-no-sell: '&#FFFACD点击购买!'
sell-with-no-buy: '&#FFFACD点击出售!'
buy-max-limit-player: '&#ff3300你不能再买更多了!'
buy-max-limit-server: '&#ff3300已售罄!'
sell-max-limit-player: '&#ff3300不能再出售更多了!'
sell-max-limit-server: '&#ff3300该物品不可出手!'
buy-price-not-enough: '&#ff3300你没有足够的钱!'
sell-price-not-enough: '&#ff3300你没有足够的物品!'
error: '&#ff3300错误!'
buy-condition-not-meet: '&#ff3300未达到购买条件!'
sell-condition-not-meet: '&#ff3300未达到出售条件!'
# 仅付费版本。
sell-stick:
infinite: "&c无限"
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
# 仅付费版本。
bungeecord-sync:
enabled: false
prices:
example:
economy-plugin: Vault
amount: 200
placeholder: '{amount} 硬币'
mmoitems-example:
hook-plugin: MMOItems
hook-item: AXE;;TEST_AXE
amount: 1
placeholder: '{amount} 神秘斧'
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: 6000