完整的 config.yml 文件

敬请注意

  • 这里展示的 config.yml 文件仅供参考,请您根据服务器生成的 config.yml 对照修改,不要直接替换。

  • 这里的文件可能是过时的,您最好在 GitHub 查看当前最新版本插件的 config.yml 文件。

示例文件

以下是 config.yml 文件的参考配置:

# UltimateShop by @PQguanfang
#
# Read the Wiki: ultimateshop.superiormc.cn

# 调试模式
# 仅供测试使用,实际使用无需开启。
debug: false

# 其他配置文件相关设置
config-files:
  # 选择的语言文件,输入 zh_CN 即可切换为中文
  language: en_US
  # Minecraft自身的语言文件
  # 服务端不储存客户端的语言文件,因此插件在遇到要显示原版物品的名称时,只能显示其英文名称,无法显示中文名称
  # 通过下载Minecraft语言文件到服务端,即可让插件自动翻译原版物品名称
  # 此功能仅付费版可用。
  minecraft-locate-file:
    # 如果启用,每次在获取物品名称时都要从Minecraft语言文件中找到对应物品的翻译键,并获取其值
    # 而Minecraft语言文件大小较大,因此每次读取会消耗一定游戏性能
    # 插件对于此情况提供索引机制,已加载过的翻译键会将值存在服务端中,重启后索引也会消失
    # 因此每次开服第一次打开商店菜单,可能会有所卡顿,这是正常情况
    enabled: true
    # 是否生成新的语言文件,在每次服务端版本更新时,都需要重新生成新的语言文件
    # 重新生成需要先将已有语言文件删除
    # 生成完毕后,请将此选项改为false,避免每次开服重复生成(虽然插件有对应检测)
    generate-new-one: true
    # 下载的语言文件,简体中文就是这个,不用改
    file: 'zh_cn.json'

# Mojang 现在使用的是 Component,开启后使用 MiniMessage 格式
# 原有的颜色符号将全部无效,需要重新配置
# 开启后可使用现代 Component 包括的自定义字体等新内容
use-component:
  menu-title: false
  message: false
  item: false

# 与回收有关的配置
sell:
  # 回收检测的模式,有ItemFormat和Bukkit两种
  # 两种模式都支持第三方插件的模糊匹配,只对非插件兼容的其他NBT物品和原版物品有所区别
  # ItemFormat只会针对物品解析出来的物品格式比较,如果两者一样,则视为同一物品
  # 一个物品的物品格式可在服务器内,手持该物品,输入/shop generateitemformat指令获得
  # Bukkit要求物品必须完全一样,包括耐久度,附魔等
  sell-method: Bukkit
  # 在选择ItemFormat后,哪些物品格式的选项可以忽视
  ignore-item-format-key:
    # 代表Lore无视,两个物品的Lore可以不一样
    - 'lore'
    # 代表两个物品的耐久可以不一样 
    - 'damage'
    # 代表1.21的自定义工具下,默认工具破坏效率可以不一样
    - 'tool.damage-per-block'
    # 物品格式的选项在英文Wiki有详细介绍
  # 快速出售
  sell-all:
    # 快速出售菜单无视的商品,也就是商店内这些商品不能在快速出售菜单内快速出售
    ignore-items:
      # 格式:商店ID;;商品ID
      - 'hideshop;;A'
    # 是否隐藏快速出售的各个商品出售信息,最后只显示一共出售x个物品,获得x金币的总提示。
    hide-message: true
  # 回收棒
  # 此功能仅付费版可用。
  sell-stick:
    # 回收棒的冷却时间,以tick为单位,最低是5,小于5的情况下,插件自动将这里的值视为5。
    cooldown: 5
    # 是否隐藏回收棒的各个商品出售信息,最后只显示一共出售x个物品,获得x金币的总提示。
    hide-message: true
    # 回收棒怎么操作即可使用:LEFT(左键)RIGHT(右键)LEFT;;RIGHT(左右键都可以)
    # 右键是默认的值,使用其他值可能导致插件冲突,从而导致受保护的领地内的箱子其他玩家也可以使用回收棒出售,需要特别注意
    click-type: RIGHT
  # 快速出售一个商品最多一次性出售次数
  # 限制这个目的在于如果某个商品是动态价格,玩家一次性出售大量商品可能造成服务器性能下降
  max-amount: 128

