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:
parent
821b42cc03
commit
3ec39b9ca3
4
pom.xml
4
pom.xml
@ -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>
|
||||
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user