aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java33
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java114
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java19
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/BatEntityMixin.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java22
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java25
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/SocialInteractionsPlayerListWidgetMixin.java24
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/WorldRendererMixin.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java54
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/DrawContextInvoker.java17
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/ScreenAccessor.java14
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java140
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/QuiverWarning.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfit.java168
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/LividColor.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java11
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java16
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/Room.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilter.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ShowOffFilter.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/AttributeShards.java12
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/BackpackPreview.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java)36
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CompactorDeletorPreview.java92
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CompactorPreviewTooltipComponent.java54
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomItemNames.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java93
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java11
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java12
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java19
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TheRift.java10
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/special/SpecialEffects.java96
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/spidersden/Relics.java170
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/ScreenBuilder.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screenbuilder/pipeline/StackStage.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/DungeonBuffWidget.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/IslandOwnersWidget.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Constants.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Http.java89
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/PosUtils.java14
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java63
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainer.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/MessageScheduler.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java85
54 files changed, 1326 insertions, 291 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
index 5c7f2a99..b28ad3d4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
@@ -4,10 +4,7 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.skyblock.*;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonBlaze;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonMap;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.LividColor;
-import me.xmrvizzy.skyblocker.skyblock.dungeon.TicTacToe;
+import me.xmrvizzy.skyblocker.skyblock.dungeon.*;
import me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonSecrets;
import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHud;
import me.xmrvizzy.skyblocker.skyblock.item.*;
@@ -15,6 +12,8 @@ import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
import me.xmrvizzy.skyblocker.skyblock.quicknav.QuickNav;
import me.xmrvizzy.skyblocker.skyblock.rift.TheRift;
import me.xmrvizzy.skyblocker.skyblock.shortcut.Shortcuts;
+import me.xmrvizzy.skyblocker.skyblock.special.SpecialEffects;
+import me.xmrvizzy.skyblocker.skyblock.spidersden.Relics;
import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud;
import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster;
import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
@@ -40,14 +39,11 @@ import java.nio.file.Path;
* this class.
*/
public class SkyblockerMod implements ClientModInitializer {
+ public static final String VERSION = FabricLoader.getInstance().getModContainer("skyblocker").get().getMetadata().getVersion().getFriendlyString();
public static final String NAMESPACE = "skyblocker";
public static final Path CONFIG_DIR = FabricLoader.getInstance().getConfigDir().resolve(NAMESPACE);
public static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
private static SkyblockerMod INSTANCE;
-
- @SuppressWarnings("deprecation")
- public final Scheduler scheduler = new Scheduler();
- public final MessageScheduler messageScheduler = new MessageScheduler();
public final ContainerSolverManager containerSolverManager = new ContainerSolverManager();
public final StatusBarTracker statusBarTracker = new StatusBarTracker();
@@ -79,6 +75,7 @@ public class SkyblockerMod implements ClientModInitializer {
ItemRegistry.init();
NEURepo.init();
FairySouls.init();
+ Relics.init();
BackpackPreview.init();
QuickNav.init();
DwarvenHud.init();
@@ -91,6 +88,7 @@ public class SkyblockerMod implements ClientModInitializer {
DungeonMap.init();
DungeonSecrets.init();
DungeonBlaze.init();
+ DungeonChestProfit.init();
TheRift.init();
TitleContainer.init();
ScreenMaster.init();
@@ -101,15 +99,16 @@ public class SkyblockerMod implements ClientModInitializer {
CustomArmorTrims.init();
TicTacToe.init();
QuiverWarning.init();
+ SpecialEffects.init();
containerSolverManager.init();
statusBarTracker.init();
- scheduler.scheduleCyclic(Utils::update, 20);
- scheduler.scheduleCyclic(DiscordRPCManager::updateDataAndPresence, 100);
- scheduler.scheduleCyclic(TicTacToe::tick, 4);
- scheduler.scheduleCyclic(LividColor::update, 10);
- scheduler.scheduleCyclic(BackpackPreview::tick, 50);
- scheduler.scheduleCyclic(DwarvenHud::update, 40);
- scheduler.scheduleCyclic(PlayerListMgr::updateList, 20);
+ Scheduler.INSTANCE.scheduleCyclic(Utils::update, 20);
+ Scheduler.INSTANCE.scheduleCyclic(DiscordRPCManager::updateDataAndPresence, 100);
+ Scheduler.INSTANCE.scheduleCyclic(TicTacToe::tick, 4);
+ Scheduler.INSTANCE.scheduleCyclic(LividColor::update, 10);
+ Scheduler.INSTANCE.scheduleCyclic(BackpackPreview::tick, 50);
+ Scheduler.INSTANCE.scheduleCyclic(DwarvenHud::update, 40);
+ Scheduler.INSTANCE.scheduleCyclic(PlayerListMgr::updateList, 20);
}
/**
@@ -119,7 +118,7 @@ public class SkyblockerMod implements ClientModInitializer {
* @param client the Minecraft client.
*/
public void tick(MinecraftClient client) {
- scheduler.tick();
- messageScheduler.tick();
+ Scheduler.INSTANCE.tick();
+ MessageScheduler.INSTANCE.tick();
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java
index c6fc1924..8b96499d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java
@@ -26,7 +26,7 @@ public class MixinPlugin implements IMixinConfigPlugin {
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
//OptiFabric Compatibility
if (mixinClassName.endsWith("WorldRendererMixin") && OPTIFABRIC_LOADED) return false;
-
+
return true;
}
@@ -41,7 +41,7 @@ public class MixinPlugin implements IMixinConfigPlugin {
}
@Override
- public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
+ public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
//Do nothing
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
index 127bc601..5848ed15 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
@@ -20,7 +20,9 @@ import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.text.Style;
import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
+import org.eclipse.jgit.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
@@ -67,11 +69,19 @@ public class SkyblockerConfig implements ConfigData {
@ConfigEntry.Category("button3")
@ConfigEntry.Gui.CollapsibleObject()
- public QuickNavItem button3 = new QuickNavItem(true, new ItemData("bone"), "\\(\\d+/\\d+\\) Pets", "/pets");
+ public QuickNavItem button3 = new QuickNavItem(true, new ItemData("bone"), "Pets(:? \\(\\d+\\/\\d+\\))?", "/pets");
+ /* REGEX Explanation
+ * "Pets" : simple match on letters
+ * "(?: \\(\\d+\\/\\d+\\))?" : optional match on the non-capturing group for the page in the format " ($number/$number)"
+ */
@ConfigEntry.Category("button4")
@ConfigEntry.Gui.CollapsibleObject()
- public QuickNavItem button4 = new QuickNavItem(true, new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe \\([12]/2\\)", "/wardrobe");
+ public QuickNavItem button4 = new QuickNavItem(true, new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe \\([12]\\/2\\)", "/wardrobe");
+ /* REGEX Explanation
+ * "Wardrobe" : simple match on letters
+ * " \\([12]\\/2\\)" : match on the page either " (1/2)" or " (2/2)"
+ */
@ConfigEntry.Category("button5")
@ConfigEntry.Gui.CollapsibleObject()
@@ -79,7 +89,12 @@ public class SkyblockerConfig implements ConfigData {
@ConfigEntry.Category("button6")
@ConfigEntry.Gui.CollapsibleObject()
- public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), "(?:Rift )?Storage(?: \\(1/2\\))?", "/storage");
+ public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), "(?:Rift )?Storage(?: \\([12]\\/2\\))?", "/storage");
+ /* REGEX Explanation
+ * "(?:Rift )?" : optional match on the non-capturing group "Rift "
+ * "Storage" : simple match on letters
+ * "(?: \\([12]\\/2\\))?" : optional match on the non-capturing group " (1/2)" or " (2/2)"
+ */
@ConfigEntry.Category("button7")
@ConfigEntry.Gui.CollapsibleObject()
@@ -145,7 +160,9 @@ public class SkyblockerConfig implements ConfigData {
public static class General {
public boolean acceptReparty = true;
public boolean backpackPreviewWithoutShift = false;
+ public boolean compactorDeletorPreview = true;
public boolean hideEmptyTooltips = true;
+ public boolean hideStatusEffectOverlay = false;
@ConfigEntry.Category("tabHud")
@ConfigEntry.Gui.CollapsibleObject()
@@ -185,11 +202,15 @@ public class SkyblockerConfig implements ConfigData {
@ConfigEntry.Category("itemTooltip")
@ConfigEntry.Gui.CollapsibleObject()
public ItemTooltip itemTooltip = new ItemTooltip();
-
+
@ConfigEntry.Category("itemInfoDisplay")
@ConfigEntry.Gui.CollapsibleObject
public ItemInfoDisplay itemInfoDisplay = new ItemInfoDisplay();
+ @ConfigEntry.Category("specialEffects")
+ @ConfigEntry.Gui.CollapsibleObject
+ public SpecialEffects specialEffects = new SpecialEffects();
+
@ConfigEntry.Category("hitbox")
@ConfigEntry.Gui.CollapsibleObject()
public Hitbox hitbox = new Hitbox();
@@ -259,7 +280,6 @@ public class SkyblockerConfig implements ConfigData {
public BarPosition defenceBarPosition = BarPosition.LAYER1;
@ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
public BarPosition experienceBarPosition = BarPosition.LAYER1;
-
}
public enum BarPosition {
@@ -295,6 +315,9 @@ public class SkyblockerConfig implements ConfigData {
public static class FairySouls {
public boolean enableFairySoulsHelper = false;
+ public boolean highlightFoundSouls = true;
+ @ConfigEntry.Gui.Tooltip()
+ public boolean highlightOnlyNearbySouls = false;
}
public static class Shortcuts {
@@ -401,12 +424,17 @@ public class SkyblockerConfig implements ConfigData {
public boolean enableBazaarPrice = true;
public boolean enableMuseumDate = true;
}
-
+
public static class ItemInfoDisplay {
- @ConfigEntry.Gui.Tooltip
+ @ConfigEntry.Gui.Tooltip
public boolean attributeShardInfo = true;
}
+ public static class SpecialEffects {
+ @ConfigEntry.Gui.Tooltip
+ public boolean rareDungeonDropEffects = true;
+ }
+
public static class Locations {
@ConfigEntry.Category("barn")
@ConfigEntry.Gui.CollapsibleObject()
@@ -423,11 +451,17 @@ public class SkyblockerConfig implements ConfigData {
@ConfigEntry.Category("rift")
@ConfigEntry.Gui.CollapsibleObject()
public Rift rift = new Rift();
+
+ @ConfigEntry.Category("spidersden")
+ @ConfigEntry.Gui.CollapsibleObject()
+ public SpidersDen spidersDen = new SpidersDen();
}
public static class Dungeons {
@ConfigEntry.Gui.CollapsibleObject
public SecretWaypoints secretWaypoints = new SecretWaypoints();
+ @ConfigEntry.Gui.CollapsibleObject
+ public DungeonChestProfit dungeonChestProfit = new DungeonChestProfit();
@ConfigEntry.Gui.Tooltip()
public boolean croesusHelper = true;
public boolean enableMap = true;
@@ -466,6 +500,61 @@ public class SkyblockerConfig implements ConfigData {
public boolean enableDefaultWaypoints = true;
}
+ public static class DungeonChestProfit {
+ @ConfigEntry.Gui.Tooltip
+ public boolean enableProfitCalculator = true;
+ @ConfigEntry.Gui.Tooltip
+ public boolean includeKismet = false;
+ @ConfigEntry.Gui.Tooltip
+ public boolean includeEssence = true;
+ @ConfigEntry.Gui.Tooltip
+ public int neutralThreshold = 1000;
+ @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.DROPDOWN)
+ public FormattingOption neutralColor = FormattingOption.DARK_GRAY;
+ @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.DROPDOWN)
+ public FormattingOption profitColor = FormattingOption.DARK_GREEN;
+ @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.DROPDOWN)
+ public FormattingOption lossColor = FormattingOption.RED;
+ @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.DROPDOWN)
+ @ConfigEntry.Gui.Tooltip
+ public FormattingOption incompleteColor = FormattingOption.BLUE;
+ }
+
+ public enum FormattingOption {
+ BLACK(Formatting.BLACK),
+ DARK_BLUE(Formatting.DARK_BLUE),
+ DARK_GREEN(Formatting.DARK_GREEN),
+ DARK_AQUA(Formatting.DARK_AQUA),
+ DARK_RED(Formatting.DARK_RED),
+ DARK_PURPLE(Formatting.DARK_PURPLE),
+ GOLD(Formatting.GOLD),
+ GRAY(Formatting.GRAY),
+ DARK_GRAY(Formatting.DARK_GRAY),
+ BLUE(Formatting.BLUE),
+ GREEN(Formatting.GREEN),
+ AQUA(Formatting.AQUA),
+ RED(Formatting.RED),
+ LIGHT_PURPLE(Formatting.LIGHT_PURPLE),
+ YELLOW(Formatting.YELLOW),
+ WHITE(Formatting.WHITE),
+ OBFUSCATED(Formatting.OBFUSCATED),
+ BOLD(Formatting.BOLD),
+ STRIKETHROUGH(Formatting.STRIKETHROUGH),
+ UNDERLINE(Formatting.UNDERLINE),
+ ITALIC(Formatting.ITALIC),
+ RESET(Formatting.RESET);
+ public final Formatting formatting;
+
+ FormattingOption(Formatting formatting) {
+ this.formatting = formatting;
+ }
+
+ @Override
+ public String toString() {
+ return StringUtils.capitalize(formatting.getName().replaceAll("_", " "));
+ }
+ }
+
public static class LividColor {
@ConfigEntry.Gui.Tooltip()
public boolean enableLividColor = true;
@@ -524,6 +613,17 @@ public class SkyblockerConfig implements ConfigData {
public int mcGrubberStacks = 0;
}
+ public static class SpidersDen {
+ @ConfigEntry.Category("relics")
+ @ConfigEntry.Gui.CollapsibleObject()
+ public Relics relics = new Relics();
+ }
+
+ public static class Relics {
+ public boolean enableRelicsHelper = false;
+ public boolean highlightFoundRelics = true;
+ }
+
public static class Slayer {
@ConfigEntry.Category("vampire")
@ConfigEntry.Gui.CollapsibleObject()
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java
new file mode 100644
index 00000000..db517411
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java
@@ -0,0 +1,19 @@
+package me.xmrvizzy.skyblocker.mixin;
+
+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 me.xmrvizzy.skyblocker.config.SkyblockerConfig;
+import me.xmrvizzy.skyblocker.utils.Utils;
+import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen;
+
+@Mixin(AbstractInventoryScreen.class)
+public class AbstractInventoryScreenMixin {
+
+ @Inject(method = "drawStatusEffects", at = @At("HEAD"), cancellable = true)
+ private void skyblocker$dontDrawStatusEffects(CallbackInfo ci) {
+ if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.hideStatusEffectOverlay) ci.cancel();
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/BatEntityMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/BatEntityMixin.java
index 86c4e672..3eb13073 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/BatEntityMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/BatEntityMixin.java
@@ -6,7 +6,6 @@ import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.passive.BatEntity;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Unique;
@Mixin(BatEntity.class)
public abstract class BatEntityMixin extends AmbientEntity {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
index 0a1084cf..cfe979d0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
@@ -36,7 +36,7 @@ public abstract class DrawContextMixin {
@Shadow
public abstract void fill(RenderLayer layer, int x1, int x2, int y1, int y2, int color);
-
+
@Shadow
public abstract int drawText(TextRenderer textRenderer, @Nullable String text, int x, int y, int color, boolean shadow);
@@ -96,35 +96,35 @@ public abstract class DrawContextMixin {
matrices.pop();
RenderSystem.enableDepthTest();