- 版权类型
- 原创
- 插件中文名称
- 牢李emc
- 插件英文名称
- LIEMC
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Folia
- Purpur
- 语言支持
- 中文(简体)
- 前置组件
- PlaceholderAPI(可选):https://www.minebbs.com/resources/8229
Vault(可选,作为金币经济前置):https://www.minebbs.com/resources/7869
PlayerPoints(可选,作为点券经济前置):https://www.minebbs.com/resources/9144
- 适配版本(Java)
- 26.x
- 1.21
功能亮点
1. EMC 兑换系统
玩家可以通过 GUI 商店消耗 EMC 获取资源。支持:
- EMC 商店菜单
- 分页浏览
- 左键获取 1 个
- 右键获取一组或配置数量
- EMC 余额显示
- 已解锁数量显示
- 自动补充开关入口
- 搜索入口
- 收藏入口
- 默认必须先解锁再兑换
- 未解锁物品无法直接购买
- 搜索页和收藏页只能查看,不能购买
2. 物品回收系统
玩家可以把可转换物品出售为 EMC。支持:
/emc convert打开转换界面- 手动放入物品转换
/emc sellall一键出售背包内所有可转换物品- 出售成功后自动获得 EMC
- 出售成功后自动解锁对应物品
- 清理玩家背包中过量资源
- 让低价值资源重新进入经济循环
- 给长期挖矿、建筑、刷怪产出提供统一价值入口
3. 多条件解锁思路
当前默认解锁条件为:玩家必须先出售一次对应物品。配置项:
代码:
unlock:
require-before-withdraw: true
- 玩家第一次出售物品时自动解锁
- 解锁后才能在 EMC 商店复购
- 管理员可使用
/emc unlockall为玩家全解锁
4. 收藏与搜索系统
玩家可以对常用物品进行收藏,方便快速查找。操作:
- 在 EMC 菜单中 Shift+点击物品收藏
- 再次 Shift+点击取消收藏
- 点击“我的收藏”按钮查看收藏列表
- 使用
/emc search <关键词>搜索物品
- 收藏不会解锁物品
- 收藏不会绕过购买限制
- 搜索页和收藏页只用于查找与管理
- 真正购买只允许在 EMC 获取商店中进行
5. 自动补充系统
玩家开启自动补充后,当手中物品消耗完时,插件会尝试扣除 EMC 并补充一组。指令:
代码:
/emc autorefill on
/emc autorefill off
- 建筑服大量铺方块
- 空岛服持续放置材料
- 生存服批量消耗资源
- 创造模式不会触发
- 物品必须存在于 EMC 配置
- EMC 不足时不会补充
6. 手持物品快速上架
管理员可以直接把主手物品添加进 EMC 商店。指令:
代码:
/emc addheld <id> <emc> [unlockCost] [withdrawAmount]
/emc addhand <id> <emc> [unlockCost] [withdrawAmount]
代码:
/emc addheld custom_block 100
/emc addheld magic_ingot 500 0 16
- 写入本服配置
- 保留物品名称
- 保留 CustomModelData
- 保留原始 lore
- 自动追加 EMC 商店 lore
- 自动分类排序
- 自动上架 EMC 商店
- 自动打开搜索页定位新物品
- 写入数据库同步表
7. 跨服同步系统
LIEMC 支持多服连接同一个 MySQL,实现玩家数据和管理员上架物品同步。可同步内容:
| 内容 | 是否同步 |
|---|---|
| EMC 余额 | 是 |
| 已解锁物品 | 是 |
| 收藏列表 | 是 |
| 自动补充开关 | 是 |
/emc addheld 新增商店物品 | 是 |
| 手动修改 config.yml | 否 |
| lang.yml | 否 |
| 菜单布局 | 否 |
liemc_shop_items同步方式:
- A 服执行
/emc addheld example_block 100 - A 服立即上架并写入 MySQL
- B 服执行
/emc reload - B 服自动拉取并写入本地配置
- B 服 EMC 商店出现该物品
8. Folia / Luminol 支持
插件已在plugin.yml 中声明:folia-supported: true适合 Paper / Luminol
26.1.2 环境使用。指令列表
玩家指令
| 指令 | 说明 |
|---|---|
/emc | 打开 EMC 获取商店 |
/liemc | 打开 EMC 获取商店 |
/emc convert | 打开 EMC 转换界面 |
/emc search <关键词> | 搜索 EMC 物品 |
/emc sellall | 一键出售背包可转换物品 |
/emc balance | 查看 EMC 余额 |
/emc pay <玩家> <数量> | 转账 EMC |
/emc autorefill | 切换自动补充 |
/emc autorefill on | 开启自动补充 |
/emc autorefill off | 关闭自动补充 |
管理员指令
| 指令 | 说明 |
|---|---|
/emc reload | 重载配置并拉取跨服商店物品 |
/emc give <玩家> <数量> | 给予玩家 EMC |
/emc giveall <数量> | 给所有在线玩家 EMC |
/emc balance <玩家> | 查看玩家 EMC |
/emc unlockall [玩家] | 为玩家解锁全部物品 |
/emc stats | 查看物品统计 |
/emc addheld <id> <emc> [unlockCost] [withdrawAmount] | 添加手持物品并上架 |
/emc addhand <id> <emc> [unlockCost] [withdrawAmount] | 添加手持物品并上架 |
/emc sortitems | 整理物品分类顺序 |
权限节点
| 权限 | 默认 | 说明 |
|---|---|---|
liemc.use | true | 使用基础 EMC 功能 |
liemc.admin | OP | 使用管理命令 |
liemc.admin 自动继承 liemc.use。兼容与依赖
| 项目 | 说明 |
|---|---|
| 服务端 | Paper / Luminol |
| 目标版本 | 26.1.2 |
| Folia | 支持加载 |
| 存储 | SQLite / MySQL |
| 经济 | internal / Vault / PlayerPoints |
| 变量 | PlaceholderAPI |
plugin.yml libraries 加载:- HikariCP
- SQLite JDBC
- MySQL Connector/J
- Vault
- PlayerPoints
- PlaceholderAPI
配置示例
存储配置
代码:
storage:
type: "mysql"
mysql:
host: "127.0.0.1"
port: 3306
database: "liemc"
username: "root"
password: "1234"
use-ssl: false
pool-size: 10
经济来源
代码:
currency:
provider: "internal"
internalvaultplayerpoints
解锁配置
代码:
unlock:
require-before-withdraw: true
物品配置示例
代码:
- id: "grass_block"
material: "GRASS_BLOCK"
name: "&f草方块"
lore:
- "&7EMC: &e{emc}"
- "&7左键获取: &e{left_amount}"
- "&7右键获取: &e{right_amount}"
- "&8&m----------------"
- "&e★ 收藏: &f{favorite}"
- "&7Shift+点击: &e{favorite_action}"
emc: 2
withdraw-amount: 64
unlock-cost: 0.0
category: "01_建筑方块/01_自然基础"
PlaceholderAPI
| 变量 | 说明 |
|---|---|
%liemc_balance% | 玩家 EMC 余额 |
%liemc_unlocked% | 玩家已解锁物品数量 |
安装方法
- 将插件 jar 放入
plugins文件夹。 - 启动服务器生成配置。
- 修改
plugins/LIEMC/config.yml。 - 重启服务器或执行
/emc reload。 - 输入
/emc打开菜单测试。
LIEMC-0.1.0+build.81.jar常见问题
为什么物品不能兑换?
默认开启先解锁后兑换。玩家需要先出售一次该物品,解锁后才能兑换。收藏会不会解锁物品?
不会。收藏只用于快速查找,不改变解锁状态。搜索页和收藏页为什么不能买?
这是为了防止绕过主商店购买逻辑。搜索和收藏只负责查找,购买只允许在 EMC 获取商店中完成。跨服新增物品为什么没同步?
请确认:- 所有子服连接同一个 MySQL。
- 新物品是通过
/emc addheld或/emc addhand添加。 - 其他子服执行了
/emc reload或重启。 - 控制台没有数据库同步失败提示。