1-1. 简介
DogtagShop(狗牌商店)是一款基于狗牌系统的积分兑换插件,由曙光团队开发维护,使用纯 Bukkit API,兼容 Spigot / Paper 1.16+。
插件核心玩法:玩家死亡自动生成带有幽默死因描述的狗牌物品,将狗牌卖给管理员回收可获得积分,积分可以在商店中兑换物品或执行命令奖励。
所有代码已在 GitHub 开源,采用 MIT License,欢迎社区贡献。
1-2. 命令与权限
玩家命令
| 命令 | 说明 | 权限 |
|---|---|---|
/gp shop | 打开积分兑换商店 | dogtag.shop |
/gp hs | 打开狗牌回收菜单 | dogtag.recycle |
/gp jf | 查看自己积分 | dogtag.help |
/gp help | 查看帮助 | dogtag.help |
管理员命令
| 命令 | 说明 | 权限 |
|---|---|---|
/gp add <player> <amount> | 为玩家添加积分 | dogtag.manage |
/gp set <player> <amount> | 设置玩家积分 | dogtag.manage |
/gp take <player> <amount> | 扣除玩家积分 | dogtag.manage |
/gp reload | 热重载配置 | dogtag.reload |
权限节点
| 权限节点 | 默认 | 说明 |
|---|---|---|
dogtag.shop | 所有玩家 | 打开积分商店 |
dogtag.recycle | 所有玩家 | 回收狗牌 |
dogtag.help | 所有玩家 | 查看帮助和积分 |
dogtag.manage | OP | 管理玩家积分 |
dogtag.reload | OP | 重载配置 |
1-3. 配置说明
配置文件位于 plugins/DogtagShop/config.yml,插件首次启动时自动生成。
config.yml 配置示例
# 积分商店配置
shop:
items:
# 物品类型兑换
- name: "钻石剑"
material: DIAMOND_SWORD
price: 100
lore:
- "100 积分兑换"
# 命令类型兑换(使用 %player% 占位符)
- name: "执行命令奖励"
type: command
command: "give %player% diamond 5"
price: 200
配置支持 Minecraft 颜色代码,%player% 占位符会自动替换为玩家名。
1-4. 功能详解
狗牌生成机制
玩家死亡时,插件会自动在其背包中生成一个命名为「死因描述」的狗牌物品(如 "被苦力怕炸死")。死亡次数越多,收集的狗牌种类越丰富!
积分商店
商店支持两种奖励类型:
config.yml · 物品类型
- name: "钻石"
material: DIAMOND
price: 50
lore:
- "50 积分兑换一颗钻石"
config.yml · 命令类型
- name: "飞行奖励"
type: command
command: "effect give %player% minecraft:levitation 10 1"
price: 200
滥用防护
插件会监听以下行为并阻止:
- 用狗牌物品命名生物
- 在铁砧上重命名狗牌物品
这样可以防止玩家刷取狗牌,保障经济平衡。
1-5. 安装指南
构建插件
本地执行 ./gradlew build,在 build/libs/ 获得 DogtagShop-1.0.jar。
放入插件
将 jar 文件复制到服务器的 plugins/ 目录。
启动服务器
启动或重载服务器,插件会自动在 plugins/DogtagShop/ 下生成配置文件。
配置商店
编辑 config.yml 定义商店物品和兑换价格。
热重载生效
运行 /gp reload 使配置立即生效。