- ◆ 支持核心
- Spigot
- ◆ 插件前置
- Vault[可选],PlayerPoints[可选],PlaceholderAPI[可选]
一、特性
- 支持在规定时间段领取
- 支持金币|点券充值领取
- 支持完成任务后领取
- 支持扣除:物品|点券|金币|指令领取
二、前置
- Vault
- PlayerPoints
- PlaceholderAPI
三、PlaceholderAPI变量
- %activity_hoeveelheid% 显示玩家领取数量
- %activity_category.<key>% 分类下活动总数
- %activity_category.<key>.not_started% 分类下未开始数
- %activity_category.<key>.active% 分类下进行中数
- %activity_category.<key>.expired% 分类下已结束数
- %activity_task.<rewardKey>.<taskKey>.name|progress|state% 某活动某任务的名称|进度|状态
四、图片
五、指令与权限介绍
指令 | 介绍 | 权限 |
/activity | 指令帮助 | 无 |
/activity open | 打开活动GUI | 无 |
/activity reload | 插件重载 | activity.admin |
其它权限 | 介绍 | |
加入给予物品权限 | activity.join |
六、配置文件夹
1.配置文件的差异
1.6版本
- config.yml
- reward/classify.yml
- reward/reward.yml
- lang/zh_cn.yml
- date/date.yml
1.5版本和之前的版本
- config.yml
- reward.yml
- lang/zh_cn.yml
- date/date.yml
2.config.yml
YAML:
#前缀
Prefix: '&6Activity >>'
#语言文件
#默认由插件识别系统语言而自动选择,若用户想自定义语言文件请自行添加自定义名称(看例如)。
#自定义语言文件不能与lang文件夹下的名称相同!
#例如:
#language: ol
language:
#GUI配置
gui:
title: '&6限时活动'
previous: '&e上一页'
next: '&e下一页'
page: '&e页码'
#数据储存方式,目前实现MySQL、SQLite、YAML的存储,主意:严格遵守大小写字母。
storage-method: YAML
#数据库连接信息
data:
#连接地址
address: '127.0.0.1'
#端口
port: 3306
#数据库名
database: 'mcpay'
#数据库用户
username: 'root'
#数据库密码
password: '123456'
#MySQL附加属性例如:?userSSL=false,等等。
Additional-url: ""
#连接池操作
HikariCP:
#连接超时时间 默认值:30000(30秒)
connectionTimeout: 30000
#最小空闲连接数
minimumIdle: 10
#池允许达到的最大大小,包括空闲和正在使用的连接
maximumPoolSize: 50
#活动菜单配置
item:
enable: true
name: '&6限时活动'
Material: COMPASS
lore:
- "&4限时活动!"
- "&4等你来领取!"
2.reward.yml
1.6版本
YAML:
# 活动奖励配置
# 每个顶层键定义一个活动
#
# 字段说明:
# name - 显示名称
# material - 物品ID
# classify - 活动分类, 对应 classify.yml 中的分类键
# starttime - 活动开始时间 (yyyy-MM-dd HH:mm:ss)
# endtime - 活动结束时间 (yyyy-MM-dd HH:mm:ss)
# lore - 物品描述, 支持占位符:
# %start_time% / %end_time% / %time_state% / %state%
# %deduct_<key>_name% / %deduct_<key>_amount%(command 类型不显示 amount)
# %grant_<key>_name% / %grant_<key>_amount%(command 类型不显示 amount)
# %task_<key>_name% / %task_<key>_progress% / %task_<key>_state%
# deducts - 扣除配置(领取前执行,全部成功才发放奖励)
# <deduct_key>:
# name - 扣除名称(可选,用于 lore 占位符)
# type - 扣除类型(command / item / playerpoints / vault)
# commands - 指令列表(type=command 时使用)
# material - 物品材质(type=item 时使用)
# amount - 数量(type=item/playerpoints/vault 时使用)
# itemname - 物品名称(可选,type=item 时用于按名称匹配扣除)
# lore - 物品描述(可选,type=item 时用于按描述匹配扣除)
# grants - 发放配置(所有扣除通过后执行)
# <grant_key>:
# name - 发放名称(可选,用于 lore 占位符)
# type - 发放类型(command / item / playerpoints / vault)
# commands - 指令列表(type=command 时使用)
# material - 物品材质(type=item 时使用)
# amount - 数量(type=item/playerpoints/vault 时使用)
# itemname - 物品名称(可选,type=item 时用于给物品命名)
# lore - 物品描述(可选,type=item 时用于给物品添加 lore)
# tasks - 任务列表, 全部完成才可领取
# %player_name% 会被自动替换为玩家名
#
# 任务类型 (tasks.<key>.type):
# COLLECT - 收集物品 (item.material, item.amount, item.name可选, item.lore可选)
# 必先匹配 material,name/lore 存在时与 material 做 AND 判断
# PAY - 累计充值 (pay.type = MONEY/POINTS, pay.amount)
# KILL - 击杀实体 (kill.Material = 实体类型, kill.amount, kill.name可选)
# 必先匹配实体类型,name 存在时与类型做 AND 判断
# CRAFTITEM - 合成物品 (item.material, item.amount, item.name可选, item.lore可选)
# 匹配规则同 COLLECT (name/lore 与 material 做 AND)
# CONSUME - 消耗物品 (item.material, item.amount, item.name可选, item.lore可选)
# 食品/药水消耗算数量,工具/武器/盔甲耐久消耗算次数
# 匹配规则同 COLLECT (name/lore 与 material 做 AND)
# CHAT - 发言 (chat.amount, chat.content可选)
# content 存在时消息必须包含该内容
abc:
name: "&a五一限时活动"
material: compass
classify: free
starttime: "2023-04-29 00:00:00"
endtime: "2023-05-03 23:59:59"
lore:
- "&a为乐庆祝五一的到来"
- ""
- "&a所以玩家在"
- "&a%start_time% —— %end_time% 期间"
- "&a免费领取60点券"
- "&a祝大家五一快乐"
- ""
- "状态:%state%"
- ""
- "&a%state%"
tasks:
task_1:
name: "收集绿宝石"
type: COLLECT
item:
material: emerald
amount: 10
task_2:
name: "累计充值点券"
type: PAY
pay:
type: points
amount: 100
task_3:
name: "合成钻石块"
type: CRAFTITEM
item:
material: diamond_block
amount: 5
task_4:
name: "消耗食物"
type: CONSUME
item:
material: cooked_beef
amount: 20
task_5:
name: "发言"
type: CHAT
chat:
amount: 10
content: "活动"
deducts:
deduct_1:
name: "扣除0点券"
type: playerpoints
amount: 0
grants:
grant_1:
name: "奖励60点券"
type: command
commands:
- "p give %player_name% 60"
1.5版本和之前的版本
YAML:
#项目名称
#abc
# 物品名称
# name: "&a限时领取点券"
# 物品ID
# Material: COMPASS
# 类型:GRATIS(免费)、PAY(付费)
# type: GRATIS
# 支付类型:POINTS(点券)、VAULT(金币、(游戏币))
# payType: POINTS
# amount: 10
# 开始时间
# startTime: "2023-04-29 00:00:00"
# 结束时间
# endTime: "2023-05-29 00:00:00"
# 物品显示的lore
# lore:
# - "&a规定时间内领取点券"
# - "&a规定时间内领取点券"
# - "&a规定时间内领取点券"
# - "&a规定时间内领取点券"
# 执行指令
# command:
# - "p give %player_name% 30"
abc:
name: "&a五一限时活动"
Material: COMPASS
type: GRATIS
payType: POINTS
amount: 10
startTime: "2023-04-29 00:00:00"
endTime: "2023-05-03 23:59:59"
lore:
- "&a为乐庆祝五一的到来"
- ""
- "&a所以玩家在"
- "&a4月29——5月3日期间"
- "&a免费领取60点券"
- "&a祝大家五一快乐"
command:
- "p give %player_name% 60"
3. classify.yml
YAML:
# 活动分类配置
# 定义活动中心的主菜单和活动分类
gui:
# 活动中心标题
title: "&4活动中心"
# 活动中心GUI尺寸 (9/18/27/36/45/54)
size: 27
# 分类定义
# 每个分类是一个顶层键,配置该分类在活动中心中的显示
# slot: 在活动中心GUI中的槽位位置 (0-26,取决于gui.size)
# %numbers% 会在lore中自动替换为该分类下的活动数量
free:
name: "&4免费活动"
slot: 11
Material: COMPASS
lore:
- "&a 限时活动"
- "&a 免费领取"
- "&a §c%numbers% §a个活动"
pay:
name: "&4付费活动"
slot: 13
Material: COMPASS
lore:
- "&a 付费活动"
- "&a 付费领取"
- "&a §c%numbers% §a个活动"