# 与商店菜单有关的设置
menu:
  # 菜单内点击和重新打开新的菜单需要的冷却时间,以tick为单位,使用-1代表关闭此功能。
  # 大型服务器建议开启,设置为一个小点的数字。
  # 如果最终导致商店菜单无法打开,请不要使用此功能。
  cooldown:
    click: -1
    reopen: -1
  # 在玩家打开商店菜单的情况下,是否无视玩家在其他容器(包括玩家自身背包)内点击。
  # 在出现插件冲突,导致玩家可以通过频繁点击背包内物品,双击背包物品等情况下刷物品的情况,请将此选项设置为true,否则没有必要开启。
  ignore-click-outside: false
  shop:
    # 商店菜单是否每秒刷新?
    # 不建议开启,没必要,开启了大幅度增加插件性能消耗。
    # 关闭后,插件内变量符不会实时刷新。
    update: false
    # 商店菜单是否在玩家每次点击后刷新?
    # 不建议开启,没必要,开启了大幅度增加插件性能消耗。
    click-update: false
  # 快速出售菜单
  sell-all:
    # 该菜单的大小,必须是9的倍数,最大值为54。
    size: 54
    # 该菜单的名称(显示在上方的)。
    title: '&f快速出售 &7- Esc 后自动出售UI内所有物品!'
    # 设置该菜单中玩家无法放置物品的槽位,用英文逗号隔开。
    black-slots: []
  # 基岩版商店菜单
  # 仅限付费版。
  bedrock:
    # 用何种手段检查玩家是不是基岩版玩家
    # 支持 UUID 和 FLOODGATE
    check-method: FLOODGATE
    # 基岩版玩家购买商品后是否不关闭菜单
    not-auto-close: true
    buy-or-sell:
      title: '商品设置'
      buttons:
        amount:
          name: '选择数量'
          tip: '请在这里输入数量!输入all一键回收!'
    info:
      title: '商品信息'
      buttons:
        buy: '现在购买'
        sell: '现在回收'
        buy-more: '选择数量'
  # 选择商品数量菜单
  buy-more:
    # 使用哪个菜单作为选择商品数量的菜单?
    menu: buy-more
    # 选择商品数量菜单中,物品数量的上限。
    # 在有商品是 ANY 和 ALL 模式情况下,请勿将此值设置过大。
    max-amount: 64
  # 快捷打开商店功能
  # 使用 /shop 可直接打开指定菜单
  auto-open:
    # 是否开启此功能?
    enabled: true
    # 快捷打开的菜单。
    menu: main
  # 在商店菜单中点击按钮的操作。
  # 如果发现某个按钮(如Q键)无法正常使用对应功能,首先检查商品能否购买或者回收。
  # 其次,检查客户端,Mod客户端有Mod可能更改了键位,需要你自行到游戏设置查看。
  # 支持使用 ;; 分开多个按键,代表此操作可由多个按键触发
  click-event:
    # 购买商品(此为 Shift + 左键)
    buy: 'SHIFT_LEFT'
    # 回收商品(此为右键)
    sell: 'RIGHT'
    # 购买或者回收商品
    # 如果这个商品又可以购买,又可以回收,默认为购买。
    # 如果这个商品只可以回收,则为回收。
    # 如果这个商品只可以购买,则为购买。
    # 此为左键。
    buy-or-sell: 'LEFT'
    # 打开选择数量菜单(此为 Shift + 右键或者F键都可触发)
    select-amount: 'SHIFT_RIGHT;;SWAP_OFFHAND'
    # 一键回收所有该商品(此为 Q 键)
    sell-all: 'DROP'
    # 这里注册了一个 ID 为 buy-one-stack 的自定义点击事件
    buy-one-stack: 'SWAP_OFFHAND'
  # 自定义点击事件对应的动作。
  # 仅限付费版本。
  click-event-actions:
    # 代表 buy-one-stack 点击事件执行的动作,这里示例为购买64个该商品
    buy-one-stack:
      - 'buy: {shop};;{item};;64'
    # 可按照此格式注册更多的点击事件

# 商品的使用次数设置
use-times:
  # 默认情况下,商品购买或者回收达到上限以后,重置的模式。
  # 可以设置为:
  # TIMED - 每天固定时间点重置
  # TIMER - 几小时、几分钟、几秒后重置
  # NEVER - 永不重置
  default-reset-mode: 'NEVER'
  # 重置的时间节点,无论何种模式,必须是XX:XX:XX的格式。
  default-reset-time: '00:00:00'
  
