mirror of
https://github.com/CarmJos/UserPrefix.git
synced 2024-09-19 20:15:47 +00:00
优化代码结构,移除无用代码,减少代码复用。
This commit is contained in:
parent
f6a5538da3
commit
bb126c676e
2
pom.xml
2
pom.xml
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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(" ")
|
||||
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user