寒雨_Moro
本帖最后由 寒雨_Moro 于 2021-2-10 14:31 编辑

ArathothI 是一款来自中国的物品属性插件.

有人可能会说,重复造轮子是没有必要的,我们已经有SX和AP了
但对于强迫症的我来说,这两款插件都不太合我口味
这并不是说它们不好,实际上它们都是极其优秀的作品,至少不是我这个萌新能写出来的代码
但 " 每个插件都有每个插件的特色,不是所有插件都能适应使用者的习惯 "
所以我选择了自己开发一款称心的属性插件,也就是ArathothI
事实上,ArathothI也在功能上做出了较多的创新
所以意义党们别在我这儿浪费时间了,不爱用可以用别的


功能快照:



权限属性:
给指定玩家加上Arathoth.PermAttr.{属性名}.{type}.{value},即可让玩家拥有指定数值的属性。
配合LuckPerms的时限权限可以做时限属性
type: number(数值),percent(百分比)
value: 值,由于权限的格式,小数点请使用p来代替
example:
Arathoth.PermAttr.PhysicalDamage.number.14p52 拥有这条权限的玩家增加14.52点物理伤害
Arathoth.PermAttr.MagicArmor.percent.33p33 拥有这条权限的玩家增加33.33%的魔法护甲

属性列表:


条件列表:







命令:





配置文件:

单个属性配置:
  你可以在ArathothI/Attributes目录下找到你想要编辑的属性配置
   它们的通用格式是:
  1. 属性名:
  2.   #是否启用
  3.   Enable: true
  4.   #这是匹配这个属性的正则Pattern
  5.   #支持多个,[VALUE] 所在位置就是匹配属性值的地方
  6.   Patterns:
  7.   - '[VALUE] xxx'
复制代码
  部分属性配置有其他的内容,按着功能填就完事了   Condition配置同上
   config.yml:
  1. # ArathothI Configuration
  2. # @Author 寒雨
  3. # 本插件只在MCBBS上发布!

  4. # Debug 等级
  5. Debug-Level: 0
  6. # 槽位设置,只有注册槽位的物品的第一行lore含有
  7. # 该槽位关键词时这个物品的属性词条才会被读取
  8. Slots:
  9.   MainHand: 'MainHand'
  10.   Register:
  11.     36: 'Boots'
  12.     37: 'Leggings'
  13.     38: 'Chest'
  14.     39: 'Helmet'
  15.     40: 'OffHand'
  16. # 属性查询信息有关
  17. StatusInfo:
  18.   # 查询命令
  19.   Command: 'mystatus'
  20.   # 查询信息
  21.   # 自动替换PAPI变量
  22.   Messages:
  23.     - '&f&l%player_name% &bStatusInfo'
  24.     - '&8PhysicalDamage: &f%ArathothI_total_PhysicalDamage%'
  25.   # 在这里注册的PAPI变量如果值为零则隐藏含有
  26.   # 该变量的一行,建议将所有属性PAPI放到这里
  27.   RegisteredPAPI:
  28.     - '%ArathothI_total_PhysicalDamage%'
  29.   # 如果行数小于这个数则不显示属性信息
  30.   # 并对目标玩家播放HideTitleMessage
  31.   MinLines: 1
  32.   HideTitleMessage:
  33.     Title: '&8&lSorry!'
  34.     SubTitle: '&7&lYou have no status!'
  35. DecimalFormat: '0.0'
  36. # 是否开启ActionBar伤害信息
  37. ActionBarMessageRemind: true
复制代码
   language.yml:
  1. Languages:
  2.   Type: 'Chinese'
  3.   Settings:
  4.     Enable: '&f插件已经成功加载!'
  5.     PAPI-FOUND: '&fPlaceHolderAPI &8载入!'
  6.     PAPI-NOTFOUND: '&4未找到 &cPlaceHolderAPI'
  7.     PAPI-HOOK: '&fPlaceholder Hook!'
  8.     PAPI-FAILD: '&4Failed to hook PlaceHolderAPI'
  9.     Attribute-DefaultDescription: '该属性没有描述'
  10.     ATTR-LOAD: '&8注册属性: &f{name} &8来自插件: &f{plugin}'
  11.     CONDITION-LOAD: '&8注册条件: &f{name} &8来自插件: &f{plugin}'
  12.     Command:
  13.       Helper:
  14.         - '&8&l▼&7&l&m┉┉┉┉┉&8&l[ &f&lArathothI &7指令帮助 &8&l]&7&l&m┉┉┉┉┉&8&l▼'
  15.         - ' &8&l●&7主命令: &f/Arathoth [arguments...]'
  16.         - ' &8&l●&7子命令: '
  17.         - '    &7&l┗ &fListattr '
  18.         - '        &8▶ &7列出已经注册的属性/规则/槽位'
  19.         - '    &7&l┗ &fReload '
  20.         - '        &8▶ &7重载配置'
  21.         - '    &7&l┗ &fStatusInfo &7[Online_Player]'
  22.         - '        &8▶ &7列出该玩家属性信息'
  23.         - '    &7&l┗ &fAbout '
  24.         - '        &8▶ &7关于插件/作者'
  25.         - ' &8&l●&7SpecialCommands: '
  26.         - '    &7&l┗ &f/{StatusCommand}'
  27.         - '        &8▶ &7列出玩家属性信息,可在config.yml中自定用法'
  28.         - '&8&l▲&7&l&m┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉&8&l▲'
  29.       StatusInfo:
  30.         NOT-ONLINE: '&7玩家不在线或不存在'
  31.       Reload: '&7重载完成! {time}'
  32.       Error: '&7错误的指令参数'
  33.     PlaceHolderError: '变量错误'
复制代码





PlaceHolderAPI:
ArathothI 为使用者提供了一套详尽的PlaceHolder属性查询方式
%ArathothI_{Type}_{Name}% 以这种格式查询即可
Type: total(浮动值),min(最小值),max(最大值),percent(百分比)
Name: 即属性内部名
Example: %ArathothI_total_PhysicalDamage% - 查询物理伤害属性的浮动值


更新日志:
前往github查看



下载:
当前版本:1.14-SNAPSHOT
上传日期:2021.2.10
更新内容:
兼容了Paper新的条件: Unbreakable
优化性能
ArathothI.jar (109.2 KB, 下载次数: 79)
有时我可能会忘记上传新版本,github上的版本永远是最新的


Arathoth API:
教程暂时没写,写了会放github上的



已知的问题:
暂无

鸣谢:
@黑
感谢坏黑哥哥的帮助,Bkm016 god forever!


感谢 @Berry_so 做我的1.16小白鼠,让插件顺利支持了1.16









来自群组: Server CT



Link和glx
好东西                     

Danganddang
好,先收藏一波,等之后更新厉害了

Danganddang
建议写个类似ae那种的自定义属性也好(顺便加优先级) 适合更多的服主使用

寒雨_Moro
Danganddang 发表于 2021-2-8 10:20
建议写个类似ae那种的自定义属性也好(顺便加优先级) 适合更多的服主使用 ...

之后会做考虑
实际上为开发者提供的API已经非常简单了
优先级下个版本会做的

GuieUamc
支持1.16的版本吗?
建议搞一下高版本的适配

下一页 最后一页