TRCStudioDean
本帖最后由 TRCStudioDean 于 2023-3-24 22:34 编辑
插件简介

这个插件本来是我服务器的私人插件,由我专门编写出来给自己服务器用的
但由于一些特殊原因,我在这里将这个插件发布出来给广大服主们使用
插件成品于2019年11月完成,目前已开源,开源地址 点击跳转
最后希望你们能喜欢这个插件
如有问题,欢迎加入【红色创意|MC插件综合交交流群】群号714363113

LiteSignIn


什么是 LiteSignIn ?:

这是一个使用门槛低、不需要编辑一堆花里胡哨选项的签到插件,虽然叫做简易签到,但它的功能也不少,麻雀虽小五脏俱全。它能保存玩家的签到记录,并且在玩家进行签到的同时给予玩家特定的奖励。 奖励的内容可自定义,并且拥有多种模式,例如连续签到时的奖励、签到总次数达到一定数值时的奖励、指定日期签到时的奖励等。插件拥有一个长得像日历一样的箱子GUI作为签到菜单,所有的权限节点、消息提示、以及GUI内的按钮和功能等均可自定义。

前置
Java8以上运行环境(必须)
PlaceholderAPI插件(可选)

插件功能:

  • 每日签到,支持在进入游戏时提醒签到
  • 拥有一个箱子GUI作为签到菜单
  • 支持查看历史记录,以及菜单的翻页(像日历一样)
  • 多语言支持
  • 配置文件自动修复(有点难解释,意思是就算你把Config.yml里的东西全删了,插件也能正常运作)
  • 支持多种签到奖励形式,例如连续签到的奖励,签到达到一定次数的奖励,指定日期签到的奖励等(看下边)
  • 支持PlaceholderAPI,并提供一部分占位符变量
  • 支持MySQL数据库储存模式
  • 支持SQLite数据库储存模式
  • 支持补签,玩家可以使用补签卡对指定遗漏日期进行签到
  • 支持使用收藏品相关命令管理特殊nbt的物品(命令/signin itemcollection,详见下方图片)
  • 签到排行榜查看
  • 使用命令直接给予玩家签到奖励(可以不通过签到直接获得签到奖励)
  • 数据库备份
  • 数据库回档(需要配合备份功能使用)
  • 提供开发者API(包名studio.trc.bukkit.litesignin.api和studio.trc.bukkit.litesignin.event.custom)
  • 签到奖励任务顺序编辑
  • 自动签到,有特殊权限的玩家进服自动签到
  • 多组奖励模式(可开关)同时拥有多个奖励组的权限的玩家可以同时获得这些组的奖励
  • 补签卡可以是虚拟道具或者是游戏内特殊nbt的物品
  • 支持多权限组,不一样的权限组拥有不一样的签到奖励
  • 签到排名功能,你今天是全服第几个玩家签到的呢?
  • 告示牌脚本功能,你可以设置玩家在点击木牌时签到(完全自定义,你甚至可以用这个功能来干其他的事情 :D)
  • 所有权限节点、消息提示、以及GUI内的一切设置均可自定义(但你要记住这个不是一个自定义菜单插件)
  • 还有其他的功能,请自己在使用中探索吧!


支持的签到奖励模式
  • 默认奖励,每一次签到时所获得的奖励(可以被更高级的奖励覆盖)
  • 补签奖励,每一次补签时所获得的奖励
  • 连续签到奖励,当玩家连续签到数达到一定次数时触发
  • 特别周签到奖励,当玩家在指定星期里签到可触发(例如周日)
  • 总计签到奖励,当玩家总计签到数达到一定次数时触发
  • 特殊日期签到奖励,当玩家在一年之内某个特殊时期签到(例如12月25号圣诞节,6月1号儿童节等)时获得特定奖励
  • 特殊时间段签到奖励,当玩家在某一个时间段进行签到(例如19:30-23:00)时获得特定奖励
  • 签到排名奖励,当玩家今日全服签到排名第几位(例如今日全服第一个签到的玩家)时获得特殊奖励

以上签到奖励均可自定义提示信息执行多行命令(服务器执行、玩家执行、OP执行)获得特殊的物品,每一个权限组都可以拥有属于自身的以上奖励类型设置、除了默认奖励和补签奖励以外,其他奖励均可创建无数个子节点,例如连续签到奖励,可以设置连续签到3次、5次、10次等更多次数的奖励,并且它们的奖励都是独立的


