Nipo
本帖最后由 Nipo 于 2019-1-7 13:39 编辑
插件介绍
TabModifier是基于LuckPerms权限管理插件的TAB菜单插件,能够在TAB菜单中显示玩家的Prefix和Suffix,支持添加Header和Footer
你需要安装LuckPerms和PlaceholerApi才能运行整个插件
近几天重写了整个项目,添加了许多新特性:
- 众望所归,增加了对PlaceholderApi的支持,你可以在Prefix/Suffix/Header/Footer四个位置设置Placeholder占位符,理论上支持PlaceholderApi的所有占位符
- 添加了事件监听机制,能够监听LuckPerms的事件,如果你通过LuckPerms指令修改了玩家信息,插件能够直接在TAB菜单中显示,而不用你去手动重载插件
- 添加了对多行Header和Footer的支持,在设置中,你可以使用\n来换行
- 添加了设置Header和Footer的指令,不用慢慢修改配置文件了
- 优化了代码逻辑,理论上对服务器负载更小了
- 添加了自动更新TAB菜单的功能,十分适合那些需要实时显示信息的占位符
这个插件是不能修改玩家信息的,你需要通过LuckPerms插件配置玩家信息,相关指令如下:
设置玩家前缀Prefix:
/lp user [玩家名] meta setprefix [权重] [前缀]
设置玩家后缀Suffix:
/lp user [玩家名] meta setsuffix [权重] [后缀]
删除玩家前缀:
/lp user [玩家名] meta removeprefix [权重]
删除玩家后缀:
/lp user [玩家名] meta removesuffix [权重]
修改权限组信息只要将上面的user改成group,当然后面跟着的是权限组名称
当你通过这些指令修改了玩家信息后,插件会自动同步到TAB菜单上
如果不会使用LuckPerms权限管理插件,可以移步
此贴
注意事项

1.请安装最新版的LuckPerms和PlaceholerApi

2.该插件基于SpongeApi 7.1.0制作,低版本理论上支持,可自行测试

插件指令&权限
/tab refresh - 更新TAB菜单
/tab reload - 重载插件配置
/tab setheader [header] - 设置header
/tab setfooter [footer] - 设置footer
权限就是tabmodifier.指令如tabmodifier.refresh
插件效果
不用脑补了


插件下载
█████,如果您要查看本帖隐藏内容请回复
插件配置
配置文件没有用汉字,毕竟要发布到官网呢,你可以对照这里设置,都是支持颜色格式代码的
#设置玩家显示名称的样式,避免玩家名样式和前缀样式相同
NameStyle = "&e&l"
#设置Header和Footer,支持多行,可以使用\n换行
FooterValue="&a&lThis is &d&lFooter\n&b&lLook, the SecondLine"
HeaderValue="&a&lThis is &b&lHeader"
# 如果玩家/权限组的前缀或者后缀没有设置,插件使用默认前缀和后缀
InitialValue {
    Prefix="&d[&bMC&d]"
    Suffix="&9[&bM&9]"
}
# 玩家加入服务器后多久更新TAB菜单,单位是ticks,如果服务器配置较低,可以把这个值设置大一点
# 如果服务器配置高的话,可以设置为0,但有几率插件得不到玩家信息,导致TAB菜单不更新
RefreshDelay=5
UpdateInterval {
    # 多久更新一次TAB菜单的Header和Footer
    "Header&Footer"=5
    # 多久更新一次TAB菜单的所有玩家名
    NameList=10
}
#是否显示前缀/后缀/玩家昵称
#玩家昵称可以通过nucleus的/nick指令设置,支持颜色代码
showDisplayName="true"
showFooter="true"
showHeader="true"
showPrefix="true"
showSuffix="true"
更新计划
※动态header和footer
※进一步减少服务器资源占用
※修复DisplayName无效的BUG

