diff options
Diffstat (limited to 'src/main/java/net/elytrium/limboauth/event')
8 files changed, 66 insertions, 13 deletions
diff --git a/src/main/java/net/elytrium/limboauth/event/AuthPluginReloadEvent.java b/src/main/java/net/elytrium/limboauth/event/AuthPluginReloadEvent.java new file mode 100644 index 0000000..d7aaf15 --- /dev/null +++ b/src/main/java/net/elytrium/limboauth/event/AuthPluginReloadEvent.java @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2021 Elytrium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package net.elytrium.limboauth.event; + +public class AuthPluginReloadEvent { +} diff --git a/src/main/java/net/elytrium/limboauth/event/PostAuthorizationEvent.java b/src/main/java/net/elytrium/limboauth/event/PostAuthorizationEvent.java index cd13c73..c28ed46 100644 --- a/src/main/java/net/elytrium/limboauth/event/PostAuthorizationEvent.java +++ b/src/main/java/net/elytrium/limboauth/event/PostAuthorizationEvent.java @@ -17,11 +17,12 @@ package net.elytrium.limboauth.event; +import java.util.function.Consumer; import net.elytrium.limboapi.api.player.LimboPlayer; import net.elytrium.limboauth.model.RegisteredPlayer; public class PostAuthorizationEvent extends PostEvent { - public PostAuthorizationEvent(LimboPlayer player, RegisteredPlayer playerInfo) { - super(player, playerInfo); + public PostAuthorizationEvent(LimboPlayer player, RegisteredPlayer playerInfo, Consumer<TaskEvent> onComplete) { + super(player, playerInfo, onComplete); } } diff --git a/src/main/java/net/elytrium/limboauth/event/PostEvent.java b/src/main/java/net/elytrium/limboauth/event/PostEvent.java index e86fbcf..68932ef 100644 --- a/src/main/java/net/elytrium/limboauth/event/PostEvent.java +++ b/src/main/java/net/elytrium/limboauth/event/PostEvent.java @@ -17,6 +17,7 @@ package net.elytrium.limboauth.event; +import java.util.function.Consumer; import net.elytrium.limboapi.api.player.LimboPlayer; import net.elytrium.limboauth.model.RegisteredPlayer; @@ -25,8 +26,8 @@ public abstract class PostEvent extends TaskEvent { private final LimboPlayer player; private final RegisteredPlayer playerInfo; - protected PostEvent(LimboPlayer player, RegisteredPlayer playerInfo) { - super(); + protected PostEvent(LimboPlayer player, RegisteredPlayer playerInfo, Consumer<TaskEvent> onComplete) { + super(onComplete); this.player = player; this.playerInfo = playerInfo; diff --git a/src/main/java/net/elytrium/limboauth/event/PostRegisterEvent.java b/src/main/java/net/elytrium/limboauth/event/PostRegisterEvent.java index df2fd2a..fd8f24c 100644 --- a/src/main/java/net/elytrium/limboauth/event/PostRegisterEvent.java +++ b/src/main/java/net/elytrium/limboauth/event/PostRegisterEvent.java @@ -17,11 +17,12 @@ package net.elytrium.limboauth.event; +import java.util.function.Consumer; import net.elytrium.limboapi.api.player.LimboPlayer; import net.elytrium.limboauth.model.RegisteredPlayer; public class PostRegisterEvent extends PostEvent { - public PostRegisterEvent(LimboPlayer player, RegisteredPlayer playerInfo) { - super(player, playerInfo); + public PostRegisterEvent(LimboPlayer player, RegisteredPlayer playerInfo, Consumer<TaskEvent> onComplete) { + super(player, playerInfo, onComplete); } } diff --git a/src/main/java/net/elytrium/limboauth/event/PreAuthorizationEvent.java b/src/main/java/net/elytrium/limboauth/event/PreAuthorizationEvent.java index d8e4dc7..207fcf6 100644 --- a/src/main/java/net/elytrium/limboauth/event/PreAuthorizationEvent.java +++ b/src/main/java/net/elytrium/limboauth/event/PreAuthorizationEvent.java @@ -18,13 +18,14 @@ package net.elytrium.limboauth.event; import com.velocitypowered.api.proxy.Player; +import java.util.function.Consumer; import net.elytrium.limboauth.model.RegisteredPlayer; public class PreAuthorizationEvent extends PreEvent { private final RegisteredPlayer playerInfo; - public PreAuthorizationEvent(Player player, RegisteredPlayer playerInfo) { - super(player); + public PreAuthorizationEvent(Player player, RegisteredPlayer playerInfo, Consumer<TaskEvent> onComplete) { + super(player, onComplete); this.playerInfo = playerInfo; } diff --git a/src/main/java/net/elytrium/limboauth/event/PreEvent.java b/src/main/java/net/elytrium/limboauth/event/PreEvent.java index 08f9b6b..45bb37d 100644 --- a/src/main/java/net/elytrium/limboauth/event/PreEvent.java +++ b/src/main/java/net/elytrium/limboauth/event/PreEvent.java @@ -18,12 +18,13 @@ package net.elytrium.limboauth.event; import com.velocitypowered.api.proxy.Player; +import java.util.function.Consumer; public abstract class PreEvent extends TaskEvent { private final Player player; - protected PreEvent(Player player) { - super(); + protected PreEvent(Player player, Consumer<TaskEvent> onComplete) { + super(onComplete); this.player = player; } diff --git a/src/main/java/net/elytrium/limboauth/event/PreRegisterEvent.java b/src/main/java/net/elytrium/limboauth/event/PreRegisterEvent.java index 8f642d3..90eff58 100644 --- a/src/main/java/net/elytrium/limboauth/event/PreRegisterEvent.java +++ b/src/main/java/net/elytrium/limboauth/event/PreRegisterEvent.java @@ -18,9 +18,10 @@ package net.elytrium.limboauth.event; import com.velocitypowered.api.proxy.Player; +import java.util.function.Consumer; public class PreRegisterEvent extends PreEvent { - public PreRegisterEvent(Player player) { - super(player); + public PreRegisterEvent(Player player, Consumer<TaskEvent> onComplete) { + super(player, onComplete); } } diff --git a/src/main/java/net/elytrium/limboauth/event/TaskEvent.java b/src/main/java/net/elytrium/limboauth/event/TaskEvent.java index 4df70c8..30e7947 100644 --- a/src/main/java/net/elytrium/limboauth/event/TaskEvent.java +++ b/src/main/java/net/elytrium/limboauth/event/TaskEvent.java @@ -17,6 +17,7 @@ package net.elytrium.limboauth.event; +import java.util.function.Consumer; import net.elytrium.limboauth.Settings; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; @@ -28,6 +29,12 @@ public abstract class TaskEvent { private Result result = Result.NORMAL; private Component reason = defaultReason; + private final Consumer<TaskEvent> onComplete; + + public TaskEvent(Consumer<TaskEvent> onComplete) { + this.onComplete = onComplete; + } + public Result getResult() { return this.result; } @@ -45,9 +52,28 @@ public abstract class TaskEvent { return this.reason; } + public void complete(Result result) { + if (this.result != Result.WAIT) { + return; + } + + this.result = result; + this.onComplete.accept(this); + } + + public void completeAndCancel(@NotNull Component c) { + if (this.result != Result.WAIT) { + return; + } + + this.cancel(c); + this.onComplete.accept(this); + } + public enum Result { CANCEL, BYPASS, - NORMAL + NORMAL, + WAIT } } |
