aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenMixin.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java14
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Events.java29
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java27
14 files changed, 59 insertions, 48 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
index db702e81..e33e9c2d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
@@ -32,7 +32,7 @@ public class SkyblockerMod {
if(onHypxiel()) {
if (ticks % 4 == 0)
try {
- if (Utils.isDungeons) {
+ if (Utils.isInDungeons) {
DungeonBlaze.DungeonBlaze();
}
} catch (Exception e) {
@@ -41,10 +41,10 @@ public class SkyblockerMod {
if (ticks % 20 == 0) {
rpTimer++;
if (rpTimer == 5) {
- if (discordRPCManager.isConnected && Utils.isSkyblock && SkyblockerConfig.get().richPresence.enableRichPresence) {
+ if (discordRPCManager.isConnected && Utils.isOnSkyblock && SkyblockerConfig.get().richPresence.enableRichPresence) {
discordRPCManager.updatePresence();
}
- if (discordRPCManager.isConnected && Utils.isSkyblock && SkyblockerConfig.get().richPresence.cycleMode) {
+ if (discordRPCManager.isConnected && Utils.isOnSkyblock && SkyblockerConfig.get().richPresence.cycleMode) {
discordRPCManager.cycleCount++;
if (discordRPCManager.cycleCount == 3) discordRPCManager.cycleCount = 0;
}
@@ -52,7 +52,7 @@ public class SkyblockerMod {
}
if (client.world != null && !client.isInSingleplayer())
Utils.sbChecker();
- if (!discordRPCManager.isConnected && Utils.isSkyblock && SkyblockerConfig.get().richPresence.enableRichPresence)
+ if (!discordRPCManager.isConnected && Utils.isOnSkyblock && SkyblockerConfig.get().richPresence.enableRichPresence)
discordRPCManager.start();
if (discordRPCManager.isConnected && !SkyblockerConfig.get().richPresence.enableRichPresence)
discordRPCManager.stop();
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java
index 43103159..9170f1db 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ChatHudListenerMixin.java
@@ -1,20 +1,15 @@
package me.xmrvizzy.skyblocker.mixin;
import me.xmrvizzy.skyblocker.chat.ChatParser;
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.utils.Utils;
-import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.hud.ChatHudListener;
-import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.network.MessageType;
-import net.minecraft.text.ClickEvent;
import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-import java.util.List;
import java.util.UUID;
@Mixin(ChatHudListener.class)
@@ -24,7 +19,7 @@ public class ChatHudListenerMixin {
@Inject(method = "onChatMessage", at = @At("HEAD"), cancellable = true)
public void onMessage(MessageType messageType, Text message, UUID senderUuid, CallbackInfo ci) {
- if (!Utils.isSkyblock)
+ if (!Utils.isOnSkyblock)
return;
if (parser.shouldFilter(message.getString()))
ci.cancel();
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java
index 5825b394..160c8078 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayerEntityMixin.java
@@ -29,6 +29,6 @@ public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
@Inject(method = "dropSelectedItem", at = @At("HEAD"), cancellable = true)
public void dropSelectedItem(boolean dropEntireStack, CallbackInfoReturnable<Boolean> cir) {
- if (Utils.isSkyblock) HotbarSlotLock.handleDropSelectedItem(this.getInventory().selectedSlot, cir);
+ if (Utils.isOnSkyblock) HotbarSlotLock.handleDropSelectedItem(this.getInventory().selectedSlot, cir);
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenMixin.java
index 3e6bf16a..d63d17b8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/GenericContainerScreenMixin.java
@@ -25,7 +25,7 @@ public abstract class GenericContainerScreenMixin extends HandledScreen<GenericC
@Override
protected void drawForeground(MatrixStack matrices, int mouseX, int mouseY) {
super.drawForeground(matrices, mouseX, mouseY);
- if (Utils.isSkyblock)
+ if (Utils.isOnSkyblock)
SkyblockerMod.getInstance().containerSolverManager.onDraw(matrices, this.handler.slots.subList(0, rows * 9));
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
index d676dc25..06b74549 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
@@ -2,7 +2,6 @@ package me.xmrvizzy.skyblocker.mixin;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.skyblock.item.WikiLookup;
-import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemListWidget;
import me.xmrvizzy.skyblocker.skyblock.quicknav.QuickNav;
import me.xmrvizzy.skyblocker.skyblock.quicknav.QuickNavButton;
import me.xmrvizzy.skyblocker.utils.Utils;
@@ -35,7 +34,7 @@ public abstract class HandledScreenMixin extends Screen {
@Inject(method = "init()V", at = @At("TAIL"))
private void init(CallbackInfo ci) {
// quicknav
- if (Utils.isSkyblock && SkyblockerConfig.get().general.quicknav.enableQuicknav) {
+ if (Utils.isOnSkyblock && SkyblockerConfig.get().general.quicknav.enableQuicknav) {
String screenTitle = super.getTitle().getString().trim();
List<QuickNavButton> buttons = QuickNav.init(screenTitle);
for (QuickNavButton button : buttons) super.addDrawableChild(button);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
index 2653aeef..19e0d79e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
@@ -43,7 +43,7 @@ public abstract class InGameHudMixin extends DrawableHelper {
@Inject(method = "setOverlayMessage(Lnet/minecraft/text/Text;Z)V", at = @At("HEAD"), cancellable = true)
private void onSetOverlayMessage(Text message, boolean tinted, CallbackInfo ci) {
- if(!Utils.isSkyblock)
+ if(!Utils.isOnSkyblock)
return;
String msg = message.getString();
if(statusBars.update(msg))
@@ -52,7 +52,7 @@ public abstract class InGameHudMixin extends DrawableHelper {
@Inject(method = "renderHotbar", at = @At("HEAD"))
public void renderHotbar(float f, MatrixStack matrices, CallbackInfo ci) {
- if (Utils.isSkyblock) {
+ if (Utils.isOnSkyblock) {
hotbarMatrices = matrices;
hotbarSlotIndex = 0;
}
@@ -60,7 +60,7 @@ public abstract class InGameHudMixin extends DrawableHelper {
@Inject(method = "renderHotbarItem", at = @At("HEAD"))
public void renderHotbarItem(int i, int j, float f, PlayerEntity player, ItemStack stack, int seed, CallbackInfo ci) {
- if (Utils.isSkyblock) {
+ if (Utils.isOnSkyblock) {
if (HotbarSlotLock.isLocked(hotbarSlotIndex)) {
RenderSystem.setShaderTexture(0,SLOT_LOCK);
this.drawTexture(hotbarMatrices, i, j, 0, 0,16, 16);
@@ -71,18 +71,18 @@ public abstract class InGameHudMixin extends DrawableHelper {
@Inject(method = "renderExperienceBar", at = @At("HEAD"), cancellable = true)
private void renderExperienceBar(MatrixStack matrices, int x, CallbackInfo ci) {
- if (Utils.isSkyblock && SkyblockerConfig.get().general.bars.enableBars)
+ if (Utils.isOnSkyblock && SkyblockerConfig.get().general.bars.enableBars)
ci.cancel();
}
@Inject(method = "renderStatusBars", at = @At("HEAD"), cancellable = true)
private void renderStatusBars(MatrixStack matrices, CallbackInfo ci) {
- if(!Utils.isSkyblock)
+ if(!Utils.isOnSkyblock)
return;
if(statusBars.render(matrices, scaledWidth, scaledHeight))
ci.cancel();
- if (Utils.isDungeons && SkyblockerConfig.get().locations.dungeons.enableMap)
+ if (Utils.isInDungeons && SkyblockerConfig.get().locations.dungeons.enableMap)
DungeonMap.render(matrices);
RenderSystem.setShaderTexture(0, GUI_ICONS_TEXTURE);
@@ -90,7 +90,7 @@ public abstract class InGameHudMixin extends DrawableHelper {
@Inject(method = "renderMountHealth", at = @At("HEAD"), cancellable = true)
private void renderMountHealth(MatrixStack matrices, CallbackInfo ci) {
- if (Utils.isSkyblock && SkyblockerConfig.get().general.bars.enableBars)
+ if (Utils.isOnSkyblock && SkyblockerConfig.get().general.bars.enableBars)
ci.cancel();
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java
index fcdbf706..4bff2779 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java
@@ -19,7 +19,7 @@ public class InventoryScreenMixin {
)
)
RecipeBookWidget constructor() {
- if (Utils.isSkyblock && SkyblockerConfig.get().general.itemList.enableItemList)
+ if (Utils.isOnSkyblock && SkyblockerConfig.get().general.itemList.enableItemList)
return new ItemListWidget();
else
return new RecipeBookWidget();
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java
index 002497ce..395027bc 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java
@@ -28,7 +28,7 @@ public abstract class ItemRendererMixin {
@Inject(method = "renderGuiItemOverlay(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V", at = @At("HEAD"))
public void renderItemBar(TextRenderer renderer, ItemStack stack, int x, int y, @Nullable String countLabel, CallbackInfo ci) {
- if (Utils.isSkyblock && SkyblockerConfig.get().locations.dwarvenMines.enableDrillFuel) {
+ if (Utils.isOnSkyblock && SkyblockerConfig.get().locations.dwarvenMines.enableDrillFuel) {
if (!stack.isEmpty()) {
NbtCompound tag = stack.getNbt();
if (tag != null && tag.contains("ExtraAttributes")) {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java
index f1c6661d..c3ff287e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/LeverBlockMixin.java
@@ -22,7 +22,7 @@ public abstract class LeverBlockMixin extends WallMountedBlock {
@Inject(method = "getOutlineShape", at = @At("HEAD"), cancellable = true)
public void onGetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context, CallbackInfoReturnable<VoxelShape> cir) {
- if (Utils.isSkyblock) {
+ if (Utils.isOnSkyblock) {
VoxelShape shape = OldLever.getShape(state.get(FACE), state.get(FACING));
if (shape != null)
cir.setReturnValue(shape);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java
index 21730e69..6561eb5b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/MinecraftClientMixin.java
@@ -27,13 +27,13 @@ public class MinecraftClientMixin {
@Inject(method = "handleInputEvents", at = @At("HEAD"))
public void handleInputEvents(CallbackInfo ci) {
- if (Utils.isSkyblock) HotbarSlotLock.handleInputEvents(player);
+ if (Utils.isOnSkyblock) HotbarSlotLock.handleInputEvents(player);
}
@Inject(method = "setScreen", at = @At("HEAD"))
public void onSetScreen(Screen screen, CallbackInfo ci) {
ContainerSolverManager manager = SkyblockerMod.getInstance().containerSolverManager;
- if(Utils.isSkyblock && screen instanceof GenericContainerScreen)
+ if(Utils.isOnSkyblock && screen instanceof GenericContainerScreen)
manager.onSetScreen((GenericContainerScreen) screen);
else
manager.clearScreen();
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
index 69278023..d4dd7fb0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
@@ -23,7 +23,7 @@ public class Reparty extends ChatListener {
repartying = false;
ClientCommandManager.DISPATCHER.register(
ClientCommandManager.literal("rp").executes(context -> {
- if (!Utils.isSkyblock || repartying)
+ if (!Utils.isOnSkyblock || repartying)
return 0;
assert client.player != null;
repartying = true;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
index a0788126..4e5e7f32 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
@@ -5,7 +5,6 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import me.xmrvizzy.skyblocker.utils.Utils;
-import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.option.KeyBinding;
@@ -49,7 +48,7 @@ public class WikiLookup {
}
public static void openWiki(Slot slot){
- if (Utils.isSkyblock){
+ if (Utils.isOnSkyblock){
id = getSkyblockId(slot);
try {
//Setting up a connection with the repo
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java
new file mode 100644
index 00000000..8488d6ab
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Events.java
@@ -0,0 +1,29 @@
+package me.xmrvizzy.skyblocker.utils;
+
+import me.xmrvizzy.skyblocker.SkyblockerMod;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.text.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class Events {
+ public static MinecraftClient client = MinecraftClient.getInstance();
+ public static Logger logger = LoggerFactory.getLogger(SkyblockerMod.NAMESPACE);
+
+ public static void onSkyblockJoin(){
+ Utils.isOnSkyblock = true;
+ logger.info("Joined Skyblock");
+ if (UpdateChecker.shouldUpdate()){
+ LiteralText link = new LiteralText("https://modrinth.com/mod/skyblocker-liap/versions");
+ client.player.sendMessage(Text.of("You are running an outdated version of Skyblocker! Click the link below to find the newest version!"), false);
+ client.player.sendMessage(link.styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://modrinth.com/mod/skyblocker-liap/versions"))), false);
+ }
+ }
+
+ public static void onSkyblockDisconnect(){
+ logger.info("Disconnected from Skyblock");
+ SkyblockerMod.getInstance().discordRPCManager.stop();
+ Utils.isOnSkyblock = false;
+ Utils.isInDungeons = false;
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
index a4736242..e3623bb4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
@@ -1,7 +1,5 @@
package me.xmrvizzy.skyblocker.utils;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Lists;
import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip;
import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback;
import net.minecraft.client.MinecraftClient;
@@ -12,44 +10,35 @@ import net.minecraft.scoreboard.Team;
import net.minecraft.util.Formatting;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.List;
-import java.util.stream.Collectors;
public class Utils {
- public static boolean isSkyblock = false;
- public static boolean isDungeons = false;
+ public static boolean isOnSkyblock = false;
+ public static boolean isInDungeons = false;
public static boolean isInjected = false;
public static void sbChecker() {
List<String> sidebar = getSidebar();
if (sidebar == null) {
- isSkyblock = false;
- isDungeons = false;
+ isOnSkyblock = false;
+ isInDungeons = false;
return;
}
String string = sidebar.toString();
if (sidebar.isEmpty()) return;
- if (sidebar.get(sidebar.size() - 1).equals("www.hypixel.net")) {
- if (sidebar.get(0).contains("SKYBLOCK")){
+ if (sidebar.get(0).contains("SKYBLOCK") && !isOnSkyblock){
if(!isInjected){
isInjected = true;
ItemTooltipCallback.EVENT.register(PriceInfoTooltip::onInjectTooltip);
}
- isSkyblock = true;
+ Events.onSkyblockJoin();
}
- else isSkyblock = false;
-
- isDungeons = isSkyblock && string.contains("The Catacombs");
-
- } else {
- isSkyblock = false;
- isDungeons = false;
+ if (!sidebar.get(0).contains("SKYBLOCK") && isOnSkyblock) Events.onSkyblockDisconnect();
+ isInDungeons = isOnSkyblock && string.contains("The Catacombs");
}
- }
public static String getLocation() {
String location = null;