aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/SkyblockEvents.java33
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java11
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/events/SkyblockJoinCallback.java21
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/events/SkyblockLeaveCallback.java21
6 files changed, 41 insertions, 59 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java b/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java
index 68963809..867e16b2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java
@@ -7,8 +7,7 @@ import com.jagrosh.discordipc.entities.RichPresence;
import com.jagrosh.discordipc.entities.pipe.PipeStatus;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.events.SkyblockLeaveCallback;
-import net.minecraft.util.ActionResult;
+import me.xmrvizzy.skyblocker.utils.SkyblockEvents;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -101,10 +100,7 @@ public class DiscordRPCManager implements IPCListener{
}
public void init(){
- SkyblockLeaveCallback.EVENT.register(() -> {
- stop();
- return ActionResult.PASS;
- });
+ SkyblockEvents.LEAVE.register(this::stop);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/SkyblockEvents.java b/src/main/java/me/xmrvizzy/skyblocker/utils/SkyblockEvents.java
new file mode 100644
index 00000000..2dd83ffa
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/SkyblockEvents.java
@@ -0,0 +1,33 @@
+package me.xmrvizzy.skyblocker.utils;
+
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
+import net.fabricmc.fabric.api.event.Event;
+import net.fabricmc.fabric.api.event.EventFactory;
+
+@Environment(EnvType.CLIENT)
+public final class SkyblockEvents {
+ public static final Event<SkyblockEvents.SkyblockJoin> JOIN = EventFactory.createArrayBacked(SkyblockEvents.SkyblockJoin.class, callbacks -> () -> {
+ for (SkyblockEvents.SkyblockJoin callback : callbacks) {
+ callback.onSkyblockJoin();
+ }
+ });
+
+ public static final Event<SkyblockEvents.SkyblockLeave> LEAVE = EventFactory.createArrayBacked(SkyblockEvents.SkyblockLeave.class, callbacks -> () -> {
+ for (SkyblockEvents.SkyblockLeave callback : callbacks) {
+ callback.onSkyblockLeave();
+ }
+ });
+
+ @Environment(EnvType.CLIENT)
+ @FunctionalInterface
+ public interface SkyblockJoin {
+ void onSkyblockJoin();
+ }
+
+ @Environment(EnvType.CLIENT)
+ @FunctionalInterface
+ public interface SkyblockLeave {
+ void onSkyblockLeave();
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java
index b64541c9..8909b5a9 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/UpdateChecker.java
@@ -3,13 +3,11 @@ package me.xmrvizzy.skyblocker.utils;
import com.google.gson.*;
import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.utils.events.SkyblockJoinCallback;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.ClickEvent;
import net.minecraft.text.HoverEvent;
import net.minecraft.text.TranslatableText;
-import net.minecraft.util.ActionResult;
import org.spongepowered.asm.util.VersionNumber;
import java.io.IOException;
@@ -53,8 +51,8 @@ public class UpdateChecker {
}
public static void init(){
- if (shouldUpdate()){
- SkyblockJoinCallback.EVENT.register(() -> {
+ SkyblockEvents.JOIN.register(() -> {
+ if (shouldUpdate()) {
TranslatableText linkMessage = new TranslatableText("skyblocker.update.update_message");
TranslatableText linkMessageEnding = new TranslatableText("skyblocker.update.update_message_end");
TranslatableText link = new TranslatableText("skyblocker.update.update_link");
@@ -62,8 +60,7 @@ public class UpdateChecker {
linkMessage.append(link.styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://modrinth.com/mod/skyblocker-liap/versions")).withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverText)))).append(linkMessageEnding);
MinecraftClient.getInstance().player.sendMessage(linkMessage, false);
- return ActionResult.PASS;
- });
- }
+ }
+ });
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
index 045da7fe..4551564d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
@@ -1,8 +1,6 @@
package me.xmrvizzy.skyblocker.utils;
import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip;
-import me.xmrvizzy.skyblocker.utils.events.SkyblockJoinCallback;
-import me.xmrvizzy.skyblocker.utils.events.SkyblockLeaveCallback;
import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback;
import net.minecraft.client.MinecraftClient;
import net.minecraft.scoreboard.Scoreboard;
@@ -36,11 +34,11 @@ public class Utils {
isInjected = true;
ItemTooltipCallback.EVENT.register(PriceInfoTooltip::onInjectTooltip);
}
- SkyblockJoinCallback.EVENT.invoker().join();
+ SkyblockEvents.JOIN.invoker().onSkyblockJoin();
isOnSkyblock = true;
}
if (!sidebar.get(0).contains("SKYBLOCK") && isOnSkyblock) {
- SkyblockLeaveCallback.EVENT.invoker().leave();
+ SkyblockEvents.LEAVE.invoker().onSkyblockLeave();
Utils.isOnSkyblock = false;
Utils.isInDungeons = false;
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/events/SkyblockJoinCallback.java b/src/main/java/me/xmrvizzy/skyblocker/utils/events/SkyblockJoinCallback.java
deleted file mode 100644
index b5d621dd..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/events/SkyblockJoinCallback.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package me.xmrvizzy.skyblocker.utils.events;
-
-import net.fabricmc.fabric.api.event.Event;
-import net.fabricmc.fabric.api.event.EventFactory;
-import net.minecraft.util.ActionResult;
-
-public interface SkyblockJoinCallback {
- Event<SkyblockJoinCallback> EVENT = EventFactory.createArrayBacked(SkyblockJoinCallback.class,
- (listeners) -> () -> {
- for (SkyblockJoinCallback listener : listeners) {
- ActionResult result = listener.join();
-
- if(result != ActionResult.PASS) {
- return result;
- }
- }
- return ActionResult.PASS;
- });
-
- ActionResult join();
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/events/SkyblockLeaveCallback.java b/src/main/java/me/xmrvizzy/skyblocker/utils/events/SkyblockLeaveCallback.java
deleted file mode 100644
index c02ddba4..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/events/SkyblockLeaveCallback.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package me.xmrvizzy.skyblocker.utils.events;
-
-import net.fabricmc.fabric.api.event.Event;
-import net.fabricmc.fabric.api.event.EventFactory;
-import net.minecraft.util.ActionResult;
-
-public interface SkyblockLeaveCallback {
- Event<SkyblockLeaveCallback> EVENT = EventFactory.createArrayBacked(SkyblockLeaveCallback.class,
- (listeners) -> () -> {
- for (SkyblockLeaveCallback listener : listeners) {
- ActionResult result = listener.leave();
-
- if(result != ActionResult.PASS) {
- return result;
- }
- }
- return ActionResult.PASS;
- });
-
- ActionResult leave();
-}