- 版权类型
- 原创
- 插件中文名称
- 零之集字
- 插件英文名称
- ZeroCollect
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- 语言支持
- 中文(简体)
- 前置组件
- 无
- 适配版本(Java)
- 1.12
获取方式:请加交流群或联系作者获取
交流群:739322295
联系QQ:1904476689
插件核心亮点
多活动并行,一个文件一个活动
plugins/ZeroCollect/activities/ 目录下每个 .yml 就是一个独立活动,文件名就是活动名。玩家用 /collect <活动名> 打开对应界面。春节活动、周年庆活动、节日活动可以同时在线,各有各的集字和奖品,互不干扰。
全功能 GUI,放入即识别
玩家把集字放进界面的格子,插件自动识别并实时刷新下方可兑换的组合。布局完全可配——gui.yml 里用 9 个字符一行的方式画界面,# 是边框、I 是放入槽、C 是组合展示槽,想怎么排就怎么排。
自由组合,一套字多个兑换
同一批集字可以配置多个兑换组合。比如「集 2 字换初级奖励」「集 3 字换中级奖励」「集齐 4 字换终极奖励」,玩家可以按自己收集进度选择兑换哪个。奖励通过命令发放,可以对接任何物品库、经济插件、点券系统。
集字 NBT 防伪签名(核心黑科技)
这是本插件最硬的一点。每个集字物品的 NBT 里写入四个私有标签:所属活动、字 ID、版本、以及 SHA-256(密钥:活动:字ID) 的防伪签名。想伪造?复制别人的 NBT、改活动名、改字 ID、改签名——任何一项对不上都判定为无效集字,界面直接拒绝放入并提示「这不是本活动的集字」。
账号限兑 + IP 限兑双重防刷
每个组合可以独立设置两条限制:- limit-account:每个账号只能兑换一次,防同一玩家反复刷
- limit-ip:同 IP 限制,防开小号
IP 限制还分两档模式。严格模式下会追溯历史 IP——只要某个 IP 下有过账号兑换过,该 IP 下的其他账号全部拦截,换号也没用。宽松模式只比对当前登录 IP,适合共享网络的服务器。
多服同步同一套集字
插件目录下会自动生成 token.key 防伪密钥。把这个文件复制到各个子服,所有服务器就能识别同一套集字,跨服活动也能正常运作。也可以直接在配置里强制指定密钥。
兑换全程留档
所有兑换记录写入 plugins/ZeroCollect/zc.db(SQLite)。服主随时可查:谁在什么时间兑换了哪个组合、用的哪个账号、什么 IP。遇到纠纷直接翻记录。
背包满不吞奖励
奖励发放时如果玩家背包放不下,物品会自动掉落在玩家脚下,并提示「背包已满,物品已掉落在你的脚下」。绝对不会因为背包满就把奖励吞掉。
管理指令齐全
/zcl get 发放集字、/zcl take 回收集字、/zcl reload 热重载配置,全程不需要重启服务器。
配置示例
只需简单的 YAML,即可实现上述所有复杂逻辑:活动文件(activities/新年快乐.yml):
yaml
title: "§e新年快乐 - 集字活动"
# 字物品配置:id -> 物品
items:
1:
name: "§e字·新"
material: "PAPER"
lore:
- "§7收集用于兑换"
2:
name: "§e字·年"
material: "PAPER"
3:
name: "§e字·快"
material: "PAPER"
4:
name: "§e字·乐"
material: "PAPER"
# 组合兑换配置
combos:
a:
display-name: "好运连连"
material: "CHEST"
lore:
- "§7这是一个初级组合"
requires:
- "1"
- "2"
limit-account: true # 每账号限兑一次
limit-ip: true # 同 IP 限制
commands:
- "give %player% diamond 5"
b:
display-name: "新春大礼"
material: "NETHER_STAR"
lore:
- "§7终极组合,集齐四字"
requires:
- "1"
- "2"
- "3"
- "4"
limit-account: true
limit-ip: true
commands:
- "give %player% diamond 16"
- "say %player% 集齐了新春四字!"
防刷模式与密钥(config.yml):
yaml
# IP 筛查模式
# true = 严格模式:曾经用过相同 IP 的账号,只要有一个兑换过,其他账号均无法兑换
# false = 宽松模式:仅当前登录 IP 与已兑换账号相同,才无法兑换
strict-mode: true
# 集字防伪密钥
# 留空 = 自动使用插件目录下的 token.key(首次启动自动生成,请勿删除)
# 多服同步同一套集字时,把 token.key 复制到各服即可;也可在此强制指定
# 修改或删除密钥会导致已发出的集字全部失效
security:
secret: ""
界面布局(gui.yml):
yaml
# 每行严格 9 个字符
# '#' = 边框 'I' = 放入集字的槽位 'C' = 组合展示槽位
layout:
- "#########"
- "#I#I#I#I#"
- "#########"
- "##CCCCC##"
- "##CCCCC##"
- "#########"
安装说明
- 将 ZeroCollect-1.1.x.jar 放入服务器 plugins 目录。
- 重启您的服务器。
- 插件会自动生成 plugins/ZeroCollect/ 目录,包含 config.yml、gui.yml、token.key,以及 activities/新年快乐.yml 示例活动。
- 编辑或新建 activities/ 下的活动文件,配置你的集字与组合。
- 用 /zcl get 新年快乐 1 你的名字 1 发放集字测试,玩家输入 /collect 新年快乐 打开界面。
指令与权限
| 指令 | 说明 |
|---|---|
| /collect <活动名> | 打开指定集字活动界面 |
| 指令 | 说明 |
|---|---|
| /zcl get <活动名> <字ID> [玩家] [数量] | 发放集字。不填玩家则给自己;数量默认 1,上限 64 |
| /zcl take <活动名> <字ID> [玩家] | 回收该玩家背包里所有这个字(无数量参数) |
| /zcl reload | 重载配置与活动文件 |
| /zcl help | 查看指令帮助 |
重要提示
token.key 千万别删。 它是集字的防伪密钥,删除或修改会导致所有已发出的集字全部失效,玩家手里的字会变成普通纸片。多服同步时把它复制到各服即可。开 BungeeCord / Velocity 架构时,如果玩家都在同一代理下,IP 限兑会误伤。此时建议把 limit-ip 设为 false,只保留 limit-account。
活动文件的文件名就是活动名。 玩家输入的 /collect 活动名 必须与文件名(不含 .yml)一致,改文件名等于改活动名。