2021.12 数据,可能有更多内容
插件介绍
TabModifier是基于LuckPerms权限管理插件的TAB菜单插件,能够在TAB菜单中显示玩家的Prefix和Suffix,支持添加Header和Footer
你需要安装LuckPerms和PlaceholerApi才能运行整个插件
近几天重写了整个项目,添加了许多新特性:
- 众望所归,增加了对PlaceholderApi的支持,你可以在Prefix/Suffix/Header/Footer四个位置设置Placeholder占位符,理论上支持PlaceholderApi的所有占位符
- 添加了事件监听机制,能够监听LuckPerms的事件,如果你通过LuckPerms指令修改了玩家信息,插件能够直接在TAB菜单中显示,而不用你去手动重载插件
- 添加了对多行Header和Footer的支持,在设置中,你可以使用\n来换行
- 添加了设置Header和Footer的指令,不用慢慢修改配置文件了
- 优化了代码逻辑,理论上对服务器负载更小了
- 添加了自动更新TAB菜单的功能,十分适合那些需要实时显示信息的占位符
这个插件是不能修改玩家信息的,你需要通过LuckPerms插件配置玩家信息,相关指令如下:
设置玩家前缀Prefix:
/lp user [玩家名] meta setprefix [权重] [前缀]
设置玩家后缀Suffix:
/lp user [玩家名] meta setsuffix [权重] [后缀]
删除玩家前缀:
/lp user [玩家名] meta removeprefix [权重]
删除玩家后缀:
/lp user [玩家名] meta removesuffix [权重]
修改权限组信息只要将上面的user改成group,当然后面跟着的是权限组名称
当你通过这些指令修改了玩家信息后,插件会自动同步到TAB菜单上
如果不会使用LuckPerms权限管理插件,可以移步此贴
注意事项
1.请安装最新版的LuckPerms和PlaceholerApi
2.该插件基于SpongeApi 7.1.0制作,低版本理论上支持,可自行测试
插件指令&权限
/tab refresh - 更新TAB菜单/tab reload - 重载插件配置/tab setheader [header] - 设置header/tab setfooter [footer] - 设置footer权限就是tabmodifier.指令如tabmodifier.refresh
插件效果
不用脑补了

插件下载
xmdhs如果您要查看本帖隐藏内容请回复
插件配置
配置文件没有用汉字,毕竟要发布到官网呢,你可以对照这里设置,都是支持颜色格式代码的
#设置玩家显示名称的样式,避免玩家名样式和前缀样式相同NameStyle = "&e&l"#设置Header和Footer,支持多行,可以使用\n换行FooterValue="&a&lThis is &d&lFooter\n&b&lLook, the SecondLine"HeaderValue="&a&lThis is &b&lHeader"# 如果玩家/权限组的前缀或者后缀没有设置,插件使用默认前缀和后缀InitialValue {    Prefix="&d[&bMC&d]"    Suffix="&9[&bM&9]"}# 玩家加入服务器后多久更新TAB菜单,单位是ticks,如果服务器配置较低,可以把这个值设置大一点# 如果服务器配置高的话,可以设置为0,但有几率插件得不到玩家信息,导致TAB菜单不更新RefreshDelay=5UpdateInterval {    # 多久更新一次TAB菜单的Header和Footer    "Header&Footer"=5    # 多久更新一次TAB菜单的所有玩家名    NameList=10}#是否显示前缀/后缀/玩家昵称#玩家昵称可以通过nucleus的/nick指令设置,支持颜色代码showDisplayName="true"showFooter="true"showHeader="true"showPrefix="true"showSuffix="true"
更新计划
※动态header和footer
※进一步减少服务器资源占用
※修复DisplayName无效的BUG

海贼王#
神脑补,新版本支持一下

晓峰喵喵喵
Sponge感觉这个端发展起来了!!!

_DIM_
最好还是来个图吧-。-

Nipo
海贼王# 发表于 2018-2-28 21:11
神脑补,新版本支持一下

感谢支持,补发截图了,不用脑补

Nipo
正人君子 发表于 2018-2-28 21:33
Sponge感觉这个端发展起来了!!!

在Sponge Ore上已经有很多插件可以用了,而且Sponge在鼓励1.12.2版本,许多插件都只支持1.12.2,对旧的API的支持已经很少了

Nipo
酷车手BB弹 发表于 2018-2-28 21:40
最好还是来个图吧-。-

补上截图和配置文件了

都市小怪兽
1.10.2的有吗楼主

Nipo

我没有基于spongeAPI5来做这个插件,你可以试试能不能用

都市小怪兽
Nipo 发表于 2018-3-5 07:16
我没有基于spongeAPI5来做这个插件,你可以试试能不能用

1.10测试过了不能用

_DIM_
请问一下是用API7开发的吗

Nipo
酷车手BB弹 发表于 2018-3-11 16:16
请问一下是用API7开发的吗

对的,导入的spongeAPI-7.1.0-snapshot

