BBSMC Logo
模组整合包光影资源包软件汉化插件数据包
登录
模组插件数据包光影资源包整合包软件汉化
登录
设置
Malkuth — 全能商店系统
Malkuth — 全能商店系统

Malkuth — 全能商店系统

一个插件,覆盖服务器经济的所有场景。

游戏机制社交经济
008 hours ago
Malkuth — 全能商店系统

Malkuth — 全能商店系统

一个插件,覆盖服务器经济的所有场景。

0
0
游戏机制
社交
经济

付费资源

¥100
永久授权
登录后购买

• 购买后可下载所有版本文件

基本信息

我的世界Java版本

1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.2

平台

Bukkit
\n \n \n \n \n Paper
\n \n \n \n \n \n \n \n \n \n \n Purpur
Spigot

运行环境

服务端

其他链接

访问 wiki

创作者

Kether
Kether Member

详情信息

许可证 保留所有权益/无许可证
发布于 2026-03-04
更新于 2026-03-04
简介渲染图更新日志版本百科反馈讨论

Malkuth — 全能商店系统

一个插件,覆盖服务器经济的所有场景。

Malkuth 是基于 TabooLib 6 构建的 Minecraft 商店系统插件,提供 普通商店、限时商店、回收商店、玩家商店、拍卖行、全球市场 六大模式,配合购物车、收藏夹、邮箱、搜索比价等完整的用户体验链路,为你的服务器打造一站式经济生态。


六大商店模式

普通商店

经典的 NPC / 命令商店,支持分页浏览、自定义布局、商品模板。

mode: 'normal'
currency:
  mode: vault
layout:
  - '#########'
  - ' ggggggg '
  - ' ggggggg '
  - ' ggggggg '
  - ' ggggggg '
  - 'P#######N'

限时商店

设定时间窗口,到期自动关闭。支持全局限购(所有玩家共享库存)和倒计时显示,适合节日活动、赛季奖励等场景。

回收商店

灵活的物品匹配规则(正则 / 包含 / 材质 / NBT / ModelData / 附魔等级),支持动态价格计算和一键回收背包所有可回收物品。

新增功能:

  • CustomFishing 物品支持:通过 NBT 读取 CustomFishing 物品 ID 和价格
  • 价格倍率配置:可设置回收价为原价的百分比(如 80%)
  • 默认价格兜底:物品未配置价格时使用默认值
  • 高级匹配规则:支持附魔等级匹配(如 SHARPNESS:>3)、耐久度匹配、物品标签匹配等

玩家商店

玩家自主上架、下架、编辑商品(价格 / 名称 / 描述 / 材质 / CustomModelData)。离线卖家自动收款,支持白名单 / 黑名单控制可上架物品。

拍卖行

竞价系统,加价比例可配置,实时出价更新,支持搜索拍品和个人拍品管理。

全球市场 ⭐ NEW

跨服玩家自由交易平台,相同物品自动按价格排序,买家优先看到最便宜的商品。支持多维度词条筛选(品质/类型/等级等),实时显示近期交易平均价帮助玩家判断价格合理性。采用独创的"双层锁"架构(本地锁 + Redis 分布式锁),确保毫秒级并发安全,杜绝超卖和重复购买。


核心特性

回收系统 — CustomFishing 深度集成 ⭐ NEW

Malkuth 的回收系统现已支持 CustomFishing 物品,通过 NBT 直接读取物品数据,实现无缝集成:

技术亮点:

  • NBT 直接读取:无需反射调用 API,直接从物品 NBT 读取 CustomFishing.id 和 Price 标签
  • 性能优异:零反射开销,TabooLib NBT 工具高效读取
  • 版本兼容:不依赖 CustomFishing API 变化,支持所有版本
  • 离线支持:物品数据已在 NBT 中,无需插件在线

配置示例:

custom_fishing_fish:
  check:
    or:
      - custom_fishing:
          item_id: ''  # 留空匹配所有 CF 物品
  price:
    source: custom_fishing  # 从 NBT 读取价格
    multiplier: 0.8         # 回收价为原价的 80%
    default: 50.0           # 未配置价格时的默认值

玩家体验:

  • 支持按物品 ID 精确匹配或匹配所有 CustomFishing 物品
  • 自动读取物品配置的价格,无需手动维护价格表
  • 支持价格倍率调整(如回收价为原价的 80%)
  • 未配置价格时使用默认值兜底,确保所有物品都可回收

全球市场 — 独创双层锁架构

Malkuth 的全球市场采用业界领先的并发安全设计,确保高并发场景下的数据一致性:

技术亮点:

  • 双层锁机制:本地 ReentrantLock(公平锁)+ Redis 分布式锁,处理单服和跨服并发
  • 毫秒级响应:100 个玩家同时购买同一商品(库存 1),只有 1 个成功,其余 99 个瞬间收到"已售罄"提示
  • 双重检查:获取锁后重新查询数据库,防止脏读和重复购买
  • 自动降级:Redis 异常时自动降级为本地锁,保证高可用性
  • 死锁预防:锁超时自动释放(5 秒),定期清理未使用的锁对象

