aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/elytrium/limboauth/event
diff options
context:
space:
mode:
authorPetr Ilin <hevav@hevav.dev>2022-03-28 00:50:03 +0300
committerPetr Ilin <hevav@hevav.dev>2022-03-28 00:50:03 +0300
commit334bcd43152c2650365b79813ffc4e4f4d4ae16b (patch)
treec2b45b45c988f25ae49582b747d146470a15aa4a /src/main/java/net/elytrium/limboauth/event
parent5b7b05f69414e9b1fa0f2784ce93255dd02b2cec (diff)
downloadLimboAuth-334bcd43152c2650365b79813ffc4e4f4d4ae16b.tar.gz
LimboAuth-334bcd43152c2650365b79813ffc4e4f4d4ae16b.tar.bz2
LimboAuth-334bcd43152c2650365b79813ffc4e4f4d4ae16b.zip
More events
Diffstat (limited to 'src/main/java/net/elytrium/limboauth/event')
-rw-r--r--src/main/java/net/elytrium/limboauth/event/AuthPluginReloadEvent.java21
-rw-r--r--src/main/java/net/elytrium/limboauth/event/PostAuthorizationEvent.java5
-rw-r--r--src/main/java/net/elytrium/limboauth/event/PostEvent.java5
-rw-r--r--src/main/java/net/elytrium/limboauth/event/PostRegisterEvent.java5
-rw-r--r--src/main/java/net/elytrium/limboauth/event/PreAuthorizationEvent.java5
-rw-r--r--src/main/java/net/elytrium/limboauth/event/PreEvent.java5
-rw-r--r--src/main/java/net/elytrium/limboauth/event/PreRegisterEvent.java5
-rw-r--r--src/main/java/net/elytrium/limboauth/event/TaskEvent.java28
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
}
}