haixing
运行报错,已加Luckperms 4.x
spongeforge-1.12.2-2586-7.1.0-BETA-2887
  1. [13:04:14] [Server thread/ERROR] [Sponge]: The Scheduler tried to run the task tabmodifier-S-17 owned by Plugin{id=tabmodifier, name=Tab Modifier, version=1.2.0-SNAPSHOT, description=A Simple Tab Manager Plugin based on Luckperms, source=G:\六周目\FreeCraft12 - Server (1)\FreeCraft12 - Server\mods\TabModifier-1.2.0-SNAPSHOT.jar}, but an error occured.
  2. java.util.NoSuchElementException: No value present
  3.         at java.util.Optional.get(Unknown Source) ~[?:1.8.0_151]
  4.         at xin.omen.tabmodifier.utils.Utilities.updateTargetPlayer(Utilities.java:97) ~[Utilities.class:?]
  5.         at xin.omen.tabmodifier.utils.Utilities.updateAllPlayers(Utilities.java:38) ~[Utilities.class:?]
  6.         at xin.omen.tabmodifier.TabModifier.lambda$0(TabModifier.java:89) ~[TabModifier.class:?]
  7.         at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$0(Task.java:139) ~[Task$Builder.class:1.12.2-2586-7.1.0-BETA-2887]
  8.         at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$0(SchedulerBase.java:186) ~[SchedulerBase.class:1.12.2-2586-7.1.0-BETA-2887]
  9.         at org.spongepowered.common.scheduler.SyncScheduler.executeTaskRunnable(SyncScheduler.java:70) ~[SyncScheduler.class:1.12.2-2586-7.1.0-BETA-2887]
  10.         at org.spongepowered.common.scheduler.SchedulerBase.startTask(SchedulerBase.java:179) ~[SchedulerBase.class:1.12.2-2586-7.1.0-BETA-2887]
  11.         at org.spongepowered.common.scheduler.SchedulerBase.processTask(SchedulerBase.java:165) ~[SchedulerBase.class:1.12.2-2586-7.1.0-BETA-2887]
  12.         at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(Unknown Source) [?:1.8.0_151]
  13.         at org.spongepowered.common.scheduler.SchedulerBase.runTick(SchedulerBase.java:108) [SchedulerBase.class:1.12.2-2586-7.1.0-BETA-2887]
  14.         at org.spongepowered.common.scheduler.SyncScheduler.tick(SyncScheduler.java:44) [SyncScheduler.class:1.12.2-2586-7.1.0-BETA-2887]
  15.         at org.spongepowered.common.scheduler.SpongeScheduler.tickSyncScheduler(SpongeScheduler.java:185) [SpongeScheduler.class:1.12.2-2586-7.1.0-BETA-2887]
  16.         at org.spongepowered.mod.SpongeMod.onTick(SpongeMod.java:269) [SpongeMod.class:1.12.2-2586-7.1.0-BETA-2887]
  17.         at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_138_SpongeMod_onTick_ServerTickEvent.invoke(.dynamic) [?:?]
  18.         at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?]
  19.         at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:651) [EventBus.class:?]
  20.         at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:589) [EventBus.class:?]
  21.         at net.minecraftforge.fml.common.FMLCommonHandler.onPreServerTick(FMLCommonHandler.java:277) [FMLCommonHandler.class:?]
  22.         at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:655) [MinecraftServer.class:?]
  23.         at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524) [MinecraftServer.class:?]
  24.         at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
复制代码

Nipo
haixing 发表于 2018-3-18 13:06
运行报错,已加Luckperms 4.x
spongeforge-1.12.2-2586-7.1.0-BETA-2887

感谢反馈,近期我会更新修正这些BUG

_DIM_
能否支持一下papi

wulangyu
设置默认权限组前缀那,可以添加其他权限组的前缀吗,还是其他自带前缀会显示

Nipo
wulangyu 发表于 2018-3-28 20:10
设置默认权限组前缀那,可以添加其他权限组的前缀吗,还是其他自带前缀会显示 ...

默认前缀适用于所有权限组,只要检测到一个玩家还没有前缀数据就会调用默认前缀,不管这个玩家处在哪个组

yongliu
很不错的插件支持哦

都市小怪兽
求做1.10版本AI5

FXVALF
这个是什么问题 报错?

_DIM_
能支持API5么

_DIM_
API7.1使用报错了= =

纯净的天空
有一个问题lz 其他分组要用不一样的前缀该怎么办呢

lianxucan
玩家视角



OP视角
玩家已经拥有插件的use权限
这个怎么破
谢谢

2726932825
本插件经常失效qwq

麦兜国丰
您好,这个关于前戳后戳方面能支持变量吗?

pyb09
可以使用别的权限插件吗(ESScmd)

2109769077
链接炸了 能否补一下?

lianxucan
作者 我想要一份源代码 我想要把这个转成7.0API版本 感谢

