mirror of
https://github.com/CarmJos/UserPrefix.git
synced 2024-09-19 20:15:47 +00:00
添加英文版介绍
This commit is contained in:
parent
799bb4e52b
commit
3dd6398afa
213
README-en.md
Normal file
213
README-en.md
Normal file
@ -0,0 +1,213 @@
|
||||
![BANNER](https://raw.githubusercontent.com/CarmJos/UserPrefix/master/img/banner.png)
|
||||
|
||||
# UserPrefix Plugin
|
||||
|
||||
[![CodeFactor](https://www.codefactor.io/repository/github/carmjos/userprefix/badge?s=b76fec1f64726b5f19989aace6adb5f85fdab840)](https://www.codefactor.io/repository/github/carmjos/userprefix)
|
||||
[![Java CI with Maven](https://github.com/CarmJos/UserPrefix/actions/workflows/maven.yml/badge.svg?branch=master)](https://github.com/CarmJos/UserPrefix/actions/workflows/maven.yml)
|
||||
![](https://visitor-badge.glitch.me/badge?page_id=userprefix.readme)
|
||||
|
||||
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.
|
||||
|
||||
本插件已在 [MCBBS](https://www.mcbbs.net/forum.php?mod=viewthread&tid=1261503) 上发布,欢迎中文用户来这里下载。
|
||||
|
||||
## Examples
|
||||
|
||||
![example](https://raw.githubusercontent.com/CarmJos/UserPrefix/master/img/using-example.png)
|
||||
|
||||
## Dependencies
|
||||
|
||||
- **[Necessary]** Plugin developed based on [Spigot-API](https://hub.spigotmc.org/stash/projects/SPIGOT)
|
||||
and [BukkitAPI](http://bukkit.org/).
|
||||
- **[Necessary]** Plugin data storage base on [LuckPerms](https://www.spigotmc.org/resources/luckperms.28140/).
|
||||
- **[Recommend]** Placeholders based on [PlaceholderAPI](https://www.spigotmc.org/resources/6245/) .
|
||||
|
||||
For development dependencies, please see [Dependencies](https://github.com/CarmJos/UserPrefix/network/dependencies) .
|
||||
|
||||
## Features
|
||||
|
||||
- **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”.
|
||||
- Item configuration is natively configured through ItemStack, which supports all MC settings!
|
||||
- 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) `&(#Color)`
|
||||
- Example: LightSlateBlue `&(#8470FF)` 、 DarkSlateBlue `&(#483D8B)`
|
||||
|
||||
## Notice
|
||||
|
||||
### 1. Version support issues
|
||||
|
||||
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 "`VILLAGER_YES`" in the lower version, but it becomes "`ENTITY_VILLAGER_YES`" in the higher version.
|
||||
|
||||
### 2. Scoreboard exception problem
|
||||
|
||||
The display of the prefix on the head and the sorting of the TabList both use the scoreboard API.
|
||||
|
||||
Please turn of the `functions.OnNamePrefix` in the configuration if there is a conflict.
|
||||
|
||||
### 3. Item icon configuration problem
|
||||
|
||||
Items are read through the ItemStack serialization method provided by Bukkit. For related configuration methods, please refer to [ItemStack Serialization](https://www.spigotmc.org/wiki/itemstack-serialization/).
|
||||
|
||||
## Commands
|
||||
|
||||
This plugin's Commands are based on Chinese!
|
||||
**May support multi-language in the future.**
|
||||
|
||||
```text
|
||||
/UserPrefix or /prefix #Open prefix GUI
|
||||
/UserPrefixAdmin # View Admin Command Help
|
||||
/UserPrefixAdmin reload # Reload Config
|
||||
/UserPrefixAdmin list # List all configured prefixes.~~~~
|
||||
```
|
||||
|
||||
## Placeholders (PlaceholderAPI)
|
||||
|
||||
After installed the [PlaceholderAPI](https://github.com/PlaceholderAPI/PlaceholderAPI) , you can
|
||||
type `/papi info UserPrefix` to see all the placeholders.
|
||||
|
||||
```text
|
||||
# %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)
|
||||
```
|
||||
|
||||
## Sample configuration file
|
||||
|
||||
```yaml
|
||||
version: 1.0.0-SNAPSHOT # DO NOT EDIT IT
|
||||
|
||||
debug: false #DEBUG OUT PUT
|
||||
|
||||
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
|
||||
|
||||
messages:
|
||||
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."
|
||||
|
||||
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"
|
||||
|
||||
prefixes:
|
||||
VIP:
|
||||
name: "&b&lPro&b" # [Necessary] Name (Using in messages)
|
||||
content: "§b§lPro §b" # [Necessary] What to display before the name
|
||||
# [Necessary] Weight, used for sorting in the GUI
|
||||
# (the larger is displayed at the back) and the automatic prefix display
|
||||
weight: 1
|
||||
# [Necessary] 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.pro"
|
||||
itemHasPermission:
|
||||
# [Necessary] This Item will be displayed when player has permission
|
||||
==: org.bukkit.inventory.ItemStack
|
||||
type: DIAMOND
|
||||
meta:
|
||||
==: ItemMeta
|
||||
meta-type: UNSPECIFIC
|
||||
display-name: "§b§lVIP Prefix"
|
||||
lore:
|
||||
- ""
|
||||
- "§a➥ Click to use"
|
||||
itemUsing:
|
||||
# [Not Necessary] This Item will be displayed when the prefix is selected.
|
||||
# If there is no such configuration, it will automatically display "itemHasPermission".
|
||||
==: 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 it’s selected
|
||||
lore:
|
||||
- ""
|
||||
- "§a✔ Selected"
|
||||
itemNoPermission:
|
||||
# [Not Necessary] 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.
|
||||
==: 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!"
|
||||
```
|
||||
|
||||
## Support and Donation
|
||||
|
||||
This project is support by the [YourCraft(你的世界)](https://www.ycraft.cn) .
|
||||
![TeamLogo](https://raw.githubusercontent.com/CarmJos/UserPrefix/master/img/team-logo.png)
|
||||
|
||||
## Open source agreement
|
||||
|
||||
The source code of this project uses [GNU General Public License v3.0](https://opensource.org/licenses/GPL-3.0) License.
|
||||
|
@ -12,6 +12,8 @@
|
||||
|
||||
本插件已在 [MCBBS](https://www.mcbbs.net/forum.php?mod=viewthread&tid=1261503) 上发布。
|
||||
|
||||
The English version of the introduction is [here](https://github.com/CarmJos/UserPrefix/blob/master/README-en.md).
|
||||
|
||||
## 示例
|
||||
|
||||
![example](https://raw.githubusercontent.com/CarmJos/UserPrefix/master/img/using-example.png)
|
||||
|
BIN
img/logo 96x96.png
Normal file
BIN
img/logo 96x96.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
Loading…
Reference in New Issue
Block a user