mirror of
https://github.com/CarmJos/UserPrefix.git
synced 2026-06-05 00:35:02 +08:00
优化代码结构,移除无用代码,减少代码复用。
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>cc.carm.plugin</groupId>
|
<groupId>cc.carm.plugin</groupId>
|
||||||
<artifactId>UserPrefix</artifactId>
|
<artifactId>UserPrefix</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.2.0-SNAPSHOT</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>8</maven.compiler.source>
|
<maven.compiler.source>8</maven.compiler.source>
|
||||||
|
|||||||
@@ -6,11 +6,12 @@ import cc.carm.plugin.userprefix.configuration.PrefixConfig;
|
|||||||
import cc.carm.plugin.userprefix.hooker.UserPrefixExpansion;
|
import cc.carm.plugin.userprefix.hooker.UserPrefixExpansion;
|
||||||
import cc.carm.plugin.userprefix.listener.UserListener;
|
import cc.carm.plugin.userprefix.listener.UserListener;
|
||||||
import cc.carm.plugin.userprefix.listener.processor.UserNodeUpdateProcessor;
|
import cc.carm.plugin.userprefix.listener.processor.UserNodeUpdateProcessor;
|
||||||
import cc.carm.plugin.userprefix.manager.ServiceManager;
|
|
||||||
import net.luckperms.api.event.user.UserDataRecalculateEvent;
|
|
||||||
import cc.carm.plugin.userprefix.manager.ConfigManager;
|
import cc.carm.plugin.userprefix.manager.ConfigManager;
|
||||||
import cc.carm.plugin.userprefix.manager.PrefixManager;
|
import cc.carm.plugin.userprefix.manager.PrefixManager;
|
||||||
|
import cc.carm.plugin.userprefix.manager.ServiceManager;
|
||||||
|
import cc.carm.plugin.userprefix.manager.UserManager;
|
||||||
import cc.carm.plugin.userprefix.util.ColorParser;
|
import cc.carm.plugin.userprefix.util.ColorParser;
|
||||||
|
import net.luckperms.api.event.user.UserDataRecalculateEvent;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
@@ -47,6 +48,11 @@ public class Main extends JavaPlugin {
|
|||||||
|
|
||||||
|
|
||||||
log("加载完成 ,共耗时 " + (System.currentTimeMillis() - startTime) + " ms 。");
|
log("加载完成 ,共耗时 " + (System.currentTimeMillis() - startTime) + " ms 。");
|
||||||
|
|
||||||
|
if (Bukkit.getOnlinePlayers().size() > 0) {
|
||||||
|
Bukkit.getOnlinePlayers().forEach(UserManager::initPlayer); // 适配热重载
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
package cc.carm.plugin.userprefix.listener;
|
package cc.carm.plugin.userprefix.listener;
|
||||||
|
|
||||||
import cc.carm.plugin.userprefix.configuration.PrefixConfig;
|
|
||||||
import cc.carm.plugin.userprefix.manager.UserManager;
|
import cc.carm.plugin.userprefix.manager.UserManager;
|
||||||
import cc.carm.plugin.userprefix.ui.PrefixSelectGUI;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
@@ -14,25 +11,13 @@ public class UserListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onJoin(PlayerJoinEvent event) {
|
public void onJoin(PlayerJoinEvent event) {
|
||||||
Player player = event.getPlayer();
|
UserManager.initPlayer(event.getPlayer());
|
||||||
|
|
||||||
UserManager.checkPrefix(player, false);
|
|
||||||
|
|
||||||
|
|
||||||
if (PrefixConfig.Functions.NAME_PREFIX.get()) {
|
|
||||||
UserManager.createNameTag(event.getPlayer());
|
|
||||||
UserManager.updatePrefixView(event.getPlayer(), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onLeave(PlayerQuitEvent event) {
|
public void onLeave(PlayerQuitEvent event) {
|
||||||
PrefixSelectGUI.removeOpening(event.getPlayer());
|
UserManager.unloadPlayer(event.getPlayer());
|
||||||
UserManager.unloadNameTag(event.getPlayer().getUniqueId());
|
|
||||||
UserManager.checkingPlayers.remove(event.getPlayer().getUniqueId());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+2
-15
@@ -1,29 +1,16 @@
|
|||||||
package cc.carm.plugin.userprefix.listener.processor;
|
package cc.carm.plugin.userprefix.listener.processor;
|
||||||
|
|
||||||
import net.luckperms.api.event.user.UserDataRecalculateEvent;
|
|
||||||
import net.luckperms.api.model.user.User;
|
|
||||||
import cc.carm.plugin.userprefix.manager.UserManager;
|
import cc.carm.plugin.userprefix.manager.UserManager;
|
||||||
|
import net.luckperms.api.event.user.UserDataRecalculateEvent;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
public class UserNodeUpdateProcessor {
|
public class UserNodeUpdateProcessor {
|
||||||
|
|
||||||
// public static void process(NodeRemoveEvent event) {
|
|
||||||
// if (event.getTarget() instanceof User) {
|
|
||||||
// if (!(event.getNode() instanceof PermissionNode)) return;
|
|
||||||
// User user = (User) event.getTarget();
|
|
||||||
// Player player = Bukkit.getPlayer(user.getUniqueId());
|
|
||||||
// if (player == null) return;
|
|
||||||
// UserManager.checkPrefix(player, true);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
public static void process(UserDataRecalculateEvent event) {
|
public static void process(UserDataRecalculateEvent event) {
|
||||||
User user = event.getUser();
|
Player player = Bukkit.getPlayer(event.getUser().getUniqueId());
|
||||||
Player player = Bukkit.getPlayer(user.getUniqueId());
|
|
||||||
if (player == null) return;
|
if (player == null) return;
|
||||||
UserManager.checkPrefix(player, true);
|
UserManager.checkPrefix(player, true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,9 @@ public class PrefixManager {
|
|||||||
Main.log("配置文件中暂无任何前缀配置,请检查。");
|
Main.log("配置文件中暂无任何前缀配置,请检查。");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
HashMap<String, ConfiguredPrefix> dataPrefixes = new HashMap<>();
|
HashMap<String, ConfiguredPrefix> dataPrefixes = new HashMap<>();
|
||||||
|
|
||||||
for (String prefixIdentifier : prefixesSection.getKeys(false)) {
|
for (String prefixIdentifier : prefixesSection.getKeys(false)) {
|
||||||
ConfigurationSection configuredPrefixSection = prefixesSection.getConfigurationSection(prefixIdentifier);
|
ConfigurationSection configuredPrefixSection = prefixesSection.getConfigurationSection(prefixIdentifier);
|
||||||
if (configuredPrefixSection == null) continue;
|
if (configuredPrefixSection == null) continue;
|
||||||
@@ -55,10 +57,12 @@ public class PrefixManager {
|
|||||||
dataPrefixes.put(prefixIdentifier, new ConfiguredPrefix(prefixIdentifier, name, content, weight, permission, itemHasPermission, itemNoPermission, itemUsing));
|
dataPrefixes.put(prefixIdentifier, new ConfiguredPrefix(prefixIdentifier, name, content, weight, permission, itemHasPermission, itemNoPermission, itemUsing));
|
||||||
}
|
}
|
||||||
|
|
||||||
prefixes = dataPrefixes;
|
PrefixManager.prefixes.clear();
|
||||||
|
PrefixManager.prefixes = dataPrefixes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void loadDefaultPrefix() {
|
public static void loadDefaultPrefix() {
|
||||||
|
PrefixManager.defaultPrefix = null;
|
||||||
ConfigurationSection defaultPrefixSection = ConfigManager.getConfig().getConfigurationSection("defaultPrefix");
|
ConfigurationSection defaultPrefixSection = ConfigManager.getConfig().getConfigurationSection("defaultPrefix");
|
||||||
if (defaultPrefixSection != null) {
|
if (defaultPrefixSection != null) {
|
||||||
String name = defaultPrefixSection.getString("name", "默认前缀");
|
String name = defaultPrefixSection.getString("name", "默认前缀");
|
||||||
@@ -80,9 +84,9 @@ public class PrefixManager {
|
|||||||
.addFlag(ItemFlag.HIDE_ENCHANTS)
|
.addFlag(ItemFlag.HIDE_ENCHANTS)
|
||||||
.toItemStack()
|
.toItemStack()
|
||||||
);
|
);
|
||||||
defaultPrefix = new ConfiguredPrefix("default", name, content, 0, null, itemNotUsing, null, itemUsing);
|
PrefixManager.defaultPrefix = new ConfiguredPrefix("default", name, content, 0, null, itemNotUsing, null, itemUsing);
|
||||||
} else {
|
} else {
|
||||||
defaultPrefix = new ConfiguredPrefix("default", "默认前缀", "&r", 0, null,
|
PrefixManager.defaultPrefix = new ConfiguredPrefix("default", "默认前缀", "&r", 0, null,
|
||||||
new ItemStackFactory(Material.NAME_TAG)
|
new ItemStackFactory(Material.NAME_TAG)
|
||||||
.setDisplayName("&f默认前缀")
|
.setDisplayName("&f默认前缀")
|
||||||
.addLore(" ")
|
.addLore(" ")
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import cc.carm.plugin.userprefix.Main;
|
|||||||
import cc.carm.plugin.userprefix.configuration.PrefixConfig;
|
import cc.carm.plugin.userprefix.configuration.PrefixConfig;
|
||||||
import cc.carm.plugin.userprefix.model.ConfiguredPrefix;
|
import cc.carm.plugin.userprefix.model.ConfiguredPrefix;
|
||||||
import cc.carm.plugin.userprefix.nametag.UserNameTag;
|
import cc.carm.plugin.userprefix.nametag.UserNameTag;
|
||||||
|
import cc.carm.plugin.userprefix.ui.PrefixSelectGUI;
|
||||||
import cc.carm.plugin.userprefix.util.MessageUtil;
|
import cc.carm.plugin.userprefix.util.MessageUtil;
|
||||||
import net.luckperms.api.model.user.User;
|
import net.luckperms.api.model.user.User;
|
||||||
import net.luckperms.api.node.NodeType;
|
import net.luckperms.api.node.NodeType;
|
||||||
@@ -30,6 +31,20 @@ public class UserManager {
|
|||||||
return nameTag;
|
return nameTag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void initPlayer(Player player) {
|
||||||
|
UserManager.checkPrefix(player, false);
|
||||||
|
if (PrefixConfig.Functions.NAME_PREFIX.get()) {
|
||||||
|
UserManager.createNameTag(player);
|
||||||
|
UserManager.updatePrefixView(player, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void unloadPlayer(Player player) {
|
||||||
|
PrefixSelectGUI.removeOpening(player);
|
||||||
|
UserManager.unloadNameTag(player.getUniqueId());
|
||||||
|
UserManager.checkingPlayers.remove(player.getUniqueId());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新前缀显示效果
|
* 更新前缀显示效果
|
||||||
*
|
*
|
||||||
@@ -61,7 +76,7 @@ public class UserManager {
|
|||||||
if (onlinePlayerPrefix != null) {
|
if (onlinePlayerPrefix != null) {
|
||||||
tag.setPrefix(onlinePlayer, onlinePlayerPrefix.getContent());
|
tag.setPrefix(onlinePlayer, onlinePlayerPrefix.getContent());
|
||||||
tag.setOrder(onlinePlayer, onlinePlayerPrefix.getWeight());
|
tag.setOrder(onlinePlayer, onlinePlayerPrefix.getWeight());
|
||||||
Main.debug("为玩家 " + player.getName() + " 设置了 " + player.getName() + "的前缀为 #" + onlinePlayerPrefix.getWeight() + " " + onlinePlayerPrefix.getName());
|
Main.debug("为玩家 " + player.getName() + " 设置了 " + onlinePlayer.getName() + "的前缀为 #" + onlinePlayerPrefix.getWeight() + " " + onlinePlayerPrefix.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,58 +37,30 @@ public class ConfiguredPrefix {
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setName(String name) {
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getContent() {
|
public String getContent() {
|
||||||
return ColorParser.parseColor(content);
|
return ColorParser.parseColor(content);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setContent(String content) {
|
|
||||||
this.content = content;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getWeight() {
|
public int getWeight() {
|
||||||
return weight;
|
return weight;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setWeight(int weight) {
|
|
||||||
this.weight = weight;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPermission() {
|
public String getPermission() {
|
||||||
return permission;
|
return permission;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPermission(String permission) {
|
|
||||||
this.permission = permission;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemStack getItemHasPermission() {
|
public ItemStack getItemHasPermission() {
|
||||||
return itemHasPermission;
|
return itemHasPermission;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setItemHasPermission(ItemStack itemHasPermission) {
|
|
||||||
this.itemHasPermission = itemHasPermission;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemStack getItemNoPermission() {
|
public ItemStack getItemNoPermission() {
|
||||||
return itemNoPermission;
|
return itemNoPermission;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setItemNoPermission(ItemStack itemNoPermission) {
|
|
||||||
this.itemNoPermission = itemNoPermission;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemStack getItemWhenUsing() {
|
public ItemStack getItemWhenUsing() {
|
||||||
return itemWhenUsing;
|
return itemWhenUsing;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setItemWhenUsing(ItemStack itemWhenUsing) {
|
|
||||||
this.itemWhenUsing = itemWhenUsing;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isVisibleNoPermission() {
|
public boolean isVisibleNoPermission() {
|
||||||
return this.itemNoPermission != null;
|
return this.itemNoPermission != null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,14 +128,4 @@ public class ItemStackFactory {
|
|||||||
this.item.setItemMeta(im);
|
this.item.setItemMeta(im);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStackFactory setSkullOwner(String name) {
|
|
||||||
if (this.item.getType() == Material.PLAYER_HEAD || this.item.getType() == Material.PLAYER_WALL_HEAD) {
|
|
||||||
SkullMeta im = (SkullMeta) this.item.getItemMeta();
|
|
||||||
im.setOwner(name);
|
|
||||||
this.item.setItemMeta(im);
|
|
||||||
}
|
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user