919378037
[15:07:24] [Server thread/ERROR] [Sponge]: The Scheduler tried to run the task tabmodifier-S-805 owned by Plugin{id=tabmodifier, name=Tab Modifier, version=1.2.0-SNAPSHOT, description=A Simple Tab Manager Plugin based on Luckperms, source=.\mods\[TAB菜单]TabModifier-1.2.0-SNAPSHOT.jar}, but an error occured.
java.util.NoSuchElementException: No value present
        at java.util.Optional.get(Unknown Source) ~[?:1.8.0_172]
        at xin.omen.tabmodifier.utils.Utilities.updateTargetPlayer(Utilities.java:91) ~[Utilities.class:?]
        at xin.omen.tabmodifier.utils.Utilities.updateAllPlayers(Utilities.java:38) ~[Utilities.class:?]
        at xin.omen.tabmodifier.TabModifier.lambda$0(TabModifier.java:89) ~[TabModifier.class:?]
        at org.spongepowered.api.scheduler.Task$Builder.lambda$execute$0(Task.java:139) ~[Task$Builder.class:1.12.2-2703-7.1.0-BETA-3119]
        at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$0(SchedulerBase.java:186) ~[SchedulerBase.class:1.12.2-2703-7.1.0-BETA-3119]
        at org.spongepowered.common.scheduler.SyncScheduler.executeTaskRunnable(SyncScheduler.java:70) ~[SyncScheduler.class:1.12.2-2703-7.1.0-BETA-3119]
        at org.spongepowered.common.scheduler.SchedulerBase.startTask(SchedulerBase.java:179) ~[SchedulerBase.class:1.12.2-2703-7.1.0-BETA-3119]
        at org.spongepowered.common.scheduler.SchedulerBase.processTask(SchedulerBase.java:165) ~[SchedulerBase.class:1.12.2-2703-7.1.0-BETA-3119]
        at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(Unknown Source) [?:1.8.0_172]
        at org.spongepowered.common.scheduler.SchedulerBase.runTick(SchedulerBase.java:108) [SchedulerBase.class:1.12.2-2703-7.1.0-BETA-3119]
        at org.spongepowered.common.scheduler.SyncScheduler.tick(SyncScheduler.java:44) [SyncScheduler.class:1.12.2-2703-7.1.0-BETA-3119]
        at org.spongepowered.common.scheduler.SpongeScheduler.tickSyncScheduler(SpongeScheduler.java:185) [SpongeScheduler.class:1.12.2-2703-7.1.0-BETA-3119]
        at org.spongepowered.mod.SpongeMod.onTick(SpongeMod.java:323) [SpongeMod.class:1.12.2-2703-7.1.0-BETA-3119]
        at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_120_SpongeMod_onTick_ServerTickEvent.invoke(.dynamic) [?:?]
        at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) [ASMEventHandler.class:?]
        at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:652) [EventBus.class:?]
        at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:590) [EventBus.class:?]
        at net.minecraftforge.fml.common.FMLCommonHandler.onPreServerTick(FMLCommonHandler.java:278) [FMLCommonHandler.class:?]
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:657) [MinecraftServer.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_172]

玩家登入很大一部分可能刷以上报错.然后插件失效
服务器端版本:spongeforge-1.12.2-2703-7.1.0-BETA-3119

w694148w
正好我的Spone端需要它

Mr.Seven590
我大sponge万岁

夏逆大大
支持LZ,感谢分享

筱无奈
更新版本以后 请务必支持多行Footer和header 麻烦了 现在一行 很少信息啊
还有就是 支持单个玩家 前缀和后缀的 修改

想念~
不错我收了qwq

纱夜
我想问一下
这个插件支持papi变量么qwq

buzaiaile
支持papi吗?

zy370373075
为什么op看见的是没有修改的玩家能看见修改的。。。。

缤纷的烟火
版本好高啊

X7-Network
不错的插件,拿走啦

635419450
希望可以支持papi变量,sponge唯一能找到的单纯在tab显示头衔的插件只有这里了

Nipo
最近实在很忙,而且也开始自己尝试RUN一个Paper服务器,所以Sponge插件这边应该是顾不过来了,如果哪位大侠会写Sponge插件的话可以直接把我这个坑接过去,不用找我确认的

Acidapple
很棒的插件

神楽咕咕
本帖最后由 弑雪酱 于 2018-11-26 20:52 编辑

很好的插件,正好最近刚刚入坑= =
(之前蓝奏炸,= =于是我就发了补链接,结果点了7,8遍就好了)

像素君吖
为什么我用这个没用啊?装上去了根本没用

1720563080
非常实用

像素君吖
Luckperms 4.x?

Nipo
感谢大家对插件和Sponge的支持,近几天较为清闲,会彻底重写该插件,修复你们提到的BUG,并增加placeholderAPI的支持

Nipo
更新了1.4.0版本,重写了插件,如果遇到问题,可以在下方留言反馈,描述问题详情

1328845829
66666666666666666

下一页 最后一页