玩家体验:

  • 相同物品自动按价格从低到高排序,买家优先看到最便宜的商品
  • 多维度词条筛选(品质/类型/等级等),快速定位目标商品
  • 实时显示近期交易平均价(默认 24 小时),帮助判断价格合理性
  • 支持白名单/黑名单控制可上架物品,防止垃圾商品泛滥

20+ 物品源兼容

通过 Arim 物品框架统一管理,无缝对接主流物品插件:

直接支持 ItemBridge 扩展
MythicMobs, Zaphkiel, ItemsAdder, NeigeItems, MMOItems, Oraxen, CraftEngine, DragonArmourers SX-Item, Slimefun, HeadDatabase, ExecutableItems, AzureFlow, MagicGem, PxRpg, Ratziel, CustomFishing, Nexo, Nova, HMCCosmetics, Sertraline, Eco 全系列

切换物品插件无需改动商店配置,一行 material 搞定:

display:
  material: "mm: 强化宝石"     # MythicMobs
  # material: "ia: ruby_sword" # ItemsAdder
  # material: "ni: 暗影之刃"   # NeigeItems

回收系统特别支持:

  • CustomFishing 物品回收:通过 NBT 直接读取物品 ID 和价格,无需配置映射
  • 动态价格计算:支持从物品 NBT 读取价格并应用倍率(如回收价 = 原价 × 80%)
  • 智能匹配:支持按物品 ID 精确匹配或匹配所有 CustomFishing 物品

灵活的货币系统

每个商店可独立配置货币类型,内置 Vault 和 PlayerPoints 支持。更强大的是,任意 PlaceholderAPI 变量都可以作为货币,通过 Kether 脚本定义扣除和给予逻辑:

custom_points:
  mode: "%custom_points%"
  take: |-
    command inline "points take {{ sender }} {{ &money }}" as console
  give: |-
    command inline "points give {{ sender }} {{ &money }}" as console

限购 & 动态定价

  • 四种限购维度:每日 / 每周 / 永久 / 自定义时间窗口
  • 个人限购 + 全局限购,支持 Kether 条件表达式(如 VIP 差异化额度)
  • 供需公式驱动的动态定价,交易量自动影响价格,支持 min/max 约束

6 种物品给予模式

模式 说明
none 不给物品,仅执行脚本动作(纯服务类商品)
source 从物品源获取原始物品
display 给予 UI 展示的物品(含所有 display 修改)
ignore_lore 原始物品 + display 的 lore
ignore_name 原始物品 + display 的 name
attribute 给予属性加成(AttributePlus / SX-Attribute)

用户体验

购物车

跨商品批量选购,同商品自动合并数量,一键结算。部分失败不影响其他商品。

收藏夹

右键商品快速收藏,收藏列表一键跳转源商店,数据库持久化存储。

搜索 & 比价

关键词搜索跨所有商店匹配商品名称和 lore。比价功能自动汇总同物品在不同商店的价格,按价格升序排列,点击结果直接跳转。

赠送系统

购买确认界面直接赠送给其他玩家,支持离线玩家(通过邮箱投递)。

邮箱系统

赠送物品、背包溢出、管理员发放、待领取货币,四种邮件类型。上线自动推送未读数量,支持逐件领取或一键全部领取。

交易历史

记录所有交易类型(购买 / 出售 / 回收 / 拍卖 / 赠送),个人模式和管理员模式,按时间倒序展示。

挂单系统

创建求购挂单(匹配规则 + 最高价 + 数量),系统自动撮合,支持查看和取消挂单。


脚本驱动

内置 Kether、JavaScript、Jexl 三种脚本引擎。价格公式、购买条件、购买后动作、商店开关条件均可通过脚本控制:

# 购买条件
if: 'perm vip'

# 购买后动作
actions: |-
  tell color inline "&7购买了 {{ &amount }} &f{{ &display-name }}"
  tell inline "共消费 {{ &price }}"

# 商店开关条件
enable: 'check time < 1740672000000'

性能

  • 缓存分层:本地 ConcurrentHashMap + 可选 Redis 跨服共享 + 数据库持久化
  • 全异步 IO,主线程零阻塞
  • 热重载:命令触发或文件监听自动重载,不影响在线玩家

开发者 API

提供完整的公开接口和事件系统,方便二次开发:

val api = MalkuthAPI.instance

// 打开商店
api.openShop(player, "my_shop")

// 注册自定义货币
api.registerCurrency("gems", myCurrency)

// 查询余额 / 限购 / 动态价格
api.getCurrencyBalance(player, "vault")
api.getRemainingPurchaseLimit(player, "shop", "goods_1")
api.getEffectivePrice("shop", "goods_1")

// 邮箱
api.sendMailItem(player, itemStack, "来自管理员的礼物")

