This commit is contained in:
HaHaWTH 2024-03-24 02:11:19 +08:00
parent e8d74f559d
commit c5a4dfed03
2 changed files with 9 additions and 6 deletions

View File

@ -24,6 +24,8 @@ public class LimboPlayer {
private final float flySpeed; private final float flySpeed;
private MyScheduledTask timeoutTask = null; private MyScheduledTask timeoutTask = null;
private MessageTask messageTask = null; private MessageTask messageTask = null;
private MyScheduledTask inter;
private LimboPlayerState state = LimboPlayerState.PASSWORD_REQUIRED; private LimboPlayerState state = LimboPlayerState.PASSWORD_REQUIRED;
public LimboPlayer(Location loc, boolean operator, Collection<UserGroup> groups, boolean fly, float walkSpeed, public LimboPlayer(Location loc, boolean operator, Collection<UserGroup> groups, boolean fly, float walkSpeed,
@ -112,18 +114,19 @@ public class LimboPlayer {
* *
* @param messageTask The message task to set * @param messageTask The message task to set
*/ */
public void setMessageTask(MessageTask messageTask) { public void setMessageTask(MessageTask messageTask, MyScheduledTask inter) {
if (this.messageTask != null) { if (this.messageTask != null && this.inter != null) {
this.messageTask.cancel(); this.inter.cancel();
} }
this.messageTask = messageTask; this.messageTask = messageTask;
this.inter = inter;
} }
/** /**
* Clears all tasks associated to the player. * Clears all tasks associated to the player.
*/ */
public void clearTasks() { public void clearTasks() {
setMessageTask(null); setMessageTask(null, null);
setTimeoutTask(null); setTimeoutTask(null);
} }

View File

@ -53,8 +53,8 @@ class LimboPlayerTaskManager {
if (interval > 0) { if (interval > 0) {
String[] joinMessage = messages.retrieveSingle(player, result.messageKey, result.args).split("\n"); String[] joinMessage = messages.retrieveSingle(player, result.messageKey, result.args).split("\n");
MessageTask messageTask = new MessageTask(player, joinMessage); MessageTask messageTask = new MessageTask(player, joinMessage);
bukkitService.runTaskTimer(messageTask, 2 * TICKS_PER_SECOND, interval * TICKS_PER_SECOND); MyScheduledTask task = bukkitService.runTaskTimer(messageTask, 2 * TICKS_PER_SECOND, (long) interval * TICKS_PER_SECOND);
limbo.setMessageTask(messageTask); limbo.setMessageTask(messageTask, task);
} }
} }