Cavalry_仰望
本帖最后由 Cavalry_仰望 于 2022-9-26 12:29 编辑




前言
[插件名称Signin已更名为Activity]
    很高兴你们能够喜欢我的插件,本插件的主要功能为提供一个日历并显示节日,
让玩家在上面签到获得奖励。
同时统计玩家在线时间,给予在线奖励。
如果有疑问请联系我


#功能#
签到
界面是一个日历,可以看到日期和节日
签到提醒

玩家每个月默认有两次补签机会,可以用指令给玩家添加次数,当然这个指令可以放在奖励中
指令: /activity chance [玩家] <次数>




在线
玩家下线后连续时长会清理,并添加到每日跟总时长,领取奖励后在线时长添加到总时长跟每日时长
有奖励后Shift+点击这个按钮就能领取

在线提醒

跃度
玩家在线、签到或做抢答都可获取积分
查看排名/activity rank


抢答
发起一个抢答,抢答在一分钟后结束,玩家可以点击选项抢答

一分钟后奖励第一个答对的人并公示
创建抢答/quiz [问题] [正确选项] [选项] [选项] [钝角] [选项]
示例指令/quiz 测试问题 B 选B正确 选我选我 不要选我 选我错误

奖励
本插件有多个获奖渠道,每个渠道都有自己的奖池,在触发奖励时,玩家随机获得奖池中一个奖品





#图片#

#配置#
文件config.yml  language.yml



指令
权限
/activity                                 - 打开菜单
/activity help                          - 帮助列表
/activity add [p]  <a>             - 给予a活跃度
/activity chance [p]  <a>         - 给予a次补签机会
/activity rank                          - 查看活跃前十玩家
/quiz                                      - 提问,详见教程
/reward                                  - 奖励,详见教程

p表示玩家,a表示数量,<>表示可选,[]表示必填


activity.admin
activity.admin
activity.rank
activity.quiz
activity.reward

没有指令权限的,玩家默认可以使用

#下载#
Activity-3.0.2.jar (246.5 KB, 下载次数: 350)
CraftGUI-1.1.6.jar (541.44 KB, 下载次数: 328)

1.19 版本以上ProtocolLib插件需要5.0.0

近期更新
2022年9月26日 12点28分
修复占用CPU的问题

2022年8月25日 20点04分
修复打开空白的bug,优化奖池排序



欢迎加群反馈bug或提出建议 :497952380
插件开源 https://github.com/Fireflyest/Activity

历史更新:


有bug偷偷告诉我呗
746969484
施舍点金粒,顶一下,谢谢大家


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

2021.12 数据,可能有更多内容



前言※[插件名称Signin已更名为Activity]
    很高兴你们能够喜欢我的插件,这个插件插件做的不好请大家多多包含,谢谢你们帮我寻找错误,很长一段时间以来因为有你们的支持我才慢慢成长,在插件性能上也有很大的改变。希望这次能少一点给你们添加麻烦。如果有疑问请联系我目前正在打磨这个作品


#功能#
签到
-=玩家可以每天签到获得奖励=-
图片




未签到提醒



补签:
玩家每个月默认有两次补签机会,可以用指令给玩家添加次数,当然这个指令可以放在奖励中




奖励类型指令
签到可以设置多个奖励指令,并随机获得
节日签到、连续签到设置额外的指令


图中&quot;测试&quot;是节日的名称,在config.yml设置节日
在线-=玩家在线时长换取奖励=-自定义条件:
所需时长可以自己设置(数字+单位,例如3时、30分或1天错误: 3时30分(有两种单位)),玩家下线后连续时长会清理,并添加到每日跟总时长,领取奖励后在线时长添加到总时长跟每日时长(只扣除相应时间)奖励类型也为指令,可以自己设置
在线提醒
任务-=玩家做任务换取积分=-
有三种任务形式: 开采 击杀 交谈(目前该功能为完善,以后会多加改进)tip: 击杀为玩家杀死任务对象 开采为打破任务对象 交谈为左/右键任务对象


积分-=玩家积分换取奖励=-玩家在线、签到或做任务都可获取积分




#图片#
签到的物品将跟随日历显示

根据日历显示位置
输入/signin 时的帮助菜单
活跃商店

连续签到

在线奖励

任务

