QuickSell 是一款流行的商店插件,尤其适用于监狱服务器。它允许玩家以多种方式向服务器出售物品,并内置轻量级的增益系统,不仅能创建出售倍率增益,还能支持经验、mcMMO 等多种增益效果。
重要说明
- 原作者 mrCookieSlime/TheBusyBiscuit 已停止维护此插件,但这并不意味着 QuickSell 已停止开发。
- 插件源码已在 GitHub 上开源。如果你是或认识有能力的插件开发者,欢迎通过提交 Pull Request 来为此项目贡献代码,使其保持活力。
核心功能
- 简易商店创建与管理:支持通过游戏内编辑器轻松创建和管理商店。
- 增益系统:可创建和管理增益效果,包括适用于 PrisonGems 的宝石增益或 mcMMO 增益等。
- 传统出售牌:提供轻量级 GUI 的出售告示牌(出售、估价、取消)。
- 一键出售:支持出售全部物品的告示牌和命令。
- NPC 商人:集成 Citizens,可设置商人 NPC。
- 价格总览:提供清晰的价格概览界面。
- 更多功能:持续更新与扩展。
基础使用
出售物品
玩家可以通过以下方式使用出售功能
- 执行命令
/sell(可在配置中禁用)。 - 使用
[Sell]告示牌。
使用后会打开一个 GUI 界面
- 绿色染色玻璃:确认交易,出售 GUI 中的所有物品。
- 黄色染色玻璃:预估出售这些物品可获得的收益。
- 红色染色玻璃:取消交易,所有物品将返还给玩家。
只需将想出售的物品放入 GUI 即可完成操作,非常简单。
一键出售全部
玩家可以通过以下方式使用一键出售功能
- 执行命令
/sellall(可在配置中禁用)。 - 使用
[Sell All]告示牌。
此功能不会打开 GUI,而是直接扫描玩家库存中所有可出售给当前商店的物品并自动出售。
- 如果安装了 PrisonUtils,插件还会扫描玩家的背包。
进阶功能
自动出售
注意:此功能需要安装 PrisonUtils!
- 玩家可通过执行
/autosell来切换自动出售功能。 - 此功能会尝试自动出售玩家挖掘的所有方块。
- 为避免刷屏,每次出售不会发送提示消息,但每出售一定数量的方块后,会汇总显示近期出售情况。
价格查询
- 执行命令
/prices <商店名称>。 - 左击出售告示牌、一键出售告示牌或 NPC 商人。
此功能会清晰展示指定商店可收购的物品及其价格。
NPC 商人
注意:此功能需要安装 Citizens!
- 可以使用命令将任意 Citizens NPC 链接到商店:
/quicksell linknpc <商店名称> <sell/sellall>
- 链接后,右键点击该 NPC 会像点击出售或一键出售告示牌一样触发对应功能。
插件扩展与集成
QuickSell 支持与以下插件集成以扩展功能:
- PrisonUtils (mrCookieSlime):允许在出售全部和命令中使用背包,并支持挖掘时自动出售。
- PrisonGems (mrCookieSlime):允许创建宝石增益。
- mcMMO (drtshock, t00thpick1, TfT_02):允许创建 mcMMO 经验增益。
- Citizens (fullwall):允许设置 NPC 商人。
- PickaxeSell (TOX1C):允许右键点击镐来出售所有物品。
- QS Permission Boosters (MrEminent42):允许根据玩家权限(等级)给予 QuickSell 增益。
- QS Sell-Command Permissions (MrEminent42):为
/sell和/sellall命令添加权限需求。
命令与权限
命令列表
/sell [商店名称]
打开出售物品的库存界面。命令本身无需权限,但访问商店需要对应权限,详见配置部分。
/sellall [商店名称]
将库存中所有物品出售给指定商店。命令本身无需权限,但访问商店需要对应权限。
/booster <类型/all> <玩家名> <倍率> <持续时间(分钟)>
示例:/booster mrCookieSlime 2 1 将为全服玩家启用 2 倍交易增益,持续 1 分钟。可连接至 Buycraft 以实现合规盈利。
所需权限:QuickSell.booster
/pbooster <类型/all> <玩家名> <倍率> <持续时间(分钟)>
示例:/booster mrCookieSlime 2 1 将仅为 mrCookieSlime 启用 2 倍交易增益,持续 1 分钟。可连接至 Votifier 等。
所需权限:QuickSell.booster
/boosters
列出所有当前激活的增益效果。
/quicksell
显示帮助信息。
所需权限:QuickSell.manage
/quicksell reload
重载插件配置。
所需权限:QuickSell.manage
/quicksell editor
打开游戏内商店编辑器。
所需权限:QuickSell.manage
/quicksell stopboosters [玩家名]
停止所有全局增益。添加玩家参数可停止该玩家的所有私人增益。
所需权限:QuickSell.manage
/prices <商店名称>
查看指定商店可收购的物品列表。
所需权限:QuickSell.prices
权限说明
- 创建告示牌需要权限:
QuickSell.sign.create
告示牌设置
注意:所有空行都可以替换为你自定义的文本,例如:“$32.5/ea”、“点击打开”等。
- 标准出售牌
[Sell]
[商店名称]此告示牌会像执行 /sell 一样打开商店 GUI。第二行可指定商店。
- 一键出售牌
[Sell All]
[商店名称]此告示牌会尝试将你所有的物品出售给指定商店。
- 指定类型出售牌
[Sell All]
[物品类型]
[商店名称]此告示牌会将指定类型的所有物品出售给指定商店。
- 简化出售牌
如果将配置项 open-only-shop-with-permission 设置为 true,你甚至可以只写 Sell All,而不管其他行是什么内容。这将自动打开你拥有权限的最高等级商店。
配置详解
options:
auto-update: true # 插件是否自动更新
sell-gui-rows: 3 # 出售 GUI 的行数
locked-item: STAINED_GLASS_PANE-14 # 商店不可访问时显示的物品
sign-prefix: '&7[&eSell&7]' # 出售告示牌的前缀。更改后,创建告示牌时第一行也需匹配此外观。
sellall-sign-prefix: '&a&oSellAll' # 一键出售告示牌的前缀,规则同上。
pregenerate-all-item-prices: false # 是否在配置中预生成所有物品价格
enable-menu-line: false # 是否在 GUI 中添加“出售”、“估价”、“取消”按钮
enable-commands: true # 是否启用 /sell 和 /sellall 命令
boosters:
extension-mode: false # 启用后,若激活一个 2 倍增益时已有另一个 2 倍增益在运行,则会延长现有增益时间而非叠加。
refresh-every: 10 # 检查增益是否失效的间隔时间(秒)
commands-on-sell: # 出售物品时执行的命令。支持变量 {PLAYER} 和 {MONEY}
- say {PLAYER} just sold something and got ${MONEY}
- title {PLAYER} title {text:"+ ",color:green,bold:true,underlined:false,italic:false,strikethrough:false,obfuscated:false,extra:[{text:"${MONEY}",color:gold,bold:true,underlined:false,italic:false,strikethrough:false,obfuscated:false}]}
sound:
enabled: true # 出售时是否播放音效
sound: ORB_PICKUP # 播放的音效类型
# 以下部分不建议手动修改,请使用 /quicksell editor 进行编辑。
list:
- A # 将所有新商店添加到此列表,插件会像下面一样生成对应配置节。
- '' # 添加 '' 可在 GUI 中创建空位以分隔商店。
shops:
A: # 商店 A 的配置节
name: '&aA-Shop' # 商店名称
itemtype: CHEST # 商店在 GUI 中显示的物品
amount: 64 # 此商店的所有价格将除以这个数字。(例如:如果你设置 1 个圆石价格为 $64,玩家实际只能得到 $1)
lore: # 商店描述
- ''
- '&aYoucanalsoaddalittledescriptiontoyourShophere' # 支持颜色代码!
permission: QuickSell.shop.A # 使用此商店所需的权限,设为 '' 则无需权限。
price: # 此商店的物品价格
STONE: 0.0 # 0.0 表示不可出售。
GRASS: 10.2 # 指定出售此材料物品可获得的单价。
STAINED_CLAY-2: 3.5 # 通过附加 -{META-ID} 可为特定元数据物品设置价格。
DIAMOND_SWORD-&cSoulbound Sword: 100.32 # 也可指定显示名称,支持颜色代码。
C: # 另一个商店 C
name: '&aCisawesome'
itemtype: SPONGE
amount: 1
lore: []
permission: ''
price:
SPONGE: 10.0
inheritance: # 此列表将从下方列出的商店导入所有价格。注意:列表中越靠下的商店,其价格优先级越低。
- A # 优先级低于 C
- B # 优先级低于 A开发者 API
QuickSell 为开发者提供了轻量级的 API,可用于创建自定义扩展。
插件提供了大量方法,具体请参考 API 文档。
插件统计与更新
自动更新
- 本插件使用自动更新器,以确保你始终使用最新且最稳定的版本。
- 若不想启用自动更新,可在配置文件中修改:
options -> auto-update: true/false
统计指标 (Metrics)
插件使用统计系统收集以下匿名信息
- 唯一标识符
- 服务器的 Java 版本
- 服务器是否处于离线模式
- 插件版本
- 服务器版本
- 操作系统版本/名称与架构
- CPU 核心数
- 在线玩家数
- Metrics 版本
如何退出统计:
编辑 plugins/Plugin Metrics/config.yml 文件,将 opt-out 改为 true 即可。