kk121
本帖最后由 kk121 于 2023-4-2 15:19 编辑
前言
收藏本贴,更新不迷路

前置插件
[转载][API][PCD]PlaceholderAPI 一 插件前置API/PAPI变量[1.7.X-1.19.X]
https://www.mcbbs.net/thread-1216863-1-1.html
(出处: Minecraft(我的世界)中文论坛)




项目已重写并开源
开源地址: https://gitee.com/i-xiaotian/AfkReward

在站内找了好久能限制玩家状态的在线奖励插件,
但是苦于一直找不到自己想要的功能的那一款(大部分都是固定死给指定物品,并且没有开始时间和结束时间的明确设定)
我就索性自己写了一个
下面我们来看看都有什么功能



功能
  • 玩家在线时输入开始挂机指令
  • 挂机分为自由挂机和区域挂机,可在配置文件中配置
  • 自由挂机将会被禁止一切操作,区域挂机只能在区域内移动
  • 同时开始计时,当挂机时间达到奖励时间后停止挂机将会获得奖励,比如奖励时间5分钟,挂机15分钟会获得3次奖励
  • 如果期间玩家掉线或者服务器崩溃重启,会记录玩家最终结束挂机时间为玩家离线的时间,上线后不再是挂机状态,也无法开始挂机,需要先停止挂机结算后可再次进入挂机状态
  • 可设置玩家每天最多通过挂机获得奖励的次数
  • 挂机需要权限,同时不同的挂机类型分为普通奖励和vip奖励,给予vip相应的权限后每次都会只领取VIP挂机奖励
  • 所有挂机类型和挂机区域都需要在配置文件内配置,按照配置文件的格式设置好后重载插件即可




使用方法

玩家需要有配置文件内挂机类型的使用权限
每种类型都需要给予玩家 AfkRewards.start.类型 权限
如配置文件内设置挂机类型为:点券挂机
那么需要给予玩家 AfkRewards.start.点券挂机 权限,玩家才能正常使用点券挂机指令
同时没有VIP的玩家会执行common配置内的奖励指令(详情看下方配置文件)
新增内容:当前指令支持服务器内安装的所有papi变量,并且支持加减乘除运算
注意:加减乘除运算可与占位符同时使用,如%player_level%*100,中间请不要留有空格
如果想设置某玩家可以领取vip奖励,那么需要给予他权限 AfkRewards.vip
玩家可以通过 /tnafk 指令获得插件帮助
通过/tnafk start 指令获得当前可用的所有挂机类型,点击挂机名称后会进入挂机状态
通过/tnafk area start指令会开始区域挂机,如果玩家站在设置好的区域内输入将会进入挂机状态,区域可设置多个
挂机时玩家被禁止一切操作。
输入/tnafk list 可以查看当前正在挂机的玩家的挂机类型和已经挂机的时间
输入/tnafk top 可查看当前服务器内挂机时间排行榜
正在挂机的玩家输入/tnafk end即可结束挂机并且领取挂机奖励(如果挂机时间达到要求)




游戏内截图

开始自由挂机



开始区域挂机


结算


挂机列表



挂机排行榜










插件命令
命令 功能
/tnafk start 开始进入挂机状态并开始计时
/tnafk end 结束挂机状态并计算领取奖励
/tnafk list 查看目前正在挂机的玩家
/tnafk top 查看所有挂机玩家的排行
/tnafk area start在当前位置所处的挂机区域内开始挂机


插件变量

placeholderApi变量列表
%the_north_afk_type% 挂机类型 返回值(自由挂机,区域挂机,未挂机)
%the_north_afk_reward% 类型/区域名称 返回值(上方配置的自由挂机和区域挂机名)
%the_north_afk_time% 当前挂机时间 返回值(xx时xx分xx秒)
%the_north_afk_total% 总挂机时间 返回值(xx时xx分xx秒)
%the_north_afk_today% 今日获得奖励次数 返回值(数字)
%the_north_afk_freq% 获得奖励总次数 返回值(数字)
%the_north_afk_player% 当前挂机总人数 返回值(数字)