命令功能:
按Tab自动补全
命令 (主命令:/signin 或 /litesignin) 功能
/signin help查看帮助
/signin reload重载配置文件与数据库连接
/signin gui [月份] [年份]打开签到菜单
/signin click [日期/玩家] [玩家]直接签到,或者对某一日期进行补签
/signin info [玩家]查看某个玩家的个人信息
/signin save保存当前玩家数据
/signin itemcollection管理收藏品
/signin database管理数据库(备份、回档等)
/signin reward直接给予玩家签到奖励
/signin leaderboard [日期]查看签到排行榜
更多命令敬请期待....


示例图片
命令使用
签到功能演示(图中是在我自己的服务器内,仅作示范)
签到菜单和登入提示
查看历史记录(日历翻页)
签到排行榜

玩家数据查询
补签卡和补签功能演示
收藏品功能,用于辅助设置签到奖励
签到告示牌,可以设置玩家点击告示牌时签到

直接给予玩家签到奖励


PlaceholderAPI占位符&变量:
%litesignin_signed-in% 该玩家是否已签到
%litesignin_group% 获取该玩家所在签到权限组
%litesignin_cards_amount% 获取玩家的补签卡数量
%litesignin_total% 获取玩家的签到总次数
%litesignin_continuity% 获取玩家当前连续签到的次数
%litesignin_queue% 获取玩家今日签到排名
%litesignin_last_year% 获取上一次签到时的年份
%litesignin_last_month% 获取上一次签到时的月份
%litesignin_last_day% 获取上一次签到时的日期
%litesignin_last_hour% 获取上一次签到时的小时
%litesignin_last_minute% 获取上一次签到时的分钟
%litesignin_last_second% 获取上一次签到时的秒

其他占位符&变量:
%litesignin_random_[最小值]_[最大值]% 获取一个随机数 (这只是个小工具,可以用在签到奖励中的命令功能和物品奖励数量)


默认配置文件
插件将检测服务器系统语言生成对应语言的配置文件
注意,如果你是面板服务器,或者是境外的VPS、独立机,你很有可能得到的是英文版配置文件
点击下方跳转到默认配置文件(中文版)
Config.yml
CustomItems.yml
GUISettings.yml 1.13+新版
GUISettings.yml 1.12.2旧版
Messages.yml
RewardSettings.yml 1.9+新版
RewardSettings.yml 1.8.9旧版
WoodSignSettings.yml



插件下载
建议有spigotmc账号的用户前往原帖进行下载,能第一时间获得插件更新提示
█████,如果您要查看本帖隐藏内容请回复


