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

[2.4.1] 尝试修复 #9 问题。

This commit is contained in:
Carm Jos 2022-02-18 18:26:12 +08:00
parent 821b42cc03
commit 3ec39b9ca3
4 changed files with 45 additions and 13 deletions

View File

@ -13,7 +13,7 @@
<groupId>cc.carm.plugin</groupId>
<artifactId>userprefix</artifactId>
<version>2.4.0</version>
<version>2.4.1</version>
<name>UserPrefix</name>
<description>轻便、高效、实时的用户前缀系统。</description>
@ -123,7 +123,7 @@
<dependency>
<groupId>org.bstats</groupId>
<artifactId>bstats-bukkit</artifactId>
<version>2.2.1</version>
<version>3.0.0</version>
<scope>compile</scope>
</dependency>

View File

@ -1,12 +1,17 @@
package cc.carm.plugin.userprefix.event;
import cc.carm.plugin.userprefix.Main;
import cc.carm.plugin.userprefix.model.ConfiguredPrefix;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.scheduler.BukkitRunnable;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.function.Consumer;
public class UserPrefixChangeEvent extends UserPrefixEvent implements Cancellable {
public static HandlerList handler = new HandlerList();
@ -52,4 +57,19 @@ public class UserPrefixChangeEvent extends UserPrefixEvent implements Cancellabl
public HandlerList getHandlers() {
return handler;
}
public static void call(@NotNull Player who,
@Nullable ConfiguredPrefix before,
@NotNull ConfiguredPrefix after,
@Nullable Consumer<@Nullable ConfiguredPrefix> finish) {
new BukkitRunnable() {
@Override
public void run() {
UserPrefixChangeEvent event = new UserPrefixChangeEvent(who, before, after);
Bukkit.getPluginManager().callEvent(event);
if (finish != null) finish.accept(event.isCancelled() ? null : event.getAfter());
}
}.runTask(Main.getInstance());
}
}

View File

@ -1,8 +1,11 @@
package cc.carm.plugin.userprefix.event;
import cc.carm.plugin.userprefix.Main;
import cc.carm.plugin.userprefix.model.ConfiguredPrefix;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.HandlerList;
import org.bukkit.scheduler.BukkitRunnable;
import org.jetbrains.annotations.NotNull;
public class UserPrefixExpireEvent extends UserPrefixEvent {
@ -27,4 +30,14 @@ public class UserPrefixExpireEvent extends UserPrefixEvent {
public HandlerList getHandlers() {
return handler;
}
public static void call(@NotNull Player player, @NotNull ConfiguredPrefix currentPrefix) {
new BukkitRunnable() {
@Override
public void run() {
Bukkit.getPluginManager().callEvent(new UserPrefixExpireEvent(player, currentPrefix));
}
}.runTask(Main.getInstance());
}
}

View File

@ -121,7 +121,7 @@ public class UserManager {
if (currentPrefix != null) {
//当前前缀不为空则代表属于前缀过期的情况
Bukkit.getPluginManager().callEvent(new UserPrefixExpireEvent(player, currentPrefix));
UserPrefixExpireEvent.call(player, currentPrefix);
// 发送消息
PluginConfig.Messages.EXPIRED.sendWithPlaceholders(player,
@ -139,17 +139,16 @@ public class UserManager {
);
}
UserPrefixChangeEvent event = new UserPrefixChangeEvent(player, currentPrefix, newPrefix);
Bukkit.getPluginManager().callEvent(event);
if (!event.isCancelled()) {
// 更新前缀
UserManager.setPrefix(player, event.getAfter(), updateView);
}
UserPrefixChangeEvent.call(player, currentPrefix, newPrefix, (after) -> {
if (after != null) {
UserManager.setPrefix(player, after, updateView);
}
checkingPlayers.remove(player.getUniqueId());
});
} else {
checkingPlayers.remove(player.getUniqueId());
}
checkingPlayers.remove(player.getUniqueId());
}
public static void unloadNameTag(UUID uuid) {