#配置#
三个文件config.ymllanguage.ymlPlayerdata
其中Playerdata不需要改动,为自动生成储存玩家数据。
分每个玩家一个文件容易操作(只有服务器关闭时可以用文件操作,否则会被更新)
前两个文件我都加上中文注释了所以这里不多说
其中
注意: 所有物品、生物名称,如果出现错误请自行去WIKI或其他方式查找

config.yml
1

代码:

  1. Festival:
  2. #节日名,月,日,显示物品,奖励指令
  3. - National,10,1,NETHER_STAR,give %player% diamond 10
  4. - Christmas,12,25,COOKED_CHICKEN,give %player% COOKED_CHICKEN 1
  5. - 测试,3,4,NETHER_STAR,give %player% diamond 10
请按照格式添加节日(注意空格,逗号为英文逗号)
如果要添加农历节日请去查查他的公历吧


2
config.yml中

代码:

  1. Rewards:
  2. - give %player% poisonous_potato 1
  3. - give %player% diamond 1
  4. - give %player% gold_ingot 3
  5. - give %player% golden_apple 1
  6. - eco give %player% 200
这里是签到的奖励,玩家签到随机取一个指令作为奖励,可自行修改


3
config.yml中

代码:

  1. Activity:
  2. #位置,显示物品,品质,花费,奖励指令
  3. - 19,WHITE_SHULKER_BOX,普通,100,give %player% diamond 1
  4. - 11,LIME_SHULKER_BOX,良好,300,give %player% diamond_block 1
  5. - 29,LIGHT_BLUE_SHULKER_BOX,精品,500,give %player% diamond_block 10
  6. - 13,PURPLE_SHULKER_BOX,极品,800,give %player% elytra 1
  7. - 31,YELLOW_SHULKER_BOX,至尊,1000,give %player% dragon_head 1
  8. - 23,ORANGE_SHULKER_BOX,史诗,3000,give %player% wither_skeleton_skull 1
  9. - 21,RED_SHULKER_BOX,神遗,5000,give %player% nether_star 1



  10. Signin:
  11. #位置,显示物品,类型,花费,奖励指令
  12. - 10,LEATHER_HORSE_ARMOR,连续,3,give %player% gold_ingot 3
  13. - 20,IRON_HORSE_ARMOR,连续,7,give %player% emerald 16
  14. - 22,GOLDEN_HORSE_ARMOR,连续,15,give %player% diamond 20
  15. - 14,DIAMOND_HORSE_ARMOR,连续,30,give %player% slime_block 2
  16. - 12,ENCHANTED_BOOK,累计,99,give %player% creeper_head 1



  17. Playtime:
  18. #位置,显示物品,类型,时长,奖励指令
  19. - 10,BRICKS,本月,8时,give %player% gold_ingot 25
  20. - 12,IRON_BLOCK,本月,3天,give %player% emerald 16
  21. - 14,GOLD_BLOCK,本月,7天,give %player% elytra 1
  22. - 28,BRICK,持续,30分,give %player% gold_ingot 6
  23. - 30,IRON_INGOT,持续,2时,give %player% diamond 5
  24. - 32,GOLD_INGOT,持续,5时,give %player% golden_apple 1
这里是三个商店的内容,可自行修改(菜单的最后两列请勿使用,位置是你数格子的位置-1,因为在获取时0也算一个格子)

4
config.yml中

代码:

  1. Task:
  2. #目前三种类型
  3. #任务名,任务,类型,对象,值,显示物品(请勿使用书跟附魔书),活跃度
  4. - 初来乍到,newly,谈话,守护者,1,SLIME_BALL,10
  5. - 勤劳矿工,daily,开采,DIAMOND_ORE,3,DIAMOND_ORE,30
  6. - 勤劳伐木,daily,开采,原木,3,OAK_LOG,10
  7. - 亡灵杀手,daily,击杀,亡灵,10,BONE,10
  8. - 猎空杀手,daily,击杀,飞行,10,ELYTRA,10
  9. - 发家致富,newly,开采,原木,10,OAK_LOG,10
  10. Object:
  11. #这里是任务对象的范围
  12. 原木: ACACIA_LOG,BIRCH_LOG,DARK_OAK_LOG,JUNGLE_LOG,OAK_LOG
  13. 亡灵: ZOMBIE,SKELETON