配置文件

  1. <font size="2">version: 3.2

  2. # 作者QQ: 1254806967,有问题请联系

  3. # 语言文件
  4. language: message.yml

  5. # MYSQL配置(不懂请不要修改)
  6. mysql:
  7.   # 是否使用数据库
  8.   enable: false
  9.   # mysql连接
  10.   url: 127.0.0.1
  11.   port: 3306
  12.   user: root
  13.   password: root
  14.   database: minecraft
  15.   pool: 10

  16. # 挂机奖励设置
  17. reward:
  18.   # 奖励周期(分钟/次)
  19.   round: 5
  20.   max:
  21.     # 是否限制最大奖励次数(天)
  22.     enable: false
  23.     # 如果上方设置为true 设置最大次数
  24.     # 玩家权限 AfkRewards.not.reward.limit 无视限制
  25.     limit: 36
  26.   player:
  27.     # 是否限制最大同时挂机人数
  28.     enable: true
  29.     # 如果上方设置为true 设置最大人数
  30.     # 玩家权限 AfkRewards.not.player.limit 无视限制
  31.     limit: 10
  32.   # 是否开启区域挂机
  33.   enableArea: true
  34.   # 是否开启自由挂机
  35.   enableAfk: true

  36. # 奖励设置
  37. type:
  38.   # 奖励名称
  39.   # 可以自行添加
  40.   # 每种类型都需要给予玩家 AfkRewards.start.类型 权限,如 AfkRewards.start.point
  41.   money:
  42.     # 描述
  43.     describe: 每次奖励。。。。
  44.     # 如果玩家拥有AfkRewards.start.money权限, 奖励以下指令,支持多行,自行添加
  45.     # 指令支持placeholder占位符,如%player_name% %player_ping% 等服务器内拥有的变量
  46.     # 指令支持简单四则运算 加+减-乘*除/,其他符号暂时不支持运算
  47.     common:
  48.       - 'money give %player_name% 10'
  49.       - 'minecraft:give %player_name% wood 64'
  50.     # 如果玩家拥有AfkRewards.vip权限
  51.     vip:
  52.       - 'money give %p 100'
  53.       - 'minecraft:give %player_name% diamond 64'

  54.   point:
  55.     describe: 每次奖励。。。。
  56.     common:
  57.       - 'point give %player_name% 100'
  58.       - 'minecraft:give %player_name% wood 64'
  59.     vip:
  60.       - 'point give %player_name% 1000'
  61.       - 'minecraft:give %player_name% diamond 64'
  62.   可中文:
  63.     describe: 每次奖励。。。。
  64.     common:
  65.       - 'point give %player_name% 100'
  66.       - 'minecraft:give %player_name% wood 64'
  67.     vip:
  68.       - 'point give %player_name% 1000'
  69.       - 'minecraft:give %player_name% diamond 64'
  70.       -
  71. # 挂机区域设置
  72. area:
  73.   # 区域名称 (可按照格式自行添加其他区域)
  74.   # 权限 AfkRewards.area.* 例: AfkRewards.area.zhucheng
  75.   zhucheng:
  76.     # 区域设置(可以是多边形)
  77.     pos:
  78.       world: zhucheng
  79.       # 角坐标点位(X,Z)坐标, 这里写范围多边形的各个角
  80.       posList:
  81.         - '10,10'
  82.         - '10,100'
  83.         - '100,10'
  84.         - '100,100'
  85.     # 该区域是否开启
  86.     enable: true
  87.     # 该区域奖励类型(上方配置)
  88.     type: money


  89. # placeholderApi变量列表
  90. # %the_north_afk_type% 挂机类型 返回值(自由挂机,区域挂机,未挂机)
  91. # %the_north_afk_reward% 类型/区域名称 返回值(上方配置的自由挂机和区域挂机名)
  92. # %the_north_afk_time% 当前挂机时间 返回值(xx时xx分xx秒)
  93. # %the_north_afk_total% 总挂机时间 返回值(xx时xx分xx秒)
  94. # %the_north_afk_today% 今日获得奖励次数 返回值(数字)
  95. # %the_north_afk_freq% 获得奖励总次数 返回值(数字)
  96. # %the_north_afk_player% 当前挂机总人数 返回值(数字)</font>