# 数学计算设置
math:
  # 是否启用数学计算功能?
  enabled: true
  # 数学有关结果保留小数位,向上取整
  # 输入0代表只保留到整数
  scale: 2

# GUI里的商品显示设置
display-item:
  # 是否自动将商品中的第一个物品作为GUI内显示的物品?
  auto-set-first-product: true
  # @+小写字母代表这一行的Lore只会在特定情况下才会出现,请不要随便删除它们。
  # 显示的物品在后面添加的Lore
  add-lore:
    - ' '
    - '@a&e购买价格: {buy-price}'
    - '@b&e回收价格: {sell-price}'
    - '@c&#FF7777个人购买限制: &#e16060{buy-times-player}/{buy-limit-player}'
    - '@d&#FF7777全服购买限制: &#e16060{buy-times-server}/{buy-limit-server}'
    - '@e&#FF7777个人回收限制: &#e16060{sell-times-player}/{sell-limit-player}'
    - '@f&#FF7777全服回收限制: &#e16060{sell-times-server}/{sell-limit-server}'
    - '@g '
    - '@g&#ff3300你已达到购买上限!'
    - '@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}'
    - '@a{buy-click}-b'
    - '@b{sell-click}-b'
    - '@k&#FFFACDShift右键以选择数量-b'
    - '@b&#FFFACDQ键以回收全部-b'

# 变量符有关设置
placeholder:
  # 自动添加变量符有关设置
  auto-settings:
    # 自动为每个商品添加折扣变量符
    add-discount-in-all-price-amount:
      # 是否启用?
      enabled: false
      # 购买使用的折扣变量符ID
      buy-placeholder: buy
      # 回收使用的折扣变量符ID
      sell-placeholder: sell
      # 是否不给使用动态价格的商品自动添加?
      black-dynamic-price: true
    # 自动为动态价格商品的价格描述添加浮动变量符
    # 可以显示价格是否上涨,还是下降,要求动态价格中的第一个数字必须是基础价格
    # 如果你是按照Wiki示例格式,那么不会有任何问题
    add-status-in-dynamic-price-placeholder:
      # 是否启用?
      enabled: true
    # 如果启用,我们会自动把价格描述中的{amount}变量符替换为别的值
    change-amount-in-all-price-placeholder:
      # 是否启用?
      enabled: false
      # 替换后的值,这里示例的给{amount}格式化,让大数字显得更直观好看
      replace-value: '%formatter_number_format_{amount}%'
  # 折扣变量符。
  # 此功能仅付费版可用。
  discount:
    # 一个id为buy的折扣变量符。
    # 在商品的购买价格使用 {discount_buy} * 商品原价 以使用折扣变量符!
    # 注意使用时要启用上面的数学计算。
    buy:
      # 模式,支持:
      # MIN - 取最小值
      # MAX - 取最大值
      mode: MIN
      # 默认情况下玩家的折扣,1 代表原价
      default: 1
      # 满足 vip 条件节点的玩家的折扣,0.5 代表 5 折
      vip: 0.5
      # 满足 mvp 条件节点的玩家的折扣,0.3 代表 3 折
      mvp: 0.3
    # 一个id为sell的折扣变量符。
    # 在商品的回收价格使用 {discount_sell} * 商品原价 以使用折扣变量符!
    sell:
      mode: MAX
      # 默认情况下玩家的福利,1 代表原价
      default: 1
      # 满足 vip 条件节点的玩家的福利,1.5 代表回收后额外获得 50% 的奖励
      vip: 1.5
      # 同理
      mvp: 2
  # 折扣变量符的条件
  discount-conditions:
    # 一个id为vip的条件节点
    vip:
      # 有 group.vip 权限节点的玩家满足这个条件
      - 'permission: group.vip'
    mvp:
      - 'permission: group.mvp'
  # 随机变量符。
  # 此功能仅付费版可用。
  random:
    # 随机变量符的ID。
    rotate:
      # 重置模式。
      reset-mode: TIMED
      # 重置时间。
      reset-time: '00:00:00'
      # 随机的元素。
      elements:
        - 'A'
        - 'B'
        - 'C'
    # 随机变量符的ID。
    daily-shop:
      reset-mode: TIMED
      reset-time: '00:00:00'
      elements:
        - 'rotate' # 在元素中支持输入其他变量符ID,这样插件自动将对应变量符的所有元素全部插入到这个变量符的元素中去。
      not-same-as:
        - daily # 代表这个变量符不会和daily变量符同值,可以换行插入更多的变量符。
  # 浮动变量符显示的值
  # 你也可以使用{compare_基础价格}手动设置基础价格,例如{compare_500},代表基础价格是500,如果当前价格是699,则显示上涨。
  compare:
    # 上涨
    up: '↑'
    # 下降
    down: '↓'
    # 与基础价格一样
    same: '-'
  # 浮动变量符
  status:
    # 是否可以在任意位置使用
    # 不建议开启
    can-used-everywhere: false
  # 数学计算变量符
  math:
    # 结果保留几位小数
    scale: 0
  # 用户数据变量符
  data:
    # 能否在商品价格的amount选项中使用。
    # 如果要设置动态价格,需要开启。
    can-used-in-amount: true
  # 刷新变量符
  refresh:
    # 时间格式
    format: "yyyy-MM-dd HH:mm:ss"
    # 永不刷新时候显示的内容
    never: "永不刷新"
  # 冷却时间变量符
  cooldown:
    # 时间格式
    format: "yyyy-MM-dd HH:mm:ss"
    # 现在即可购买的提示
    now: "现在"
  # 价格变量符
  price:
    # ANY 模式下,有多个价格时分隔的符号
    split-symbol-any: ', '
    # ALL 模式下,有多个价格时分隔的符号
    split-symbol-all: ', '
    # 如果使用了换行符号,则在此设置不支持换行情况下,换行符号替换的其他符号
    replace-new-line-symbol: ', '
    # 未知价格时候显示的内容
    unknown: "价格未知"
    # 未知价格类型时候显示的内容
    unknown-price-type: "价格类型未知"
    # 价格是空的时候显示的内容
    empty: "价格为空!"
  # 商品状态变量符
  click:
    # 是否启用,建议不启用,可节省插件性能
    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没有满足回收该物品的条件!'
    buy-in-cooldown: '&#ff3300正在冷却中!'
    sell-in-cooldown: '&#ff3300正在冷却中!'

