本帖最后由 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感觉这个端发展起来了!!!
最好还是来个图吧-。-
海贼王# 发表于 2018-2-28 21:11
神脑补,新版本支持一下
感谢支持,补发截图了,不用脑补
正人君子 发表于 2018-2-28 21:33
Sponge感觉这个端发展起来了!!!
在Sponge Ore上已经有很多插件可以用了,而且Sponge在鼓励1.12.2版本,许多插件都只支持1.12.2,对旧的API的支持已经很少了
酷车手BB弹 发表于 2018-2-28 21:40
最好还是来个图吧-。-
补上截图和配置文件了
1.10.2的有吗楼主
都市小怪兽 发表于 2018-3-4 19:52
1.10.2的有吗楼主
我没有基于spongeAPI5来做这个插件,你可以试试能不能用
Nipo 发表于 2018-3-5 07:16
我没有基于spongeAPI5来做这个插件,你可以试试能不能用
1.10测试过了不能用
请问一下是用API7开发的吗
酷车手BB弹 发表于 2018-3-11 16:16
请问一下是用API7开发的吗
对的,导入的spongeAPI-7.1.0-snapshot
运行报错,已加Luckperms 4.x
spongeforge-1.12.2-2586-7.1.0-BETA-2887
复制代码
spongeforge-1.12.2-2586-7.1.0-BETA-2887
- [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.
 
- java.util.NoSuchElementException: No value present
 
-         at java.util.Optional.get(Unknown Source) ~[?:1.8.0_151]
 
-         at xin.omen.tabmodifier.utils.Utilities.updateTargetPlayer(Utilities.java:97) ~[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-2586-7.1.0-BETA-2887]
 
-         at org.spongepowered.common.scheduler.SchedulerBase.lambda$startTask$0(SchedulerBase.java:186) ~[SchedulerBase.class:1.12.2-2586-7.1.0-BETA-2887]
 
-         at org.spongepowered.common.scheduler.SyncScheduler.executeTaskRunnable(SyncScheduler.java:70) ~[SyncScheduler.class:1.12.2-2586-7.1.0-BETA-2887]
 
-         at org.spongepowered.common.scheduler.SchedulerBase.startTask(SchedulerBase.java:179) ~[SchedulerBase.class:1.12.2-2586-7.1.0-BETA-2887]
 
-         at org.spongepowered.common.scheduler.SchedulerBase.processTask(SchedulerBase.java:165) ~[SchedulerBase.class:1.12.2-2586-7.1.0-BETA-2887]
 
-         at java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(Unknown Source) [?:1.8.0_151]
 
-         at org.spongepowered.common.scheduler.SchedulerBase.runTick(SchedulerBase.java:108) [SchedulerBase.class:1.12.2-2586-7.1.0-BETA-2887]
 
-         at org.spongepowered.common.scheduler.SyncScheduler.tick(SyncScheduler.java:44) [SyncScheduler.class:1.12.2-2586-7.1.0-BETA-2887]
 
-         at org.spongepowered.common.scheduler.SpongeScheduler.tickSyncScheduler(SpongeScheduler.java:185) [SpongeScheduler.class:1.12.2-2586-7.1.0-BETA-2887]
 
-         at org.spongepowered.mod.SpongeMod.onTick(SpongeMod.java:269) [SpongeMod.class:1.12.2-2586-7.1.0-BETA-2887]
 
-         at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_138_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:651) [EventBus.class:?]
 
-         at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:589) [EventBus.class:?]
 
-         at net.minecraftforge.fml.common.FMLCommonHandler.onPreServerTick(FMLCommonHandler.java:277) [FMLCommonHandler.class:?]
 
-         at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:655) [MinecraftServer.class:?]
 
-         at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524) [MinecraftServer.class:?]
 
- at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
haixing 发表于 2018-3-18 13:06
运行报错,已加Luckperms 4.x
spongeforge-1.12.2-2586-7.1.0-BETA-2887
感谢反馈,近期我会更新修正这些BUG
能否支持一下papi
设置默认权限组前缀那,可以添加其他权限组的前缀吗,还是其他自带前缀会显示
wulangyu 发表于 2018-3-28 20:10
设置默认权限组前缀那,可以添加其他权限组的前缀吗,还是其他自带前缀会显示 ...
默认前缀适用于所有权限组,只要检测到一个玩家还没有前缀数据就会调用默认前缀,不管这个玩家处在哪个组
很不错的插件支持哦
求做1.10版本AI5
这个是什么问题 报错?
能支持API5么
API7.1使用报错了= =
有一个问题lz 其他分组要用不一样的前缀该怎么办呢
 
 
OP视角
玩家已经拥有插件的use权限
这个怎么破
谢谢
本插件经常失效qwq
您好,这个关于前戳后戳方面能支持变量吗?
可以使用别的权限插件吗(ESScmd)
链接炸了 能否补一下?
作者 我想要一份源代码 我想要把这个转成7.0API版本 感谢
[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
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
正好我的Spone端需要它
我大sponge万岁
支持LZ,感谢分享
更新版本以后 请务必支持多行Footer和header 麻烦了 现在一行 很少信息啊
还有就是 支持单个玩家 前缀和后缀的 修改
还有就是 支持单个玩家 前缀和后缀的 修改
不错我收了qwq
我想问一下
这个插件支持papi变量么qwq
这个插件支持papi变量么qwq
支持papi吗?
为什么op看见的是没有修改的玩家能看见修改的。。。。
版本好高啊
不错的插件,拿走啦
希望可以支持papi变量,sponge唯一能找到的单纯在tab显示头衔的插件只有这里了
最近实在很忙,而且也开始自己尝试RUN一个Paper服务器,所以Sponge插件这边应该是顾不过来了,如果哪位大侠会写Sponge插件的话可以直接把我这个坑接过去,不用找我确认的
很棒的插件
 本帖最后由 弑雪酱 于 2018-11-26 20:52 编辑 
很好的插件,正好最近刚刚入坑= =
(之前蓝奏炸,= =于是我就发了补链接,结果点了7,8遍就好了)
很好的插件,正好最近刚刚入坑= =
(之前蓝奏炸,= =于是我就发了补链接,结果点了7,8遍就好了)
为什么我用这个没用啊?装上去了根本没用
非常实用
Luckperms 4.x?
感谢大家对插件和Sponge的支持,近几天较为清闲,会彻底重写该插件,修复你们提到的BUG,并增加placeholderAPI的支持
更新了1.4.0版本,重写了插件,如果遇到问题,可以在下方留言反馈,描述问题详情
66666666666666666