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 MyScheduledTask timeoutTask = null;
private MessageTask messageTask = null;
private MyScheduledTask inter;
private LimboPlayerState state = LimboPlayerState.PASSWORD_REQUIRED;
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
*/
public void setMessageTask(MessageTask messageTask) {
if (this.messageTask != null) {
this.messageTask.cancel();
public void setMessageTask(MessageTask messageTask, MyScheduledTask inter) {
if (this.messageTask != null && this.inter != null) {
this.inter.cancel();
}
this.messageTask = messageTask;
this.inter = inter;
}
/**
* Clears all tasks associated to the player.
*/
public void clearTasks() {
setMessageTask(null);
setMessageTask(null, null);
setTimeoutTask(null);
}

View File

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