复制代码







插件权限

权限 功能
afkrewards.vip vip玩家奖励
afkrewards.start.根据配置文件自定义 给予玩家某类型的挂机权限
afkrewards.not.player.limit 无视挂机位限制
afkrewards.not.reward.limit 无视挂机奖励次数限制



已知BUG

目前暂无
如果大家使用过程中遇到问题
记得及时回复哦





下载地址


最新版本

AfkReward-3.2.jar (50.22 KB, 下载次数: 375)




旧版




联系方式
QQ:1254806967
VX:czb3537





近期更新

2021.8.5
插件发布
2021.8.6
更新至1.1版本
修复开始挂机后下线,再次上线输入start时间被重置的bug
修复开始挂机后,下线后再上线,然后再下线重置挂机结束时间的bug
更新至1.2版本
增加可自定义的文本信息 message.yml
更新至1.3版本
修复配置文件设置挂机人数上限无效的问题
2021.8.9
更新至2.1版本!!!
现在玩家如果挂机途中掉线
新增玩家挂机时间配置文件记录
新增玩家掉线后服务器如果重启再次上线也能领取奖励的功能
2021.8.24
修复服务器各种异常崩溃后玩家数据丢失的问题
2021.8.27
添加设置挂机类型的功能
添加设置vip与普通用户不同奖励的功能
新增tnafk start 类型名称 开始类型挂机的指令
增加多条限制权限
2021.9.1
新增mysql数据库存储
现在玩家结束挂机时全服通报挂机结果,插件将会记录玩家总共通过挂机领取过多少次奖励
2021.9.23
修复java16无法使用的问题
2021.9.26
修复挂机后无法结束挂机的问题
2021.11.14
插件重写
解决大部分遗留问题
新增挂机时间排行榜
现在可以tab补全挂机类型啦
项目已开源到gitee
2021.11.22
修复一些因疏忽导致的bug
2023.1.13
新增区域挂机功能
新增挂机次数限制
多种挂机可自行配置是否开启
修复以往bug,如开始挂机后仍然能移动,结束挂机后还是无法移动
2023.3.25
新增无视限制权限两个
修复限制领取次数结束挂机无法退出的bug
2023.4.2
现在奖励指令内可以支持输入papi变量了
现在奖励指令内可以进行加减乘除运算了
例子:money give %player_name% %player_level%*10
上方例子可以做到:玩家等级越高,挂机获得金币越多







本插件所用所有代码均为原创,不存在借用/抄袭等行为





名副其实
版规规定
未达优秀禁止设置回复可见
请你立即撤下

MC_XP
新鲜插件!我收下了

kk121
名副其实 发表于 2021-8-5 22:55
版规规定
未达优秀禁止设置回复可见
请你立即撤下

看错了,以为那是下拉隐藏

奥力給
感谢发布,希望可以把玩家数据保留到配置文件!

kk121
奥力給 发表于 2021-8-6 15:21
感谢发布,希望可以把玩家数据保留到配置文件!

好的,之后的版本更新时尝试修改一下

cyxzbd
特别好用的插件,支持大大一下

kk121
cyxzbd 发表于 2021-8-6 16:21
特别好用的插件,支持大大一下

谢谢啦~有bug反馈一下哦

杀手小走
看起来还不错

梅花K
MCBBS有你更精彩!

JFe
感谢发布,等待更新!

kk121
奥力給 发表于 2021-8-6 15:21
感谢发布,希望可以把玩家数据保留到配置文件!

已更新存储到配置文件

胖虎AA

新鲜插件!我收下了

小莫哟pwp
MCBBS有你更精彩

kk121
本帖最后由 kk121 于 2021-8-16 11:43 编辑

不久后更新一下特殊奖励,还有修复崩服之后玩家数据异常的问题(正常不是崩服的话一般不会出现这个问题)

toretgman
請問可以添加多種掛機類型!?
像是能夠
/tnafk start 1 金幣掛機
/tnafk start 2 點卷掛機
/tnafk start 3 經驗掛機

kk121
toretgman 发表于 2021-8-17 19:35
請問可以添加多種掛機類型!?
像是能夠
/tnafk start 1 金幣掛機