这是任务的设置daily代表每日刷新, newly代表新手任务自动接受只能接受一次(还未完成)
Object是任务对象的范围(任务对象为原木,那么砍Object原木中哪些方块都可以完成)
谈话类型为 点击名称为目标名称的NPC 开采为破坏方块 击杀为杀死生物
任务列表中未接受为书本,已完成为附魔书,所以任务显示物品不要用这两个(奖励领取后列表中这个任务会消失)
每日任务每天早上5点更新(还未测试)




指令
权限
/activity  - 打开菜单
/activity add [p]&lt;a&gt;   - 给予a次签到
/activity rank    - 查看活跃前十玩家
p表示玩家,a表示数量,&lt;&gt;表示可选,[]表示必填

activity.add


菜单功能玩家默认有

#下载#
1.14版本



持续更新:
2020/5/27 19.50
Activity 2.0测试版本 有风险使用请考虑 正在更新数据库支持请先不要使用sql
该版本只做测试(已修复 在线奖励领取错误 月份更新错误)


2020/7/4 23.18
修复更新月份不清空数据bug
添加指令/activity initial 清空所有玩家签到数据
不知道为什么附件点不开
[td]链接:
https://pan.baidu.com/s/1eVUx2WV7wnLlPOjyHs-itQ
Activity-2.0.1-SNAPSHOT
提取码:du50



[/td]
新增抢答功能
/activity quiz [问题] [正确选项例如A] [选项] [选项] [选项](两个以上)
聊天框点击选项可以回答


任务进度条 接受任务指令
/activity task [玩家] [任务]


日期格式可自定义


玩家活跃度可视化
/activity data [玩家]
查看玩家本月活跃情况


每日活跃排行优化


提醒按钮可直接到达目标界面
/activity task 打开任务界面
/activity playtime 打开在线奖励界面


config.yml 编辑方式修改为键值型


tab指令提示优化
更新需要删除所有配置文件重新配置



插件开源 https://github.com/Fireflyest/Activity


Feature:
添加任务类型 指令
添加在线活跃问题,并获得活跃积分
优化积分获取难易程度


目前多版本不兼容,需配置文件里修改物品名称
旧版已不再维护




历史更新:



2020/3/26 9:28
需要删除PlayData文件夹(请确保在插件关闭的情况下删除)
因为部分数据记录的方式改变
1、连续签到奖励的限制方式修改,每一种一个月只能领取一次
2、修复部分重启后数据不加载的问题
3、优化任务的判定方式,降低能耗
4、修改部分线程
5、部分奖励领取不消耗的bug


2020/3/11 22:40
修复累计时长领取不及时清空的bug
修复菜单排序错乱

2020/3/9 10:40
需要重新生成config.yml language.yml
添加补签次数可使用数字&lt;a&gt;,默认补签次数可设置
添加任务完成提醒,设置新手任务为任务列表第一个
添加周末额外奖励,设置方式同签到奖励
修复节日物品显示错误,将节日物品的展示名设置为变量节日名


2020/3/8 5:21
重写插件添加任务功能,活跃功能,更名为Activity,目前正在测试,如果愿意的话可下载帮忙寻找bug,也可以等待接下来更新。关于菜单头颅卡顿问题我已改为非主线程加载,但加载时仍会占用网络(不会卡顿但是会延迟一下)。
任务插件功能还在摸索,每天早上会更新每日任务(该功能未测试)。
新版本权限只有activity.add用于添加签到次数
在线时间设置只能有一个单位
头颅皮肤稍后添加可关闭


2019/9/9 12:47
优化插件,在线奖励添加菜单界面
需要重新生成config.ymllanguage.yml
在线奖励菜单的三个物品不设置成一样



2019/9/8 23:24
优化插件,修复一部分bug


2019/9/4 11:30
修复插件重启数据清空ubg

2019/9/4 8:16
修改补签奖励的奖励模式

2019/9/2 11:53
修复需要重启才更新日期的bug


2019/9/1 13:32
修改奖励模式,节日为额外奖励当天是节日会额外获得奖励并且获得签到奖励
否则只领取签到奖励
签到奖励分平时跟周末,只领取其中一种,若周末则不领取平时奖励


2019/9/1 8:44
修复无节日的月份显示异常错误

2019/8/28 21:22

修复奖励发放的重大错误

2019/8/28 15:05

修复小bug