结束语
喜欢这个插件且有条件的话,请在Spigotmc上给本插件五星好评,
或者在爱发电支持我(https://afdian.net/@TRCStudio)你们的支持就是我更新的动力!
原帖地址: 点我跳转
本插件已开源,开源地址https://github.com/TRCStudioDean/LiteSignIn
但请注意,你不可以在未授权的前提下转载、借用本插件的源代码,违者必究。
如果你有更好的更新建议和想法,可以在评论中告诉我。
使用统计(1.4.2版本以上)

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


米安博奥
光看图就感觉质量蛮高的

构思特ghost
爱了爱了~~

Sapherise
支持!稀饭这个插件,希望能继续更新下去厚!

超人152
支持!这款插件是我目前见过功能最全的,希望作者可以继续更新呀~

mishanai
看起来就很高级很美~~
请问他可以翻成繁体吗?
因为更改后他一样会恢复成原本的样子...

Mc_cssz
可以不错收藏了

TRCStudioDean
mishanai 发表于 2020-6-3 08:09
看起来就很高级很美~~
请问他可以翻成繁体吗?
因为更改后他一样会恢复成原本的样子... ...

按照插件默认提供的语言格式进行拓展语言就可以了

Jltxzzz
这个插件体验极佳,服务器里使用良好

neverlag
支持一下原创插件

TRCStudioDean
超人152 发表于 2020-6-3 02:00
支持!这款插件是我目前见过功能最全的,希望作者可以继续更新呀~

我会的,如果喜欢这个插件的人够多,我会考虑重新编写底层代码并开源

冉冉学长
这个插件挺不错的~  但是请问一下虚拟的补签卡又应该怎么样获取呢?

二哈大魔王
所以 这个签到插件 应该是没有什么bug了..你都实战半年多了 先收藏..

随缘灬
请问不支持数字ID吗。

mishanai
本帖最后由 mishanai 于 2020-6-3 20:32 编辑
TRCRedstoner 发表于 2020-6-3 11:56
按照插件默认提供的语言格式进行拓展语言就可以了

我是照你说的那样做,但重启伺服器以后,它就变成预设的中文跟英文而已,我增加的那一个文件就变成Messages.yml.old这是后台显示的
  1. [19:12:45 ERROR]: null
  2. org.bukkit.command.CommandException: Unhandled exception executing command 'signin' in plugin LiteSignIn v1.0.0
  3.         at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  4.         at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  5.         at org.bukkit.craftbukkit.v1_15_R1.CraftServer.dispatchCommand(CraftServer.java:752) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  6.         at net.minecraft.server.v1_15_R1.PlayerConnection.handleCommand(PlayerConnection.java:1825) ~[?:git-Paper-184]
  7.         at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1633) ~[?:git-Paper-184]
  8.         at net.minecraft.server.v1_15_R1.PacketPlayInChat.a(PacketPlayInChat.java:47) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  9.         at net.minecraft.server.v1_15_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  10.         at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  11.         at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  12.         at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  13.         at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  14.         at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  15.         at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:1059) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  16.         at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:1052) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  17.         at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  18.         at net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:1022) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  19.         at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:945) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  20.         at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]
  21. Caused by: java.lang.NullPointerException
  22.         at studio.trc.bukkit.litesignin.util.SignInGUI.getGUI(SignInGUI.java:34) ~[?:?]
  23.         at studio.trc.bukkit.litesignin.event.Menu.openGUI(Menu.java:34) ~[?:?]
  24.         at studio.trc.bukkit.litesignin.command.SignInCommand.onCommand(SignInCommand.java:61) ~[?:?]
  25.         at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[Paper-1.15.2-b185.jar:git-Paper-184]
  26.         ... 17 more
复制代码




TRCStudioDean
mishanai 发表于 2020-6-3 19:45
我是照你说的那样做,但重启伺服器以后,它就变成预设的中文跟英文而已,我增加的那一个文件就变成Message ...

因为你自己做的这个Messages.yml无法被服务器所加载,所以才会变成.yml.old并被替换成了默认配置文件,你好好检查一下你的设置文件里是否有格式错误

TRCStudioDean
冉冉学长 发表于 2020-6-3 17:27
这个插件挺不错的~  但是请问一下虚拟的补签卡又应该怎么样获取呢?

虚拟补签卡和物品补签卡获取方法都是一样的,命令/signin retroactivecard [give/set/take]

TRCStudioDean
随缘灬 发表于 2020-6-3 19:07
请问不支持数字ID吗。

什么数字ID

牧七
很棒的插件感谢楼主的分享

mishanai
TRCRedstoner 发表于 2020-6-3 20:55
因为你自己做的这个Messages.yml无法被服务器所加载,所以才会变成.yml.old并被替换成了默认配置文件,你 ...

可以了,非常感谢你
我照你说那样复制贴上新增新的语言配置
没办法使用,只好从原本的更改~

随缘灬

就是比如染色玻璃是95,不同颜色ID就是95:1..95:2这样子。最主要还是想要能用上菜单贴图Mod

TRCStudioDean
随缘灬 发表于 2020-6-3 22:20
就是比如染色玻璃是95,不同颜色ID就是95:1..95:2这样子。最主要还是想要能用上菜单贴图Mod ...

右转隔壁VexSign吧,这个插件没那么刁钻的功能
功能列表最后一行我写着不要把这个插件当一个自定义菜单插件,你只能用物品的名字作为Material

wangdejion
实用的签到插件可以

灼热小太阳
很棒,签到插件由于我不会用vv的就来拿走这个啦

莫零ya
            Retroactive-Time:
                #禁止玩家通过补签获得以下模块的奖励
                Disabled-Modules:
                    #建议开启, 以防止玩家直接获得某些特殊日期的专属奖励
                    Special-Dates: false
                    Special-Times: false
                    Statistics-Times: false
这三条是什么意思?

下一页 最后一页