本帖最后由 zhanshi123 于 2020-2-26 12:50 编辑

VipSystem

简介

VipSystemEx可以帮你自主管理服务器的vip,支持限时,永久,可切换的vip。本插件使用带索引的SQLite或MySQL进行数据存储,支持自定义开启/关闭连接池,保证了兼容性和高效性。现在,VipSystem来到了Nukkit,本版本的VipSystem和Bukkit4.6版本的VipSystemEx功能基本类似
插件需要使用MultiPass或LuckPerms作为前置,请点击链接下载安装

命令

命令用途权限
/vipsys me查看你的vip情况
/vipsys give [玩家名] [Vip组名] [时间]给予玩家Vip(时间格式为xdxhxmxs,x天 x小时 x分 x秒)vipsys.give
/vipsys remove [玩家名]移除玩家的Vipvipsys.remove
/vipsys list查看Vip列表vipsys.list
/vipsys look [玩家名]查看玩家Vip情况vipsys.look
/vipsys reload重载插件vipsys.reload
/vipsys customs查看自定义函数vipsys.customs



用法介绍

基础用法

准备工作

将插件安装至服务器,重启
如果你需要使用中文版的插件,请找到/plugins/VipSystem/config.yml
将文件中的lang: en改为lang: zh_CN
并在服务器输入命令/vipsys reload以重载
你不需要额外配置默认组,插件会自动根据权限组插件返回默认组
创建好对应的vip组待命,例如创建一个组名为vip的组
如果你之前使用了旧版本的VipSystem 你可以直接将新版本安装进服务器并删除旧版本 插件会自动进行版本间的配置文件更新和数据结构更新


发放Vip

设玩家名为 Test 需要发放给Test 30天的vip权限组
则输入命令/vipsys give Test vip 30d
玩家可以使用/vipsys me来查看自己的vip情况
若需要移除vip,只需管理员输入/vipsys remove Test即可移除  


进阶用法

语言设置

插件内置了英语和中文,你可以将配置文件中的lang项目的值改为zh_CNen来使用插件内置的两种语言
你也可以自定义语言,将lang的值改为语言名之后,重载插件,插件会在messages目录下多生成一个以英文为模板的语言文件,你可以自主修改并重载生效语言文件


UUID模式

如果你的服务器是正版服务器
建议你在配置文件中启用UUID模式uuid: true


默认组设置

插件会根据权限组插件来决定vip到期后返回的权限组
如果你需要修改默认组,请在配置文件中设置 defaultGroup: builder
将返回的默认组改为builder或其他


返回开通前的上一个组

如果你想在玩家Vip到期时返回玩家开通Vip前的权限组
你可以设置previousGroup: true来实现这个功能
注意: 本功能和默认组设置不能同时使用


数据库

插件默认使用HikariCP连接池连接SQLite数据库,如果没有特殊需要,你无需改动该部分配置文件
如果你的服务端无法使用默认配置文件启动,并且报错中有hikarcp字样,请修改usePool的值为false
如果你需要使用MySQL,你可以设置useMySQL的值为true并在下方配置数据库地址等信息


全局Vip

如果你需要在指定世界使用VIP,你可以关闭isGlobal并配置下方的世界

  1. worlds:
  2.   - world
  3.   - world_nether
  4.   - world_the_end
复制代码

自定义到期时间格式

如果需要更改日期格式,可以参考https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html的占位符进行修改

自定义命令

你可以自定义vip开通/到期时的命令,下面是默认的配置文件

  1. customCommands:
  2.   vip:
  3.     activate:
  4.       - 'say {0} has activated vip!'
  5.       - 'give {0} minecraft:diamond'
  6.     expire:
  7.       - 'say {0} is no longer a vip'
  8.   svip:
  9.     activate:
  10.       - 'say {0} has activated svip!'
  11.       - 'give {0} minecraft:diamond'
  12.     expire:
  13.       - 'say {0} is no longer a svip'
复制代码

意思是,在vip开通时,执行下方命令,发送消息并给玩家一个钻石

  1. say {0} has activated vip!
  2. give {0} minecraft:diamond
复制代码

在vip到期时,执行下方命令,发送消息

  1. say {0} is no longer a vip
复制代码

svip组同理,如果你有更多的vip种类,可以按照上方格式自行添加
如果不需要使用该功能,可以直接整项删除


自定义函数

插件支持你自己编辑自定义函数,来完成一些自动的定时操作
比如你可以通过插件实现临时权限的功能

具体编辑的方法可以查看 http://www.zhanshi123.me/?p=320
上图的功能你可以直接前往https://www.mcbbs.net/thread-959456-1-1.html进行下载


插件下载

1.0: https://pan.baidu.com/s/1VZtYb6P0g1igCFa9on0n8Q 提取码: gkpg1.1: https://pan.baidu.com/s/1UTidKkE9VZsUHYlLOG9Phw 提取码: nwb9

API

你可以通过VipSystemAPI.getInstance()来获取VipSystemAPI的实例
更多内容待补充(目前Nukkit版本事件不可用)


联系作者

如果你想提交bug,你可以发送issue或加群563012939联系群主获取帮助
你同样也可以通过email联系 Email: i@zhanshi123.me


额外功能
目前插件集成了一些额外的功能下面将为你介绍每个功能的使用方法
具体请查看下方链接
http://www.zhanshi123.me/?p=355

源码: https://gitee.com/Soldier233/VipSystemNukkit
本插件所用代码部分来自其他开源或闭源(已授权)作品