2019/8/24 16:30
修复在线奖励给予对象不明确bug


2019/8/24 10:05
修复周末lore不显示的问题
添加根据日期显示物品数量
可以在config.yml里面设置关闭
旧版请删除config.yml重新生成


2019/8/23 13:09
添加自定义菜单物品
之前版本的请删除config.yml重新生成
版本低于1.13的应该换下菜单物品就行了


2019/8/23 9:20
修复菜单物品报错

2019/8/22 13:11

修复无补签时点击补签报错


有bug偷偷告诉我呗
746969484
施舍点金粒,顶一下,谢谢大家


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

X836696023
本帖最后由 X836696023 于 2020-8-30 12:57 编辑

不错的签到插件!我能否反编译并修改为支持1.12-R1的版本?如果可以,我将加上MySQL功能。

Cavalry_仰望
hmf55 发表于 2019-8-22 11:39
不错的签到插件!我能否反编译并修改为支持1.12-R2的版本?如果可以,我将加上MySQL功能。
...

加我qq我直接把源码给你

寂静人心
签到补签会报错
[12:29:28] [Server thread/ERROR]: Could not pass event InventoryClickEvent to SignIn v0.0.3
org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:520) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:505) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:2162) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.PacketPlayInWindowClick.a(SourceFile:33) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.PacketPlayInWindowClick.a(SourceFile:10) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:13) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(SourceFile:135) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(SourceFile:114) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.MinecraftServer.aW(MinecraftServer.java:895) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:888) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(SourceFile:123) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:872) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:805) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_192]
Caused by: java.lang.NullPointerException
        at com.github.fireflyest.PlayerListener.onInventoryClick(PlayerListener.java:133) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_192]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_192]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_192]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_192]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        ... 17 more

Cavalry_仰望
寂静人心 发表于 2019-8-22 12:30
签到补签会报错
[12:29:28] [Server thread/ERROR]: Could not pass event InventoryClickEvent to SignIn  ...

已修复,谢谢反馈

寂静人心

更新之后 进服但不使用的情况下会跳这个报错
[16:44:55] [Server thread/ERROR]: Fatal error trying to convert SignIn v0.0.3:com/github/fireflyest/OpenCommand.class
org.bukkit.plugin.AuthorNagException: No legacy enum constant for FILLED_MAP. Did you forget to define api-version: 1.13 in your plugin.yml?
        at org.bukkit.craftbukkit.v1_14_R1.util.Commodore$1$1.visitFieldInsn(Commodore.java:176) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.craftbukkit.libs.org.objectweb.asm.ClassReader.readCode(ClassReader.java:2210) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.craftbukkit.libs.org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1283) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.craftbukkit.libs.org.objectweb.asm.ClassReader.accept(ClassReader.java:688) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.craftbukkit.libs.org.objectweb.asm.ClassReader.accept(ClassReader.java:400) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.craftbukkit.v1_14_R1.util.Commodore.convert(Commodore.java:130) ~[Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.craftbukkit.v1_14_R1.util.CraftMagicNumbers.processClass(CraftMagicNumbers.java:266) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:108) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:202) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:92) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:81) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at java.lang.ClassLoader.loadClass(Unknown Source) [?:1.8.0_192]
        at java.lang.ClassLoader.loadClass(Unknown Source) [?:1.8.0_192]
        at com.github.fireflyest.PlayerListener.onLogin(PlayerListener.java:34) [SignIn-0.0.3.jar:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_192]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_192]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_192]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_192]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:520) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:505) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.PlayerList.a(PlayerList.java:173) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.LoginListener.c(LoginListener.java:149) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.LoginListener.tick(LoginListener.java:53) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.NetworkManager.a(NetworkManager.java:230) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.ServerConnection.c(ServerConnection.java:119) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1080) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:396) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:956) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:801) [Spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_192]

Cavalry_仰望
寂静人心 发表于 2019-8-22 16:47
更新之后 进服但不使用的情况下会跳这个报错
[16:44:55] [Server thread/ERROR]: Fatal error try ...

好像我菜单里放的一些物品是1.13的

寂静人心
Cavalry_仰望 发表于 2019-8-22 17:52
好像我菜单里放的一些物品是1.13的

嗯 我自己改了一下 最好是可以加个自行配置物品ID会更好

下一页 最后一页