# 数据库设置
database:
  # 是否启用
  enabled: false
  # 数据库链接
  # 此为一个MySQL链接的示例,将ultimateshop更改为数据库的表名即可。
  # 表需要提前创建好。
  jdbc-url: "jdbc:mysql://localhost:3306/ultimateshop?useSSL=false&autoReconnect=true"
  jdbc-class: "com.mysql.cj.jdbc.Driver"
  # 填写用户名和密码
  properties:
    user: root
    password: 123456

# BungeeCord 同步
# 此功能仅付费版可用。
bungeecord-sync:
  enabled: false

# 商品价格
# 默认情况下,你可以直接在商品设置中设置好价格,这里一般用不到。
# 你可以在商品配置使用custom-type选项来指向这里的价格。
prices:
  example:
    economy-plugin: Vault
    amount: 200
    placeholder: '200 Coins'
  mmoitems-example:
    hook-plugin: MMOItems
    hook-item: AXE;;TEST_AXE
    amount: 1
    placeholder: '1 Mythic Axe'

# 一键回收棒。
# 仅限付费版。
sell-stick-items:
  # 一个id为A的回收棒
  A:
    # MC物品ID
    material: STICK
    # 物品名称
    name: '&dSell stick &7(5 times)'
    # 物品 Lore
    lore:
      - '&fClick a chest to use this item!'
      - ''
      - '&cLeft usages: {times}'
    # 物品使用次数
    usage-times: 5 # 支持次数填写-1代表无限次使用
  B:
    material: STICK
    name: '&dAdvanced Sell stick &7(50 times)'
    lore:
      - '&fClick a chest to use this item!'
      - ''
      - '&cLeft usages: {times}'
    usage-times: 50
  
# 自动保存。  
auto-save:
  # 是否启用。
  enabled: true
  # 时间间隔。
  period-tick: 6000
  # 是否隐藏自动保存消息
  hide-message: false

check-class:
  # 是否自动检查某个类文件服务器是否存在
  enabled: true
  # 如果上述选项关闭,你需要手动在这里输入一些插件用到的类文件名称
  classes: []

Last updated