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.manageOP管理玩家积分
dogtag.reloadOP重载配置

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 使配置立即生效。