1
mirror of https://github.com/CarmJos/UserPrefix.git synced 2024-09-19 20:15:47 +00:00

优化代码结构,移除无用代码,减少代码复用。

This commit is contained in:
carm 2021-08-25 13:37:31 +08:00
parent f6a5538da3
commit bb126c676e
8 changed files with 36 additions and 77 deletions

View File

@ -6,7 +6,7 @@
<groupId>cc.carm.plugin</groupId>
<artifactId>UserPrefix</artifactId>
<version>1.0.0-SNAPSHOT</version>
<version>1.2.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>

View File

@ -6,11 +6,12 @@ import cc.carm.plugin.userprefix.configuration.PrefixConfig;
import cc.carm.plugin.userprefix.hooker.UserPrefixExpansion;
import cc.carm.plugin.userprefix.listener.UserListener;
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.PrefixManager;
import cc.carm.plugin.userprefix.manager.ServiceManager;
import cc.carm.plugin.userprefix.manager.UserManager;
import cc.carm.plugin.userprefix.util.ColorParser;
import net.luckperms.api.event.user.UserDataRecalculateEvent;
import org.bukkit.Bukkit;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
@ -47,6 +48,11 @@ public class Main extends JavaPlugin {
log("加载完成 ,共耗时 " + (System.currentTimeMillis() - startTime) + " ms 。");
if (Bukkit.getOnlinePlayers().size() > 0) {
Bukkit.getOnlinePlayers().forEach(UserManager::initPlayer); // 适配热重载
}
}
@Override

View File

@ -1,9 +1,6 @@
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.ui.PrefixSelectGUI;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
@ -14,25 +11,13 @@ public class UserListener implements Listener {
@EventHandler
public void onJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
UserManager.checkPrefix(player, false);
if (PrefixConfig.Functions.NAME_PREFIX.get()) {
UserManager.createNameTag(event.getPlayer());
UserManager.updatePrefixView(event.getPlayer(), true);
}
UserManager.initPlayer(event.getPlayer());
}
@EventHandler
public void onLeave(PlayerQuitEvent event) {
PrefixSelectGUI.removeOpening(event.getPlayer());
UserManager.unloadNameTag(event.getPlayer().getUniqueId());
UserManager.checkingPlayers.remove(event.getPlayer().getUniqueId());
UserManager.unloadPlayer(event.getPlayer());
}

View File

@ -1,29 +1,16 @@
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 net.luckperms.api.event.user.UserDataRecalculateEvent;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
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) {
User user = event.getUser();
Player player = Bukkit.getPlayer(user.getUniqueId());
Player player = Bukkit.getPlayer(event.getUser().getUniqueId());
if (player == null) return;
UserManager.checkPrefix(player, true);
}
}

View File

@ -33,7 +33,9 @@ public class PrefixManager {
Main.log("配置文件中暂无任何前缀配置,请检查。");
return;
}
HashMap<String, ConfiguredPrefix> dataPrefixes = new HashMap<>();
for (String prefixIdentifier : prefixesSection.getKeys(false)) {
ConfigurationSection configuredPrefixSection = prefixesSection.getConfigurationSection(prefixIdentifier);
if (configuredPrefixSection == null) continue;
@ -55,10 +57,12 @@ public class PrefixManager {
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() {
PrefixManager.defaultPrefix = null;
ConfigurationSection defaultPrefixSection = ConfigManager.getConfig().getConfigurationSection("defaultPrefix");
if (defaultPrefixSection != null) {
String name = defaultPrefixSection.getString("name", "默认前缀");
@ -80,9 +84,9 @@ public class PrefixManager {
.addFlag(ItemFlag.HIDE_ENCHANTS)
.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 {
defaultPrefix = new ConfiguredPrefix("default", "默认前缀", "&r", 0, null,
PrefixManager.defaultPrefix = new ConfiguredPrefix("default", "默认前缀", "&r", 0, null,
new ItemStackFactory(Material.NAME_TAG)
.setDisplayName("&f默认前缀")
.addLore(" ")

View File

@ -4,6 +4,7 @@ import cc.carm.plugin.userprefix.Main;
import cc.carm.plugin.userprefix.configuration.PrefixConfig;
import cc.carm.plugin.userprefix.model.ConfiguredPrefix;
import cc.carm.plugin.userprefix.nametag.UserNameTag;
import cc.carm.plugin.userprefix.ui.PrefixSelectGUI;
import cc.carm.plugin.userprefix.util.MessageUtil;
import net.luckperms.api.model.user.User;
import net.luckperms.api.node.NodeType;
@ -30,6 +31,20 @@ public class UserManager {
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) {
tag.setPrefix(onlinePlayer, onlinePlayerPrefix.getContent());
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());
}
}
}

View File

@ -37,58 +37,30 @@ public class ConfiguredPrefix {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent() {
return ColorParser.parseColor(content);
}
public void setContent(String content) {
this.content = content;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public String getPermission() {
return permission;
}
public void setPermission(String permission) {
this.permission = permission;
}
public ItemStack getItemHasPermission() {
return itemHasPermission;
}
public void setItemHasPermission(ItemStack itemHasPermission) {
this.itemHasPermission = itemHasPermission;
}
public ItemStack getItemNoPermission() {
return itemNoPermission;
}
public void setItemNoPermission(ItemStack itemNoPermission) {
this.itemNoPermission = itemNoPermission;
}
public ItemStack getItemWhenUsing() {
return itemWhenUsing;
}
public void setItemWhenUsing(ItemStack itemWhenUsing) {
this.itemWhenUsing = itemWhenUsing;
}
public boolean isVisibleNoPermission() {
return this.itemNoPermission != null;
}

View File

@ -128,14 +128,4 @@ public class ItemStackFactory {
this.item.setItemMeta(im);
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;
}
}