奖励指令可以设置多条

toretgman
kk121 发表于 2021-8-18 08:40
奖励指令可以设置多条

有辦法設置多區域嗎?
就是能分開不同的獎勵類型

kk121
toretgman 发表于 2021-8-19 09:16
有辦法設置多區域嗎?
就是能分開不同的獎勵類型

现在莫得,可以的话过几天更新

GA9527
挺有意思的 我也觉得加个分区域不同奖励 或者不同权限弄vip特殊奖励就更完善了

bai_gou
牛哇牛啊啊

九幽dada
新鲜插件!我收下了

q3135579242
很棒 的挂机奖励插件

酥氿鸭
感谢分享 非常好用的挂机类插件,玩家再也不用担心挂机没奖励了awa

kk121
toretgman 发表于 2021-8-17 19:35
請問可以添加多種掛機類型!?
像是能夠
/tnafk start 1 金幣掛機

已更新此功能

kk121
GA9527 发表于 2021-8-26 23:52
挺有意思的 我也觉得加个分区域不同奖励 或者不同权限弄vip特殊奖励就更完善了 ...

已更新此功能

二哈大魔王
如果挂机的玩家过多的话 会不会像一些在线给钱插件一样造成卡顿啊

kk121
二哈大魔王 发表于 2021-8-29 02:03
如果挂机的玩家过多的话 会不会像一些在线给钱插件一样造成卡顿啊

逻辑不一样,不会的,而且配置文件可以限制挂机玩家数量

shen_da
感觉还不错,就是挂机前还得打指令,不能自动识别

shen_da
还不错,支持原创插件,希望持续更新

浮生几许亿
顶,很好用的插件,支持

kk121
shen_da 发表于 2021-8-29 08:15
感觉还不错,就是挂机前还得打指令,不能自动识别

自动识别的话比较占用服务器资源鸭,而且我目的就是让需要挂机的自己开启

kk121
浮生几许亿 发表于 2021-8-29 12:11
顶,很好用的插件,支持

谢谢啦,使用遇到bug记得反馈嗷

windcity
讲真这个插件,用上数据库之后可以在网页中查看挂机信息了

转子拖拉机
挂机奖励非常不错

蓬岛以列左煮茶
不错的插件哎,这样玩家就越来越多了

GA9527
挂机很久后 输入end无效 重进就成这样了
还有一直跳跃我就入土

kk121
GA9527 发表于 2021-9-2 17:05
挂机很久后 输入end无效 重进就成这样了
还有一直跳跃我就入土

你用的是最新版的吗,使用的是文件存储还是数据库存储

Rui3128
建议加个挂机时可使用的指令

dibwew
感谢楼主分享

kk121
Rui3128 发表于 2021-9-15 22:46
建议加个挂机时可使用的指令

比如呢,实现什么样的功能

Rui3128
kk121 发表于 2021-9-16 16:11
比如呢,实现什么样的功能

就是想在挂机时候加个可以用的指令,主要是一些人记不住指令就想把结束挂机的指令加到菜单
还有就是建议把挂机的指令改成挂机的时候输入指令就是结束,没挂机的时候输入就是挂机,这样或许加到菜单会比较好

kk121
Rui3128 发表于 2021-9-16 20:37
就是想在挂机时候加个可以用的指令,主要是一些人记不住指令就想把结束挂机的指令加到菜单
还有就是建议 ...

那样要改挺多东西的

LitthoX
1.7.10 u端,给玩家每个类型权限了,玩家能使用挂机指令,但是还是可以移动操作,时间到了不给奖励,会给OP奖励

kk121
LitthoX 发表于 2021-9-17 20:13
1.7.10 u端,给玩家每个类型权限了,玩家能使用挂机指令,但是还是可以移动操作,时间到了不给奖励,会给OP ...

有报错什么的吗

MC_wusan
很好的一个插件

MC_wusan
很棒的插件

MC_wusan
对于挂机人来说就是天堂

MC_wusan
牛~~~~~~~~~~~~~~~

MC_wusan
牛~~~~~~~~~~~~~~~~~~~~~~~~~~~

下一页 最后一页