1
mirror of https://github.com/CarmJos/UserPrefix.git synced 2026-06-04 15:28:21 +08:00

[v2.3.0] [U] 修改图片位置

This commit is contained in:
2022-01-07 08:45:46 +08:00
parent 096c23351f
commit 78f9639092
17 changed files with 136 additions and 62 deletions
+9
View File
@@ -0,0 +1,9 @@
# UserPrefix Javadoc
基于 [Github Pages](https://pages.github.com/) 搭建,请访问 [JavaDoc](https://carmjos.github.io/UserPrefix) 。
## 如何实现?
若您也想通过 [Github Actions](https://docs.github.com/en/actions/learn-github-actions)
自动部署项目的Javadoc到 [Github Pages](https://pages.github.com/)
可以参考我的文章 [《自动部署Javadoc到Github Pages》](https://pages.carm.cc/doc/javadoc-in-github.html) 。
+73
View File
@@ -0,0 +1,73 @@
```text
_ _ _____ __ _
| | | | | __ \ / _|(_)
| | | | ___ ___ _ __ | |__) |_ __ ___ | |_ _ __ __
| | | |/ __| / _ \| '__|| ___/| '__|/ _ \| _|| |\ \/ /
| |__| |\__ \| __/| | | | | | | __/| | | | > <
\____/ |___/ \___||_| |_| |_| \___||_| |_|/_/\_\
```
# UserPrefix 帮助介绍文档
## 插件介绍目录
- 使用示例
- [前缀配置文件预设示例](../src/main/resources/prefixes/example-prefix.yml)
## [开发文档](JAVADOC-README.md)
基于 [Github Pages](https://pages.github.com/) 搭建,请访问 [JavaDoc](https://carmjos.github.io/UltraDepository) 。
## 依赖方式
### Maven 依赖
```xml
<project>
<repositories>
<repository>
<!--采用github依赖库,安全稳定,但需要配置 (推荐)-->
<id>UserPrefix</id>
<name>GitHub Packages</name>
<url>https://maven.pkg.github.com/CarmJos/UserPrefix</url>
</repository>
<repository>
<!--采用我的私人依赖库,简单方便,但可能因为变故而无法使用-->
<id>carm-repo</id>
<name>Carm's Repo</name>
<url>https://repo.carm.cc/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>cc.carm.plugin</groupId>
<artifactId>userprefix</artifactId>
<version>[LATEST RELEASE]</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
```
### Gradle 依赖
```groovy
repositories {
// 采用github依赖库,安全稳定,但需要配置 (推荐)
maven { url 'https://maven.pkg.github.com/CarmJos/UserPrefix' }
// 采用我的私人依赖库,简单方便,但可能因为变故而无法使用
maven { url 'https://repo.carm.cc/repository/maven-public/' }
}
dependencies {
compileOnly "cc.carm.plugin:userprefix:[LATEST RELEASE]"
}
```
+5
View File
@@ -0,0 +1,5 @@
# 图片文件夹
用于存放相关介绍图片。
图片保留版权,未经授权禁止使用。
Binary file not shown.

After

Width:  |  Height:  |  Size: 723 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 920 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

+314
View File
@@ -0,0 +1,314 @@
[align=center][attachimg]1905166[/attachimg]
[/align]
[align=left][b][size=6]用户前缀系统插件[/size][/b][/align][align=left][hr][/align][align=left][img]https://www.codefactor.io/repository/github/carmjos/userprefix/badge?s=b76fec1f64726b5f19989aace6adb5f85fdab840[/img] [img]https://github.com/CarmJos/UserPrefix/actions/workflows/maven.yml/badge.svg?branch=master[/img] [img]https://visitor-badge.glitch.me/badge?page_id=userprefix.readme[/img]
[/align]
[align=left]轻便、高效、实时的用户前缀系统。[/align]
[align=left]本插件基于Spigot实现,[b]理论上支持全版本[/b]。[/align]
[align=left][size=5][b]示例[/b][/size][/align][align=left][hr][/align]
[attachimg]1905175[/attachimg]
[align=left][size=5][b]依赖[/b][/size][/align][align=left][hr][/align]
[align=left][list]
[*][size=3][b][必须] [/b][/size]插件本体基于 [url=https://hub.spigotmc.org/stash/projects/SPIGOT][b]Spigot-API[/b][/url] 与 [b][url=http://bukkit.org/]BukkitAPI[/url] [/b]实现。
[*][size=3][b][必须] [/b][/size]数据部分基于 [url=https://www.spigotmc.org/resources/luckperms.28140/][b]LuckPerms[/b][/url] 实现。
[*][size=3][b][推荐][/b] [/size]变量部分基于 [url=https://www.spigotmc.org/resources/6245/][b]PlaceholderAPI[/b][/url] 实现。
[/list]
[/align]详细依赖列表可见 [url=https://github.com/CarmJos/UserPrefix/network/dependencies]软件依赖[/url] 。
[size=5][b]特性[/b][/size]
[hr]
[list]
[*]理论上[b]全版本支持[/b]
[*]游戏内重载配置文件并实时更新到玩家!
[*]当玩家权限变更时会[b]实时监测前缀[/b],若权限不足则[b]自动更换[/b]前缀并提示!
[*]可配置的声音、消息!
[*]前缀图标可配置“选中”、“有权限”与“无权限”三种状态的物品
[*]物品的配置通过ItemStack原生配置,支持MC所有的设定!
[*]TabList自动按照前缀的权重排序 (如有冲突可关掉)
[*]玩家头顶前缀实时显示 (如有冲突可关掉)
[*][b]自动排序[/b],且[b]可翻页[/b]的GUI
[*]支持PlaceholderAPI变量!(凡支持的都可以使用,如BungeeTabListPlus)
[*]支持Hex颜色!(1.16以上版本) 格式 [u]&(#颜色代码)[/u]
[/list][size=5][b]
注意事项[/b][/size]
[hr]
[size=4][b]1. 版本支持问题[/b][/size]
本插件理论全版本支持,如果出现图标不加载、声音无法播放等问题请检查配置文件中物品与声音的type在当前版本是否存在。
以声音举例,村民表示可以的声音在低版本中为 “[color=#000000][backcolor=silver]VILLAGER_YES[/backcolor][/color]”,而在高版本中则变为了“[backcolor=silver][color=#000000]ENTITY_VILLAGER_YES[/color][/backcolor]”。
[size=4][b]2. 计分板异常问题[/b][/size]
头顶上前缀的显示与TabList的排序均使用到了团队计分板API。
如有冲突导致其他插件的计分板无法显示,请关掉配置文件中 [u]functions.OnNamePrefix[/u]。
[size=4][b]3. 物品图标配置问题[/b][/size]
物品相关均通过Bukkit提供的ItemStack序列化方法读取,相关配置方式请参考[url=https://www.spigotmc.org/wiki/itemstack-serialization/]ItemStack Serialization(物品序列化)[/url]。
[size=5][b]指令[/b][/size]
[hr]
本插件指令部分较为简单,大多通过GUI实现。
[code]/UserPrefix 或 /prefix 打开前缀更换GUI
/UserPrefixAdmin 查看管理员指令帮助
/UserPrefixAdmin reload 重载配置文件
/UserPrefixAdmin list 查看已配置的前缀内容[/code]
[size=5][b]变量 (PlaceholderAPI)[/b][/size]
[hr]
安装 [url=https://github.com/PlaceholderAPI/PlaceholderAPI]PlaceholderAPI[/url]后,可以输入 [u]/papi info UserPrefix[/u] 查看相关变量。
变量内容如下
[code]# %UserPrefix_prefix%
- 得到当前正在使用的前缀
# %UserPrefix_weight%
- 得到当前正在使用的前缀权重
# %UserPrefix_identifier%
- 得到当前正在使用的前缀标识
# %UserPrefix_name%
- 得到当前正在使用的前缀名
# %UserPrefix_has_<Identifier>%
- 判断玩家是否拥有某个前缀(true/false)[/code][size=5][b]
配置文件示例[/b][/size]
[hr]
[size=4][b]基础配置文件 [/b][/size][color=#24292f][font=Tahoma][size=4](config.yml)[/size][/font][/color]
[spoiler]
[code]
version: ${project.version} #配置文件版本,若与插件版本不同请记得检查配置文件内容
debug: false
custom-storage:
# 自定义存储位置
# 默认存储位置为 “插件文件夹”/prefixes
# 可以规定到远程文件夹中去寻找前缀相关的设定
# 支持绝对文件路径,如 "/etc/minecraft/configurations/prefixes/"
enable: false # 是否启用
path: "prefixes/" # 一定要指向一个文件夹!
functions:
OnNamePrefix: true # 是否给头顶上添加前缀,该方法用到了头顶的那个计分板,如有冲突请关掉哦~
autoUsePrefix: true # 自动前缀显示 当玩家没有自己选择一个前缀的时候,会自动使用所拥有的的前缀中权重最高的那一个
chat:
# 聊天功能
# - 我不推荐使用本插件的聊天功能,而是建议使用其他的聊天插件。
# - 本插件仅仅提供了**最基本**的格式变量支持,不包含其他任何功能。
# - 注意聊天格式需要遵守Bukkit原格式,即不得缺失 “%1$s” 和 “%2$s” 。
# - 本插件的聊天功能不影响其他插件对聊天事件的操作。
enable: false # 是否启用
format: "<%UserPrefix_prefix%%1$s> %2$s" #聊天的格式,注意 “%1$s” 和 “%2$s” 不可缺少,分别代表 玩家名 与 消息内容 。
GUI:
title: "&f&l我的前缀 &8| 列表"
items:
# 【必须】 GUI中可能存在的其他物品
next-page: # 下一页物品,如果没有下一页则不显示
==: org.bukkit.inventory.ItemStack
type: ARROW
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§f下一页"
lore:
- ""
- "§f右键可前往最后一页哦~"
previous-page: # 上一页物品,如果没有上一页则不显示
==: org.bukkit.inventory.ItemStack
type: ARROW
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§f上一页"
lore:
- ""
- "§f右键可前往第一页哦~"
Sounds: #相关的声音,注释掉则不播放声音 格式为 【声音名:音量:音调】 或 【声音名:音量】 或 【声音名】
openGUI: "BLOCK_NOTE_BLOCK_PLING:1:1"
guiClick: "UI_BUTTON_CLICK"
prefixChange: "ENTITY_VILLAGER_YES"
prefixExpired: "ENTITY_VILLAGER_NO"
# 默认前缀的配置
# 默认前缀的权重为0哦
defaultPrefix:
name: "默认前缀"
content: "&b"
itemNotUsing:
==: org.bukkit.inventory.ItemStack
type: NAME_TAG
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§f默认玩家前缀 §f(点击切换)"
lore:
- ""
- "§a➥ 点击切换到该前缀"
itemUsing:
==: org.bukkit.inventory.ItemStack
type: NAME_TAG
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§f默认玩家前缀"
lore:
- ""
- "§a✔ 您正在使用该前缀"
[/code]
[/spoiler]
[b][size=4][backcolor=transparent]消息配置文件[/backcolor][/size] [/b][size=4](messages.yml)[/size]
[spoiler][code]selected:
- "&7您选择了 &f%(name) &7作为当前显示的前缀。"
expired:
- "&7您先前使用的前缀 &f%(oldName) &7已到期。"
- "&7现在已为您重新调整为 &f%(newName) &7。"
reload:
- "&a&l重载完成!&7共耗时 &f%(time)ms&7。"
help:
- "&3&l用户前缀系统 &f帮助"
- "&8#/upa&f list"
- "&8- &7查看当前前缀列表。"
- "&8#/upa&f reload"
- "&8- &7重载前缀配置。"
list-title:
- "&3&l用户前缀系统 &f前缀列表"
list-value:
- "&8#%(weight) &f%(identifier)"
- "&8- &7显示名 &r%(name) &7权限 &r%(permission)"
- "&8- &7内容示例&r %(content) %(sender_name)"[/code][/spoiler]
[size=4][backcolor=transparent][b]前缀配置文件[/b][/backcolor] (prefixes/*.yml) [自2.1.7可自定义目录][/size]
[align=left][font=-apple-system, BlinkMacSystemFont, &quot;][size=3][color=#000000]所有前缀均为单独的配置文件,存放于 [u]插件配置目录/prefixes[/u] 下,便于管理。[/color][/size][/font][/align][align=left][font=-apple-system, BlinkMacSystemFont, &quot;][size=3][color=#000000]文件名理论上可以随便取,推荐使用英文,部分符号可能会影响正常读取,请避免使用。[/color][/size][/font][/align][align=left][spoiler][/align][code]# 唯一标识 [必须]
# 将用于记录玩家所选的前缀,以及用于数据的缓存。
# 必须 必须 必须 保持唯一!
identifier: "pro"
# 名字 [必须]
# 切换的时候左下角会弹提示 用的就是这个名字
name: "&b&lPro&b"
# 内容 [必须]
# 显示在名字前面的内容
content: "§b§lPro §b"
# 权重 [必须]
# 用于GUI、TabList的排序和自动前缀显示
# 在GUI中,权重越高的会显示在越后面
# 在TabList中,权重越高的会显示在越上面
weight: 1
# 检测的权限 [非必须]
# 如果没有就是人人都能用,也代表不用配置“itemNoPermission”了(因为压根不可能显示没权限时候的物品)
permission: "yc.pro"
# 有权限时显示的物品 [必须]
# 当用户有权限且未选中时,会显示该物品
itemHasPermission: #
==: org.bukkit.inventory.ItemStack
type: DIAMOND
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§b§lPro §b会员前缀"
lore:
- "§7Pro会员专属称号"
- ""
- "§f尊贵的Pro会员专属称号。"
- "§f您将获得多种特权与更好的游戏体验。"
- ""
- "§a➥ 点击切换到该前缀"
# 正在使用时显示的物品 [非必需]
# 当用户正在使用时会显示这个物品,不配置即自动加载“itemHasPermission”
itemUsing:
==: org.bukkit.inventory.ItemStack
type: DIAMOND
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§b§lPro §b会员前缀"
enchants:
PROTECTION_ENVIRONMENTAL: 1 #加一个附魔这样看上去就像是选中了的
lore:
- "§7Pro会员专属称号"
- ""
- "§f尊贵的Pro会员专属称号。"
- "§f您将获得多种特权与更好的游戏体验。"
- ""
- "§a✔ 您正在使用该前缀"
# 没有权限时显示的物品 [非必需]
# 如果没有权限就会显示这个item。如果不配置该物品,则玩家没有使用权限时不会显示在GUI里面。
itemNoPermission:
==: org.bukkit.inventory.ItemStack
type: INK_SACK
damage: 8
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§b§lPro+ §b会员前缀 §c(未拥有)"
lore:
- "§7Pro+会员专属称号"
- ""
- "§f尊贵的Pro会员专属称号。"
- "§f您将获得多种特权与更好的游戏体验。"
- "§f您可以输入 §b/vip §f指令查看详细特权!"
- ""
- "§e✯ 加入Pro+会员以使用该前缀!"[/code][align=left][/spoiler][/align]
[size=5][b]下载地址[/b][/size]
[hr]
[size=3][b]最新版本 [/b][/size][size=3][b]2.1.7 [/b][/size][attach]1919669[/attach][quote][b][size=3]更新内容[/size][/b]
1. 提供自定义配置文件存储位置的功能,便于多子服共享配置。(custome-storage)
2. 添加控制台打开玩家菜单时的反馈(来自 @Yuri南城 )。
3. 支持由控制台为其他玩家打开GUI。
4. 若出现新配置文件条目,将自动写入默认值,便于配置。[/quote][spoiler][size=3][b]2.1.2 [/b][/size][attach]1912028[/attach][quote][b][size=3]更新内容[/size][/b]
1. 修复不开启插件自带的头顶前缀功能时出现的报错。[/quote]
[size=3][b]2.1.0 [/b][/size][attach]1909962[/attach][quote][b][size=3]更新内容[/size][/b]
1. 添加聊天相关设定,支持聊天前缀。(但不推荐使用哦~)[/quote]
[size=3][b] 2.0.0 [/b][/size][attach]1905700[/attach]
[quote][b][size=3]更新内容[/size][/b]
1. 修复低版本可能无法读取物品的bug。
2. 分离配置文件,消息配置文件改为messages.yml,前缀配置文件改 prefixes/*.yml,便于配置和管理。
3. 允许配置GUI中上一页和下一页的物品。
4. 补全帮助文档,在插件首次加载将提供一份英文版的配置,以便使用。[/quote]
[size=3][b] 1.2.5 [/b][/size][attach]1905430[/attach][quote][size=3][b]更新内容[/b]
1. 支持指令的多语言配置。[/size][/quote]
[b][size=3]
1.2.4[/size][size=4] [/size][/b][attach]1905431[/attach]
[quote][size=3][b]更新内容:[/b]
1. 修复closeAll方法中,未移除玩家缓存的bug。
2. 当玩家权限更新时,将关闭玩家的GUI,令其自行打开刷新所有前缀。
3. 允许配置GUI的标题。[/size][/quote]
[size=3][b]1.2.3 [/b][/size][attach]1905406[/attach]
[quote][size=3][b]更新内容:[/b]
[/size][size=3]1. 支持Hex颜色!(1.16以上版本) 格式 [u]&(#颜色代码)[/u] [/size]
[size=3][backcolor=initial]- 如 “[/backcolor][/size][backcolor=initial][size=3]LightSlateBlue [u]&(#8470FF)[/u] ”、 “DarkSlateBlue [u]&(#483D8B)[/u]”。[/size][/backcolor]
[backcolor=initial][size=3]2. 修复未安装PlaceholderAPI的情况下可能导致的部分报错。[/size][/backcolor]
[backcolor=initial][size=3]
[/size][/backcolor]
[/quote]
[/spoiler]
更多版本请移步 [url=https://github.com/CarmJos/UserPrefix/releases]Releases · CarmJos/UserPrefix (github.com)[/url] 。
[size=5][b]开源地址[/b][/size]
[hr]
[size=3]本插件于 [/size][url=https://github.com/CarmJos/UserPrefix]Github[/url][size=3] 开源。[/size]
[size=3]
[/size]
[color=#24292f][font=-apple-system, BlinkMacSystemFont, &quot;][size=16px]本项目源码采用 [/size][/font][/color][url=https://opensource.org/licenses/GPL-3.0]GNU General Public License v3.0[/url][color=#24292f][font=-apple-system, BlinkMacSystemFont, &quot;][size=16px] 开源协议。[/size][/font][/color]
[font=-apple-system, BlinkMacSystemFont][color=#24292f][size=16px]
[/size][/color][/font][size=3]喜欢本插件的话,也可以去Github上给我点个小星星哦~
[/size]
[size=5][b]插件支持[/b][/size]
[hr]
[size=4]本项目由 [url=https://www.mcbbs.net/group-2077-1.html]YourCraft(你的世界)[/url] 团队提供长期支持与维护。
欢迎加入 [url=https://jq.qq.com/?_wv=1027&k=W634w2NT]YourCraft技术交流群[/url] 深入探讨开发问题。[/size]
[attachimg]1905173[/attachimg]
[hr]
[align=center][b][size=4][color=#ff0000]本插件所用所有代码均为原创,不存在借用/抄袭等行为[/color][/size][/b][/align]
+284
View File
@@ -0,0 +1,284 @@
[URL='https://raw.githubusercontent.com/CarmJos/UserPrefix/master/img/banner.png'][IMG]https://raw.githubusercontent.com/CarmJos/UserPrefix/master/img/banner.png[/IMG][/URL]
[SIZE=6][B]UserPrefix Plugin[/B][/SIZE]
[URL='https://www.codefactor.io/repository/github/carmjos/userprefix'][IMG]https://camo.githubusercontent.com/6040f5c07ea04f9cb666459d6b6f08d19971fc29a26183cdc6595297b287234b/68747470733a2f2f7777772e636f6465666163746f722e696f2f7265706f7369746f72792f6769746875622f6361726d6a6f732f757365727072656669782f62616467653f733d62373666656331663634373236623566313939383961616365366164623566383566646162383430[/IMG][/URL] [URL='https://github.com/CarmJos/UserPrefix/actions/workflows/maven.yml'][IMG]https://github.com/CarmJos/UserPrefix/actions/workflows/maven.yml/badge.svg?branch=master[/IMG][/URL] [URL='https://opensource.org/licenses/GPL-3.0'][IMG]https://camo.githubusercontent.com/fd3e53788a319da1b7287d976c2f23fcb8e3d474249af0bf7f8e671f968faebd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f4361726d4a6f732f55736572507265666978[/IMG][/URL] [URL='https://camo.githubusercontent.com/753f86cc8d2a514a026309afab251b090749751b35409f1e633c77cc0b3f5618/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d696e6563726166742d4a617661253230312e382d2d4c61746573742d79656c6c6f77'][IMG]https://camo.githubusercontent.com/753f86cc8d2a514a026309afab251b090749751b35409f1e633c77cc0b3f5618/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d696e6563726166742d4a617661253230312e382d2d4c61746573742d79656c6c6f77[/IMG][/URL] [URL='https://camo.githubusercontent.com/75543844e4f92947d837bd45ab75d5a268e63ff485cd7b354cf69f52e60be28d/68747470733a2f2f76697369746f722d62616467652e676c697463682e6d652f62616467653f706167655f69643d757365727072656669782e726561646d65'][IMG]https://camo.githubusercontent.com/75543844e4f92947d837bd45ab75d5a268e63ff485cd7b354cf69f52e60be28d/68747470733a2f2f76697369746f722d62616467652e676c697463682e6d652f62616467653f706167655f69643d757365727072656669782e726561646d65[/IMG][/URL]
Lightweight, efficient, and real-time user prefix system.
This plugin is implemented based on Spigot ,Theoretically support ALL MineCraft Versions.
The development of this plugin is based on Chinese, which purpose is to help Chinese developers learn Bukkit plugin development.
[QUOTE]
本插件已在 [URL='https://www.mcbbs.net/forum.php?mod=viewthread&tid=1261503']MCBBS[/URL] 上发布,欢迎中文用户来这里下载。
[/QUOTE]
[SIZE=5][B]Examples[/B][/SIZE]
[URL='https://raw.githubusercontent.com/CarmJos/UserPrefix/master/img/using-example.png'][IMG]https://raw.githubusercontent.com/CarmJos/UserPrefix/master/img/using-example.png[/IMG][/URL]
[SIZE=5][B]Dependencies[/B][/SIZE]
[LIST]
[*][B][Necessary][/B] Plugin developed based on [URL='https://hub.spigotmc.org/stash/projects/SPIGOT']Spigot-API[/URL] and [URL='http://bukkit.org/']BukkitAPI[/URL].
[*][B][Necessary][/B] Plugin data storage base on [URL='https://www.spigotmc.org/resources/luckperms.28140/']LuckPerms[/URL].
[*][Recommend] Placeholders based on [URL='https://www.spigotmc.org/resources/6245/']PlaceholderAPI[/URL] .
[/LIST]
For development dependencies, please see [URL='https://github.com/CarmJos/UserPrefix/network/dependencies']Dependencies[/URL] .
[SIZE=5][B]Features[/B][/SIZE]
[LIST]
[*]Theoretically support ALL MineCraft Versions.
[*]Reloading the configuration will automatically refresh the prefix of all players.
[*]Real-time judgment and feedback to the player when permissions are changed.
[*]Configurable sounds and messages.
[*]The prefix icon can be configured as "Selected", "Has Permission" and “No Permission”.
[LIST]
[*]Item configuration is natively configured through ItemStack, which supports all MC settings!
[/LIST]
[*]TabList is automatically sorted according to the weight of the prefix (if there is a conflict, it can be turned off)
[*]The prefix display on the player name (can be turned off if there is a conflict)
[*]GUI with automatic sorting and page turning!
[*]Support PlaceholderAPI variables!
[*]Support Hex color! (Version 1.16 and above) [U]&(#Color)[/U]
[LIST]
[*]Example: LightSlateBlue [U]&(#8470FF)[/U] 、 DarkSlateBlue [U]&(#483D8B)[/U]
[/LIST]
[/LIST]
[SIZE=5][B]Notice[/B][/SIZE]
[SIZE=4][B]1. Version support issues[/B][/SIZE]
This plugin theoretically supports all versions.
If the icon does not load, the sound cannot be played, etc., please check whether the type of the item and sound in the configuration file exists in the current version.
Take the SOUND as an example. The sound that the villager said "OK" is "[U]VILLAGER_YES[/U]" in the lower version, but it becomes "[U]ENTITY_VILLAGER_YES[/U]" in the higher version.
[SIZE=4][B]2. Scoreboard exception problem[/B][/SIZE]
The display of the prefix on the head and the sorting of the TabList both use the scoreboard API.
Please turn of the [U]functions.OnNamePrefix[/U] in the configuration if there is a conflict.
[SIZE=4][B]3. Item icon configuration problem[/B][/SIZE]
Items are read through the ItemStack serialization method provided by Bukkit. For related configuration methods, please refer to [URL='https://www.spigotmc.org/wiki/itemstack-serialization/']ItemStack Serialization[/URL].
[SIZE=5][B]Commands[/B]
[/SIZE]
[code]
/UserPrefix or /prefix #Open prefix GUI
/UserPrefixAdmin # View Admin Command Help
/UserPrefixAdmin reload # Reload Config
/UserPrefixAdmin list # List all configured prefixes.
[/code]
[SIZE=5][B]Placeholders (PlaceholderAPI)[/B][/SIZE]
After installed the [URL='https://github.com/PlaceholderAPI/PlaceholderAPI']PlaceholderAPI[/URL] , you can type /papi info UserPrefix to see all the placeholders.
[code]
# %UserPrefix_prefix%
- Get the content of the current prefix
# %UserPrefix_weight%
- Get the weight of the current prefix.
# %UserPrefix_identifier%
- Get the identifier of the current prefix.
# %UserPrefix_name%
- Get the name of the current prefix.
# %UserPrefix_has_<Identifier>%
- Determine whether the player has a certain prefix(true/false)
[/code]
[SIZE=5][B]Configuration Files[/B][/SIZE]
[B][SIZE=4][URL='https://github.com/CarmJos/UserPrefix/blob/master/src/main/resources/en_US/config.yml']Plugin Configuration[/URL] (config.yml)[/SIZE]
[/B]
Notice: The default configuration is based on Chinese. You can find the English Version [URL='https://github.com/CarmJos/UserPrefix/blob/master/src/main/resources/en_US/config.yml']here[/URL].
[code=YAML]
version: ${project.version}
debug: false #DEBUG OUT PUT
custom-storage:
# Custom storage location
# default location is "./prefixes"
# Support absolute file path , such as "/etc/minecraft/configurations/prefixes/"
enable: false
path: "prefixes/" # Must be a folder!
GUI:
title: "&f&lMy Prefixes List" # Title of the GUI
items:
next-page: # only show has next page
==: org.bukkit.inventory.ItemStack
type: ARROW
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§fNext Page"
lore:
- ""
- "§fRight-Click to the last page"
previous-page: # only show has previous page
==: org.bukkit.inventory.ItemStack
type: ARROW
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§fPrevious Page"
lore:
- ""
- "§fRight-Click to the first page"
functions:
# Whether to add a prefix to the top of the head,
# this method uses the scoreboard above the head,
# please turn it off if there is a conflict.
OnNamePrefix: true
# Automatic prefix select.
# When the player does not choose a prefix by himself,
# the prefix with the highest weight will be used automatically
autoUsePrefix: true
chat:
# Chat Function
# - I recommend using other chat plugins instead of using this plugin,
# - this plugin only provides very basic chat format placeholders.
# - Notice that: format must has “%1$s” and “%2$s” for PlayerName and Message (Bukkit Chat Event)
enable: false
format: "<%UserPrefix_prefix%%1$s> %2$s"
Sounds:
# Format is [SOUND_NAME:Volume:Pitch] or [SOUND_NAME:Volume] or [SOUND_NAME]
openGUI: "BLOCK_NOTE_BLOCK_PLING:1:1"
guiClick: "UI_BUTTON_CLICK"
prefixChange: "ENTITY_VILLAGER_YES"
prefixExpired: "ENTITY_VILLAGER_NO"
# The default prefix's weight is 0.
defaultPrefix:
name: "Default prefix"
content: "&b"
itemNotUsing:
==: org.bukkit.inventory.ItemStack
type: NAME_TAG
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§fThe default prefix §f(Click to select)"
lore:
- ""
- "§a➥ Click to use"
itemUsing:
==: org.bukkit.inventory.ItemStack
type: NAME_TAG
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§fThe default prefix"
lore:
- ""
- "§a✔ Selected"
[/code]
[B][SIZE=4][URL='https://github.com/CarmJos/UserPrefix/blob/master/src/main/resources/en_US/messages.yml']Messages Configuration[/URL] (messages.yml)[/SIZE][/B]
[code=YAML]
selected:
- "&7You have selected the &f%(name) &7as current prefix."
expired:
- "&7Your prefix &f%(oldName) &7has expired,"
- "&7Now the prefix is changed to &f%(newName) &7."
reload:
- "&a&lReload completed&7costs &f%(time)ms&7."
help:
- "&3&lUserPrefixAdmin &fHelp"
- "&8#/upa&f list"
- "&8- &7Show configured prefixes."
- "&8#/upa&f reload"
- "&8- &7Reload configuration."
list-title:
- "&3&lUserPrefixAdmin &fList"
list-value:
- "&8#%(weight) &f%(identifier)"
- "&8- &7Name &r%(name) &7Perm &r%(permission)"
- "&8- &7Example&r %(content) %(sender_name)"
[/code]
[B][URL='https://github.com/CarmJos/UserPrefix/blob/master/src/main/resources/en_US/example-prefix.yml']Prefixes [/URL][B][URL='https://github.com/CarmJos/UserPrefix/blob/master/src/main/resources/en_US/example-prefix.yml']Configuration[/URL] [/B](/prefixes/*.yml)
[/B]
All prefixes are separate configuration files, stored in the [U]<Data Folder>/prefixes/[/U] for easy management.
Some symbols in file name may affect reading, please avoid using them.
[code]# identifier [Necessary]
# This will be used for data-storage.
identifier: "pro"
# Name [Necessary]
# Use in messages.
name: "&b&lPro&b"
# Content [Necessary]
# Use in Placeholders
content: "§b§lPro §b"
# Weight [Necessary]
# used for sorting in the GUI and TabList
# In GUI : the larger is displayed at the back
# At TabList : the larger is displayed at the top
weight: 1
# Permission [Unnecessary]
# If there is no permission for detection, everyone can use it,
# which means there is no need to configure "itemNoPermission"
# (because it is impossible to display items without permission at all)
permission: "yc.vip"
# itemHasPermission [Necessary]
# This Item will be displayed when player has permission
itemHasPermission:
==: org.bukkit.inventory.ItemStack
type: DIAMOND
meta:
==: org.bukkit.inventory.ItemStack
type: DIAMOND
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§b§lVIP Prefix"
lore:
- ""
- "§a➥ Click to use"
# itemUsing [Unnecessary]
# This Item will be displayed when the prefix is selected.
# If there is no such configuration, it will automatically display "itemHasPermission".
itemUsing:
==: org.bukkit.inventory.ItemStack
type: DIAMOND
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§b§lVIP Prefix"
enchants:
PROTECTION_ENVIRONMENTAL: 1 #Add an enchantment so it looks like its selected
lore:
- ""
- "§a✔ Selected"
# itemNoPermission [Unnecessary]
# If player doesn't have the permission,this item will be displayed.
# If this item is not configured, it will not be displayed in the GUI when the player does not have permission to use it.
itemNoPermission:
==: org.bukkit.inventory.ItemStack
type: INK_SACK
damage: 8
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: "§b§lVIP §c(Buy it!)"
lore:
- ""
- "§e✯ Buy the VIP to use it!"[/code]
[SIZE=5][B]Support and Donation[/B][/SIZE]
This project is support by the [URL='https://www.ycraft.cn/']YourCraft(你的世界)[/URL] . [URL='https://raw.githubusercontent.com/CarmJos/UserPrefix/master/img/team-logo.png'][IMG]https://raw.githubusercontent.com/CarmJos/UserPrefix/master/img/team-logo.png[/IMG][/URL]
[SIZE=5][B]Open source agreement[/B][/SIZE]
The source code of this project uses [URL='https://opensource.org/licenses/GPL-3.0']GNU General Public License v3.0[/URL] License.