事件:PlayerOpenShopEvent / PlayerCloseShopEvent / PlayerPurchaseEvent / PlayerRecycleEvent / PlayerSellEvent / MalkuthReloadEvent


为什么选择 Malkuth?

功能完整度 — 六大商店模式覆盖所有经济场景

大多数商店插件只提供基础的买卖功能,Malkuth 提供完整的经济生态:

  • 普通商店:经典 NPC 商店,支持自定义布局和模板
  • 限时商店:节日活动、赛季奖励的最佳选择
  • 回收商店:灵活的匹配规则,支持动态价格计算,深度集成 CustomFishing(NBT 读取物品价格)
  • 玩家商店:玩家自主上架、编辑、交易,离线自动收款
  • 拍卖行:竞价系统,实时出价更新
  • 全球市场:跨服交易平台,价格排序 + 词条筛选 + 近期均价 + 毫秒级并发安全

技术领先性 — 独创双层锁架构

并发安全是商店插件的核心痛点。Malkuth 采用独创的"双层锁"架构:

  • 本地锁(ReentrantLock):处理单服务器内的毫秒级并发,公平锁机制确保先到先得
  • Redis 分布式锁:处理跨服务器并发,支持多服务器集群部署
  • 双重检查机制:获取锁后重新查询数据库,确保数据最新状态
  • 自动降级策略:Redis 异常时自动降级为本地锁,保证高可用性

实测数据:100 个玩家同时购买同一商品(库存 1),只有 1 个成功,其余 99 个瞬间收到"已售罄"提示,零超卖。

配置灵活性 — YAML + Kether 脚本驱动

无需写代码,服主通过配置文件即可定制几乎所有行为:

  • 价格公式:支持动态定价,交易量自动影响价格
  • 购买条件:Kether 条件表达式,支持权限、变量、时间等复杂判断
  • 购买动作:执行命令、发送消息、给予属性等,完全自定义
  • 货币系统:任意 PlaceholderAPI 变量都可作为货币,通过 Kether 脚本定义扣除和给予逻辑

用户体验 — 完整的购物链路

不仅仅是"买"和"卖",Malkuth 提供完整的购物体验:

  • 购物车:跨商品批量选购,一键结算
  • 收藏夹:右键收藏常买商品,快速定位
  • 搜索 & 比价:关键词搜索 + 跨商店价格对比
  • 赠送系统:购买后直接赠送给其他玩家(支持离线)
  • 邮箱系统:离线交易、背包溢出、管理员发放,四种邮件类型
  • 交易历史:记录所有交易,个人/管理员双视图
  • 挂单系统:创建求购挂单,系统自动撮合

性能优化 — 主线程零阻塞

  • 缓存分层:本地 ConcurrentHashMap + 可选 Redis 跨服共享 + 数据库持久化
  • 全异步 IO:所有数据库读写在异步线程执行,主线程零阻塞
  • 热重载:命令触发或文件监听自动重载,不影响在线玩家
  • UI 构建缓存:商品展示 ItemStack 缓存,避免重复构建

开发者友好 — 完整的 API 和事件系统

提供 30+ 公开接口和 14 个事件(Pre/Post 双事件模式),方便二次开发:

  • 打开商店、注册自定义货币、查询余额/限购/动态价格
  • 邮箱系统、购物车、收藏夹等功能的 API 接口
  • 生命周期事件(打开/关闭商店、重载)+ 交易行为事件(购买/出售/回收/拍卖/赠送)

环境要求

项目 要求
服务端 Bukkit / Spigot / Paper 1.12+
Java 8+
必需依赖 无
可选依赖 Vault, PlayerPoints, PlaceholderAPI, 各物品源插件
数据库 SQLite(默认) / MySQL
缓存 本地(默认) / Redis

快速开始

  1. 将 Malkuth.jar 放入 plugins/ 目录
  2. 启动服务器,插件自动生成默认配置和示例商店
  3. 使用 /malkuth reload 热重载配置
  4. 使用 /malshop open <商店ID> 打开商店

购买 & 售后

  • 售价:100R
  • 联系作者 QQ:1747484670
  • 售后支持:可根据用户需求更新功能

链接

  • 文档:plugin.hhhhhy.kim/docs/malkuth
  • 购买咨询 / 问题反馈:QQ 1747484670
BBSMC Logo

中国最活跃的 Minecraft 中文资源社区

QQ 群:1078515449

资源

模组整合包光影资源包

社区

汉化软件插件

帮助

服务条款隐私政策社区规则开源代码
设置

"Minecraft"以及"我的世界"为美国微软公司的商标,本站与微软公司没有从属关系。 本站与 Modrinth 无从属关系,网站遵循 LGPL 协议开源。

© 2019-2026 青岛柒兮网络科技有限公司 | 鲁B2-20210590 | 鲁ICP备2021009459号-12 | 公安备案 鲁公网安备37021002001586号