一只小予散
本帖最后由 一只小予散 于 2022-7-21 21:08 编辑

  
HiaXnLevel
  
来源
l  本插件制作用时 100小时+
l  是我目前制作过所有插件用时最长的一个插件
l  本插件可以用来制作Domcer那种等级要求进入服务器的功能
l  上述功能将在本版本发布后(2021  11月3日) 会更新一个附属,用于设置等级进入
l  分别支持MYSQL 和  本地YAML储存
l  本插件的经验值独立
l  不干扰MC的经验
l  本人测试版本  1.16.2-1.16.5准确可以开启使用
l  1.17可能支持
l  理论1.8-1.17.1
l  本插件时针对Spigot单端制作的HiaXnLevel
l  对于群组服务器来说
l  建议不同的子服务器设有不同的奖励在线时长奖励制度
l  并且将权限组全服同步 [否则等级奖励会重复领取]
l  本插件主要是练习为主
l  本人目前高一(2021 11月)[这个插件的第一个版本是在我初三(2021 7月)毕业的时候做出来的]
l  学习java也才不过几个月,有一些技术上的问题还没有解决,需要等待一定的时间
l  来等我进行技术学习自我提升
  
关于等级算法
  
等级/经验公式为
设从1级升到level级所需要的总经验值为TExp 从1级升级到2级所需要的经验值为Def则
TExp(level)  = TExp(level -1) + 5(level - 2)² + 2(level - 2)³ + Def*level
TExp(level  - 1) 则为上一级的总经验值
  
关于指令&&权限
  
  
指令
l   /hxl addexp [经验值] [玩家] 强制增加某个玩家的经验
l   /hxl addlevel [经验] [玩家] 强制升级某个玩家
l   /hxl help 查看帮助
l   /hxl info [玩家] 查看某个玩家的等级信息
l   /hxl reload 重载插件
l   /hxl save 保存玩家信息数据到数据库或本地库 ->1小时会自动保存一次 玩家退出会保存单个玩家的信息
l   /hxl setexp [经验][玩家] 设置玩家的经验值
l   /hxl setlevel [等级][玩家] 设置玩家的等级
l   /hxl receive [奖励] [玩家] 给指定玩家领取指定的奖励->达到设置要求
l   /hxl addExpDouble [加成] [玩家] 增加玩家的加成倍数
l   /hxl setExpDouble [加成] [玩家] 设置玩家的加成倍数
l   /hxl FixAll 修复所有拥有错误等级的在线玩家
  
权限
n  HiaXnLevel.cmd.reload允许使用指令hxl reload
n   HiaXnLevel.cmd.addExp允许使用指令hxl addexp
n   HiaXnLevel.cmd.addLevel允许使用指令 hxl addlevel
n   HiaXnLevel.cmd.setLevel允许使用指令 hxp setlevel
n   HiaXnLevel.cmd.setExp允许使用指令 hxp setExp
n   HiaXnLevel.cmd.info允许使用指令 hxl info
n   HiaXnLevel.cmd.receive允许使用指令 receive
n   HiaXnLevel.cmd.save允许使用指令 hxl save
n   HiaXnLevel.cmd.setExpDouble 允许使用指令 hxl setExpDouble
n   HiaXnLevel.cmd.addExpDouble 允许使用指令 hxl addExpDouble
n   HiaXnLevel.cmd.FixAll 允许使用指令 hxl Fixall
  
游戏演示
  
  

  
  
PlaceHolderAPI支持
  
  玩家等级:   %HiaXnLevel_Level%
  玩家拥有的经验值:   %HiaXnLevel_Exp%
  玩家升级下一等级所需要的经验值:   %HiaXnLevel_UpgradeNeed%
  玩家在线时长[单位 分钟]  :%HiaXnLevel_OnlineTime%
→  等级进度条: %HiaXnLevel_expline%
  经验加成: %HiaXnLevel_expdouble%
  排行经验变量: %HiaXnLevel_EXP_TOP_#%
  排行等级变量: %HiaXnLevel_Level_TOP_#%
  排行玩家变量: %HiaXnLevel_Player_TOP_#%

  
关于Rewards.yml的在线奖励和等级奖励的设置
  
[giveexpdouble]  加成 给玩家经验加成
[giveexpondouble]  经验 在加成下给予经验
[givelevel]  等级 给予玩家等级
[Message]  信息 给玩家发送信息
[Console]  指令 用控制台身份执行命令
[Player]  指令 用玩家身份执行命令
[GiveExp]  数值 给玩家指定经验值
[GivePermission]  权限 给玩家某个权限
[PermissionGroup]  权限组 设置某个玩家的权限组
[RemovePermissionGroup]  权限组 移除某个玩家的权限组
[RemovePermission]  权限 移除某个玩家的权限
  
配置文件
  
  1. # 是否使用MYSQL
  2. # 若为False则使用YAML管理
  3. UseMysql: true
  4. # 如果你选择MYSQL
  5. # 则必须填写以下内容
  6. MysqlSettings:
  7.   User: "root"
  8.   Password: "123456"
  9.   Database: "HiaXnLevel"
  10.   useSSL: false
  11.   ConnectIp: "localhost:3306"
  12. # 是否需要将原版经验条与之同步
  13. # 请在开启服务器之前设置
  14. # 开启服务器后 重载需要reload整个插件才能生效
  15. # 而不是/hxl reload
  16. Synchronize_Exp: false
  17. # 是否开启等级修复
  18. # 本功能根据玩家经验值来判断玩家的等级是否存在异常
  19. # 如,拥有高的等级但是经验值对不上
  20. # 会有一定的资源占用
  21. # 默认定时 1小时一次
  22. LevelFixer: true
  23. # 语言设置
  24. # zh_CN目前支持
  25. Language: zhCN
  26. # 等级相关设置
  27. LevelSetting:
  28.   MaxLevel: 200
  29.   # 每次升级一次需要的经验次数
  30.   # 由于等级算法更新 这个LevelAddExp在1.5.0后的版本弃用
  31.   LevelAddExp: 1.1
  32.   # 从1级升级到2级需要的经验值
  33.   FirstUpgradeExp: 10
复制代码
  
下载
  
  
HiaXnLevel-1.6.0.jar (102.23 KB, 下载次数: 697)

附属
限制等级加入
HiaXnLevelJoin-1.0-SNAPSHOT.jar (7.17 KB, 下载次数: 77)
若玩家等级未达到设定值 则无法进入服务器
  
  
更新
  

  
更新规划
  
-  更合理的等级算法[√]
-  等级排行榜[√]
-  经验加成[√]
-  新的排版[√]
-  GUI领取奖励
-  GUI设置奖励
-  API文档
最后
  
-  如果您也想要学习写插件
-  如果您有一些写插件上的一些问题
-  欢迎来到我们的交流群
-  QQ群: 617509285
-  有建议的话欢迎提出呀!
-  喜欢本插件的话不要忘记留下一个评分噢~
   [评分人气是不会消耗自己的人气的!]
-  [是我更新的动力!]


laobai000
这个不错诶....

Witherw
整个挺实用的,不错

苏子峰

这个不错 ,是独立的经验值吗

一只小予散
苏子峰 发表于 2021-7-12 21:26
这个不错 ,是独立的经验值吗

是的
因为我之前是生存服想搞这个东西
但是会和MC的经验值冲突就感觉有点难搞
所以我做了这玩意

huanyingxichao
很好的插件,一直在找,不过建议作者在config里弄一个选项来决定用户是否启用将MC经验条和插件经验同步,毕竟像这种插件大多都是小游戏服务器需要的,感谢了

第一页 上一页 下一页 最后一页