🏅 AdventureMedal

AdventureMedal 为服务器提供可收藏、佩戴、购买和赋予属性的勋章系统。玩家可在仓库中切换展示勋章,也可配置独立的属性槽和粒子槽。

🗃️

收藏仓库

集中查看已拥有勋章、有效期和当前佩戴状态。

🛒

多货币商城

免费、Vault、PlayerPoints、勋章币、物品和权限等购买方式。

属性扩展

药水 Buff、粒子效果和三槽位选择机制。

🌐

跨服同步

共享 MySQL 后定期刷新在线玩家勋章状态。

版本1.1.0
服务端Spigot / Paper 1.20.4 API,Java 17
存储SQLite(默认)或 MySQL
可选依赖PlaceholderAPI、Vault、PlayerPoints

📥 安装与存储

  1. 安装 Java 17,并将插件放入服务端 plugins/
  2. 如需对应购买方式,先安装 Vault 或 PlayerPoints。
  3. 启动一次生成 config.ymlstorage.yml、GUI 与语言文件。
  4. 选择 SQLite 或 MySQL,重启后使用 /am reload 只重载业务配置。
storage-method: SQLite
MySQL:
  Host: 127.0.0.1
  Port: 3306
  Database: mc_adventuremedal
  User: root
  Password: ""
  UseSSL: false
💡 跨服环境

多子服必须改用同一 MySQL;SQLite 只适合单服。

🏅 勋章模型

主要属性

属性说明
名称与展示文本支持颜色代码,前后括号由主配置统一设置
购买类型notvaultplayerPointscoinitemStackpermissionactivity
有效期天数为 0 表示永久
Buff / 粒子可关联药水效果和粒子展示
商城隐藏可隐藏特定勋章或隐藏玩家已购勋章

显示位置

  • 聊天显示默认开启。
  • Tab 与头顶显示默认关闭,避免与计分板插件冲突。
  • 推荐通过 PlaceholderAPI 交给统一聊天和 TAB 插件渲染。

🗃️ 勋章仓库

玩家使用 /am open 打开仓库,查看当前持有的勋章并切换佩戴。GUI 外观由 gui/open.yml 控制。

行为设置

  • togglesCoolDown:切换冷却,默认 1 秒。
  • isAutoUse:新获得勋章后是否自动佩戴,默认关闭。
  • selectEnable:启用后三槽位分别选择前缀、属性和粒子。
  • 过期勋章不再提供展示与效果。
⚠️ 三槽位模式

启用前确认聊天/TAB 模板使用正确变量,否则玩家可能只看到展示槽而误以为属性槽未生效。

🛒 勋章商城

/am shop 打开商城,/am shop <类型> 可按购买方式筛选。

类型支付来源
not免费领取
vaultVault 经济
playerPointsPlayerPoints 点数
coin插件内置勋章币
itemStack指定物品数量
permission拥有指定权限
activity活动获得

shopHideBought: true 可让已购勋章不再出现在商城中。

Buff 与粒子

Buff 模式

  • isEnableBuff 控制整个属性系统。
  • isAllBuff: false 时只有属性槽勋章生效。
  • isAllBuff: true 时玩家仓库中全部勋章 Buff 叠加。
  • disabledBuffWorld 可禁用指定世界的属性。

粒子

粒子定义与勋章关联,三槽位模式下由粒子槽独立选择。管理员可通过 /am particle add|delete 管理。

🎴 勋章卡与奖励

勋章卡

  • /am card create 创建指定勋章卡。
  • /am card random 创建随机勋章卡。
  • 玩家使用卡片后由监听器发放相应收藏。

勋章奖励

/am reward add 可为拥有数量等条件配置 Vault、PlayerPoints 或勋章币奖励。奖励面板与发放记录由 RewardService 管理。

⚙️ 主配置

language: zh_CN
default: "§f[ §7萌新 §f]"
prefixBrackets: "§f[ "
suffixBrackets: " §f]"
isChat: true
isTab: false
togglesCoolDown: 1
isEnableBuff: true
isAllBuff: false
isAutoUse: false
customLength: 16
shopHideBought: false
selectEnable: false

配置文件

文件用途
config.yml显示、Buff、备份与跨服开关
storage.ymlSQLite/MySQL
gui/open.yml仓库界面
gui/shop.yml商城界面
material.yml物品材质定义
message.yml / languages/文本和语言

📦 批量导入

import.yml 中创建条目,将 enable 设为 true,再执行 /am medal import

example:
  enable: true
  medalName: "&e小富豪"
  buyType: "vault"
  amount: 10000
  day: 0
  itemStack: ""
  isHide: false
  description:
    - "&e这是一个示例勋章"
  buff: []
  buffDescription: []
💡 导入后检查

先使用 /am medal list 确认 ID,再到测试账号验证价格、有效期、Buff 和商城显示。

⌨️ 命令

根命令 /adventuremedal,别名 /am

命令组子命令
/am open打开个人勋章仓库
/am shop [类型]打开商城或筛选购买方式
/am medaladd/delete/list/import/setname/settype
/am playeradd/set/list/delete 玩家勋章
/am coingive/set/take/tip
/am buffadd/delete
/am particleadd/delete
/am cardcreate/random
/am reward add添加勋章奖励
/am view查看玩家仓库或商城
/am clear清理 medal/player/buff/particle/reward 数据
/am reload重载插件
🚨 clear 是破坏性命令

执行前备份数据库;它会清空对应类型的全量数据。

🔑 权限

权限默认用途
adventuremedal.open所有人打开仓库
adventuremedal.shop所有人打开商城
adventuremedal.shop.custom所有人自定义勋章
adventuremedal.adminOP管理员权限集合
adventuremedal.reloadOP重载
adventuremedal.medal/player/coinOP对应数据管理
adventuremedal.buff/particle/card/rewardOP扩展内容管理
adventuremedal.view/clearOP查看或清理数据

📊 PAPI 变量

变量前缀为 adventuremedal

变量结果
%adventuremedal_use% / _medal%当前展示勋章,包含括号
%adventuremedal_use_raw%纯勋章名
%adventuremedal_use_buff%当前属性槽勋章
%adventuremedal_use_particle%当前粒子槽勋章
%adventuremedal_coin%勋章币
%adventuremedal_count%拥有勋章数量

🌐 跨服同步

sync:
  enabled: false
  interval: 30
  1. 所有子服将 storage-method 设为 MySQL。
  2. 连接同一数据库。
  3. 各服启用 sync.enabled
  4. 根据数据库压力设置 15—60 秒刷新间隔。

同步服务会定期从数据库刷新在线玩家缓存;切换勋章等写操作仍立即落库。