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.java16
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java52
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockEmiRecipe.java38
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java29
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/modmenu/ModMenuEntry.java (renamed from src/main/java/me/xmrvizzy/skyblocker/config/modmenu/ModMenuEntry.java)3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCategory.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rei/SkyblockCategory.java)21
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCraftingDisplay.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rei/SkyblockCraftingDisplay.java)5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCraftingDisplayGenerator.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rei/SkyblockCraftingDisplayGenerator.java)10
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockerREIClientPlugin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/skyblock/rei/SkyblockerREIClientPlugin.java)10
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/FrustumInvoker.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/accessor/HandledScreenAccessor.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/FishingHelper.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/TeleportOverlay.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java22
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/StarredMobGlow.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TicTacToe.java60
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java68
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java14
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilter.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/AdFilter.java)6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilter.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java)6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/HealFilter.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilter.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/MoltenWaveFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ShowOffFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/ShowOffFilter.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/SimpleChatFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/SimpleChatFilter.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilter.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilter.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java9
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java9
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java9
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Boxes.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/ItemUtils.java18
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtils.java99
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/RenderUtilsLiving.java151
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Vertexer.java164
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatFilterResult.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/ChatFilterResult.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatMessageListener.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatPatternListener.java (renamed from src/main/java/me/xmrvizzy/skyblocker/chat/ChatPatternListener.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/color/LineColor.java66
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/color/QuadColor.java107
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/color/RenderColor.java27
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/discord/DiscordRPCManager.java (renamed from src/main/java/me/xmrvizzy/skyblocker/discord/DiscordRPCManager.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/FrustumUtils.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/FrustumUtils.java)5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/RenderHelper.java)71
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/OcclusionCulling.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/culling/OcclusionCulling.java)11
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/WorldProvider.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/culling/WorldProvider.java)3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/culling/package-info.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/culling/package-info.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ColorHighlight.java (renamed from src/main/java/me/xmrvizzy/skyblocker/gui/ColorHighlight.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ContainerSolver.java (renamed from src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolver.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/gui/ContainerSolverManager.java (renamed from src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java)7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/title/Title.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/title/Title.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainer.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainer.java)4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java)6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/MessageScheduler.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/MessageScheduler.java)2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/scheduler/Scheduler.java (renamed from src/main/java/me/xmrvizzy/skyblocker/utils/Scheduler.java)2
84 files changed, 420 insertions, 887 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
index 4ef19931..5c7f2a99 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
@@ -2,10 +2,7 @@ package me.xmrvizzy.skyblocker;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-import me.xmrvizzy.skyblocker.chat.ChatMessageListener;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.discord.DiscordRPCManager;
-import me.xmrvizzy.skyblocker.gui.ContainerSolverManager;
import me.xmrvizzy.skyblocker.skyblock.*;
import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonBlaze;
import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonMap;
@@ -21,12 +18,15 @@ import me.xmrvizzy.skyblocker.skyblock.shortcut.Shortcuts;
import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud;
import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster;
import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr;
-import me.xmrvizzy.skyblocker.utils.MessageScheduler;
import me.xmrvizzy.skyblocker.utils.NEURepo;
-import me.xmrvizzy.skyblocker.utils.Scheduler;
import me.xmrvizzy.skyblocker.utils.Utils;
-import me.xmrvizzy.skyblocker.utils.culling.OcclusionCulling;
-import me.xmrvizzy.skyblocker.utils.title.TitleContainer;
+import me.xmrvizzy.skyblocker.utils.chat.ChatMessageListener;
+import me.xmrvizzy.skyblocker.utils.discord.DiscordRPCManager;
+import me.xmrvizzy.skyblocker.utils.render.culling.OcclusionCulling;
+import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolverManager;
+import me.xmrvizzy.skyblocker.utils.render.title.TitleContainer;
+import me.xmrvizzy.skyblocker.utils.scheduler.MessageScheduler;
+import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.loader.api.FabricLoader;
@@ -90,6 +90,7 @@ public class SkyblockerMod implements ClientModInitializer {
TabHud.init();
DungeonMap.init();
DungeonSecrets.init();
+ DungeonBlaze.init();
TheRift.init();
TitleContainer.init();
ScreenMaster.init();
@@ -104,7 +105,6 @@ public class SkyblockerMod implements ClientModInitializer {
statusBarTracker.init();
scheduler.scheduleCyclic(Utils::update, 20);
scheduler.scheduleCyclic(DiscordRPCManager::updateDataAndPresence, 100);
- scheduler.scheduleCyclic(DungeonBlaze::update, 4);
scheduler.scheduleCyclic(TicTacToe::tick, 4);
scheduler.scheduleCyclic(LividColor::update, 10);
scheduler.scheduleCyclic(BackpackPreview::tick, 50);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java
new file mode 100644
index 00000000..c6fc1924
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/MixinPlugin.java
@@ -0,0 +1,52 @@
+package me.xmrvizzy.skyblocker.compatibility;
+
+import java.util.List;
+import java.util.Set;
+
+import org.objectweb.asm.tree.ClassNode;
+import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
+import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
+
+import net.fabricmc.loader.api.FabricLoader;
+
+public class MixinPlugin implements IMixinConfigPlugin {
+ private static final boolean OPTIFABRIC_LOADED = FabricLoader.getInstance().isModLoaded("optifabric");
+
+ @Override
+ public void onLoad(String mixinPackage) {
+ //Do nothing
+ }
+
+ @Override
+ public String getRefMapperConfig() {
+ return null;
+ }
+
+ @Override
+ public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
+ //OptiFabric Compatibility
+ if (mixinClassName.endsWith("WorldRendererMixin") && OPTIFABRIC_LOADED) return false;
+
+ return true;
+ }
+
+ @Override
+ public void acceptTargets(Set<String> myTargets, Set<String> otherTargets) {
+ //Do nothing
+ }
+
+ @Override
+ public List<String> getMixins() {
+ return null;
+ }
+
+ @Override
+ public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
+ //Do nothing
+ }
+
+ @Override
+ public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
+ //Do nothing
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockEmiRecipe.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockEmiRecipe.java
new file mode 100644
index 00000000..6cf91dac
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockEmiRecipe.java
@@ -0,0 +1,38 @@
+package me.xmrvizzy.skyblocker.compatibility.emi;
+
+import dev.emi.emi.api.recipe.EmiCraftingRecipe;
+import dev.emi.emi.api.recipe.EmiRecipeCategory;
+import dev.emi.emi.api.stack.Comparison;
+import dev.emi.emi.api.stack.EmiIngredient;
+import dev.emi.emi.api.stack.EmiStack;
+import dev.emi.emi.api.widget.WidgetHolder;
+import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
+import me.xmrvizzy.skyblocker.skyblock.itemlist.SkyblockCraftingRecipe;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.text.Text;
+import net.minecraft.util.Identifier;
+
+public class SkyblockEmiRecipe extends EmiCraftingRecipe {
+ private final String craftText;
+
+ public SkyblockEmiRecipe(SkyblockCraftingRecipe recipe) {
+ super(recipe.getGrid().stream().map(EmiStack::of).map(EmiIngredient.class::cast).toList(), EmiStack.of(recipe.getResult()).comparison(Comparison.compareNbt()), Identifier.of("skyblock", ItemRegistry.getInternalName(recipe.getResult()).toLowerCase().replace(';', '_')));
+ this.craftText = recipe.getCraftText();
+ }
+
+ @Override
+ public EmiRecipeCategory getCategory() {
+ return SkyblockerEMIPlugin.SKYBLOCK;
+ }
+
+ @Override
+ public int getDisplayHeight() {
+ return super.getDisplayHeight() + (craftText.isEmpty() ? 0 : 10);
+ }
+
+ @Override
+ public void addWidgets(WidgetHolder widgets) {
+ super.addWidgets(widgets);
+ widgets.addText(Text.of(craftText), 59 - MinecraftClient.getInstance().textRenderer.getWidth(craftText) / 2, 55, 0xFFFFFF, true);
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java
new file mode 100644
index 00000000..526ac885
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/emi/SkyblockerEMIPlugin.java
@@ -0,0 +1,29 @@
+package me.xmrvizzy.skyblocker.compatibility.emi;
+
+import dev.emi.emi.api.EmiPlugin;
+import dev.emi.emi.api.EmiRegistry;
+import dev.emi.emi.api.recipe.EmiRecipeCategory;
+import dev.emi.emi.api.render.EmiTexture;
+import dev.emi.emi.api.stack.EmiStack;
+import me.xmrvizzy.skyblocker.SkyblockerMod;
+import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemRegistry;
+import me.xmrvizzy.skyblocker.utils.ItemUtils;
+import net.minecraft.item.Items;
+import net.minecraft.util.Identifier;
+
+/**
+ * EMI integration
+ */
+public class SkyblockerEMIPlugin implements EmiPlugin {
+ public static final Identifier SIMPLIFIED_TEXTURES = new Identifier("emi", "textures/gui/widgets.png");
+ // TODO: Custom simplified texture for Skyblock
+ public static final EmiRecipeCategory SKYBLOCK = new EmiRecipeCategory(new Identifier(SkyblockerMod.NAMESPACE, "skyblock"), EmiStack.of(ItemUtils.getSkyblockerStack()), new EmiTexture(SIMPLIFIED_TEXTURES, 240, 240, 16, 16));
+
+ @Override
+ public void register(EmiRegistry registry) {
+ ItemRegistry.getRecipeResultsStream().map(EmiStack::of).forEach(registry::addEmiStack);
+ registry.addCategory(SKYBLOCK);
+ registry.addWorkstation(SKYBLOCK, EmiStack.of(Items.CRAFTING_TABLE));
+ ItemRegistry.getRecipesStream().map(SkyblockEmiRecipe::new).forEach(registry::addRecipe);
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/modmenu/ModMenuEntry.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/modmenu/ModMenuEntry.java
index f9d4e8fe..0cba3d5e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/modmenu/ModMenuEntry.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/modmenu/ModMenuEntry.java
@@ -1,4 +1,4 @@
-package me.xmrvizzy.skyblocker.config.modmenu;
+package me.xmrvizzy.skyblocker.compatibility.modmenu;
import me.shedaniel.autoconfig.AutoConfig;
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
@@ -9,7 +9,6 @@ import net.fabricmc.api.Environment;
@Environment(EnvType.CLIENT)
public class ModMenuEntry implements ModMenuApi {
-
@Override
public ConfigScreenFactory<?> getModConfigScreenFactory() {
return screen -> AutoConfig.getConfigScreen(SkyblockerConfig.class, screen).get();
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rei/SkyblockCategory.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/rei/SkyblockCat