aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java13
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java (renamed from src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java)31
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java15
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java32
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java24
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java17
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java37
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java12
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java32
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java11
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java24
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java30
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java23
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java20
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/Screen.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java37
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java10
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java11
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java15
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java9
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java16
26 files changed, 230 insertions, 229 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java b/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java
index e4ff229d..354e7e3a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java
@@ -8,7 +8,7 @@ import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.OrderTerminal;
import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.StartsWithTerminal;
import me.xmrvizzy.skyblocker.utils.Utils;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
-import net.minecraft.client.gui.DrawableHelper;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
@@ -24,7 +24,7 @@ import java.util.regex.Pattern;
/**
* Manager class for {@link ContainerSolver}s like terminal solvers and experiment solvers. To add a new gui solver, extend {@link ContainerSolver} and register it in {@link #ContainerSolverManager()}.
*/
-public class ContainerSolverManager extends DrawableHelper {
+public class ContainerSolverManager {
private static final Pattern PLACEHOLDER_PATTERN = Pattern.compile("");
private final ContainerSolver[] solvers;
private ContainerSolver currentSolver = null;
@@ -43,10 +43,11 @@ public class ContainerSolverManager extends DrawableHelper {
public void init() {
ScreenEvents.BEFORE_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
if (Utils.isOnSkyblock() && screen instanceof GenericContainerScreen genericContainerScreen) {
- ScreenEvents.afterRender(screen).register((screen1, matrices, mouseX, mouseY, delta) -> {
+ ScreenEvents.afterRender(screen).register((screen1, context, mouseX, mouseY, delta) -> {
+ MatrixStack matrices = context.getMatrices();
matrices.push();
matrices.translate(((HandledScreenAccessor) genericContainerScreen).getX(), ((HandledScreenAccessor) genericContainerScreen).getY(), 300);
- onDraw(matrices, genericContainerScreen.getScreenHandler().slots.subList(0, genericContainerScreen.getScreenHandler().getRows() * 9));
+ onDraw(context, genericContainerScreen.getScreenHandler().slots.subList(0, genericContainerScreen.getScreenHandler().getRows() * 9));
matrices.pop();
});
onSetScreen(genericContainerScreen);
@@ -83,7 +84,7 @@ public class ContainerSolverManager extends DrawableHelper {
highlights = null;
}
- public void onDraw(MatrixStack matrices, List<Slot> slots) {
+ public void onDraw(DrawContext context, List<Slot> slots) {
if (currentSolver == null)
return;
if (highlights == null)
@@ -93,7 +94,7 @@ public class ContainerSolverManager extends DrawableHelper {
for (ColorHighlight highlight : highlights) {
Slot slot = slots.get(highlight.slot());
int color = highlight.color();
- fillGradient(matrices, slot.x, slot.y, slot.x + 16, slot.y + 16, color, color);
+ context.fillGradient(slot.x, slot.y, slot.x + 16, slot.y + 16, color, color);
}
RenderSystem.colorMask(true, true, true, true);
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
index 26bafc14..a8a490b8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
@@ -5,6 +5,8 @@ import java.util.regex.Pattern;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Final;
+import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@@ -15,17 +17,23 @@ import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.utils.ItemUtils;
import me.xmrvizzy.skyblocker.utils.Utils;
import net.minecraft.client.font.TextRenderer;
-import net.minecraft.client.gui.DrawableHelper;
-import net.minecraft.client.render.item.ItemRenderer;
+import net.minecraft.client.gui.DrawContext;
+import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.math.ColorHelper;
-@Mixin(ItemRenderer.class)
-public abstract class ItemRendererMixin {
- @Inject(method = "renderGuiItemOverlay(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V", at = @At("HEAD"))
- public void skyblocker$renderItemBar(MatrixStack matrices, TextRenderer renderer, ItemStack stack, int x, int y, @Nullable String countLabel, CallbackInfo ci) {
+@Mixin(DrawContext.class)
+public abstract class DrawContextMixin {
+ @Shadow @Final private MatrixStack matrices;
+
+ @Shadow
+ public void fill(RenderLayer layer, int x1, int x2, int y1, int y2, int color) {
+ }
+
+ @Inject(method = "drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V", at = @At("HEAD"))
+ public void skyblocker$renderItemBar(TextRenderer textRenderer, ItemStack stack, int x, int y, @Nullable String countOverride, CallbackInfo ci) {
if (Utils.isOnSkyblock() && SkyblockerConfig.get().locations.dwarvenMines.enableDrillFuel) {
if (!stack.isEmpty()) {
@@ -44,13 +52,18 @@ public abstract class ItemRendererMixin {
break;
}
}
-
+
+ matrices.push();
+ matrices.translate(0f, 0f, 200f);
RenderSystem.disableDepthTest();
+
float hue = Math.max(0.0F, 1.0F - (max - current) / max);
int width = Math.round(current / max * 13.0F);
Color color = Color.getHSBColor(hue / 3.0F, 1.0F, 1.0F);
- DrawableHelper.fill(matrices, x + 2, y + 13, x + 15, y + 15, 0xFF000000);
- DrawableHelper.fill(matrices, x + 2, y + 13, x + 2 + width, y + 14, ColorHelper.Argb.getArgb(color.getAlpha(), color.getRed(), color.getGreen(), color.getBlue()));
+ this.fill(RenderLayer.getGuiOverlay(), x + 2, y + 13, x + 15, y + 15, 0xFF000000);
+ this.fill(RenderLayer.getGuiOverlay(), x + 2, y + 13, x + 2 + width, y + 14, ColorHelper.Argb.getArgb(color.getAlpha(), color.getRed(), color.getGreen(), color.getBlue()));
+
+ matrices.pop();
RenderSystem.enableDepthTest();
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
index 2d200a86..2638db7e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
@@ -3,9 +3,10 @@ package me.xmrvizzy.skyblocker.mixin;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.skyblock.BackpackPreview;
import me.xmrvizzy.skyblocker.skyblock.item.WikiLookup;
+import me.xmrvizzy.skyblocker.utils.Utils;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
-import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.screen.slot.Slot;
import net.minecraft.text.Text;
import org.jetbrains.annotations.Nullable;
@@ -36,12 +37,20 @@ public abstract class HandledScreenMixin extends Screen {
}
@Inject(at = @At("HEAD"), method = "drawMouseoverTooltip", cancellable = true)
- public void skyblocker$drawMouseOverTooltip(MatrixStack matrices, int x, int y, CallbackInfo ci) {
+ public void skyblocker$drawMouseOverTooltip(DrawContext context, int x, int y, CallbackInfo ci) {
+ //Hide Empty Tooltips
+ if(this.focusedSlot != null) {
+ Text stackName = focusedSlot.getStack().getName();
+ String strName = stackName.getString();
+ if(Utils.isOnSkyblock() && SkyblockerConfig.get().general.hideEmptyTooltips && strName.equals(" ")) ci.cancel();
+ }
+
+ //Backpack Preview
String title = this.getTitle().getString();
boolean shiftDown = SkyblockerConfig.get().general.backpackPreviewWithoutShift ^ Screen.hasShiftDown();
if (shiftDown && title.equals("Storage") && this.focusedSlot != null) {
if (this.focusedSlot.inventory == this.client.player.getInventory()) return;
- if (BackpackPreview.renderPreview(matrices, this.focusedSlot.getIndex(), x, y)) ci.cancel();
+ if (BackpackPreview.renderPreview(context, this.focusedSlot.getIndex(), x, y)) ci.cancel();
}
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
index e17795ab..335737a1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java
@@ -1,6 +1,5 @@
package me.xmrvizzy.skyblocker.mixin;
-import com.mojang.blaze3d.systems.RenderSystem;
import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.skyblock.FancyStatusBars;
@@ -10,13 +9,14 @@ import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonMap;
import me.xmrvizzy.skyblocker.utils.Utils;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
-import net.minecraft.client.gui.DrawableHelper;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.hud.InGameHud;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
+
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
@@ -26,7 +26,10 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Environment(EnvType.CLIENT)
@Mixin(InGameHud.class)
-public abstract class InGameHudMixin extends DrawableHelper {
+public abstract class InGameHudMixin {
+ //@Shadow
+ //@Final
+ //private static Identifier ICONS = new Identifier("textures/gui/icons.png");
@Unique
private static final Identifier SLOT_LOCK = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/slot_lock.png");
@Unique
@@ -35,7 +38,7 @@ public abstract class InGameHudMixin extends DrawableHelper {
@Unique
private final FancyStatusBars statusBars = new FancyStatusBars();
@Unique
- private MatrixStack hotbarMatrices;
+ private DrawContext hotbarContext;
@Unique
private int hotbarSlotIndex;
@@ -62,45 +65,44 @@ public abstract class InGameHudMixin extends DrawableHelper {
}
@Inject(method = "renderHotbar", at = @At("HEAD"))
- public void skyblocker$renderHotbar(float f, MatrixStack matrices, CallbackInfo ci) {
+ public void skyblocker$renderHotbar(float f, DrawContext context, CallbackInfo ci) {
if (Utils.isOnSkyblock()) {
- hotbarMatrices = matrices;
+ hotbarContext = context;
hotbarSlotIndex = 0;
}
}
@Inject(method = "renderHotbarItem", at = @At("HEAD"))
- public void skyblocker$renderHotbarItem(MatrixStack matrices, int i, int j, float f, PlayerEntity player, ItemStack stack, int seed, CallbackInfo ci) {
+ public void skyblocker$renderHotbarItem(DrawContext context, int i, int j, float f, PlayerEntity player, ItemStack stack, int seed, CallbackInfo ci) {
if (Utils.isOnSkyblock()) {
if (HotbarSlotLock.isLocked(hotbarSlotIndex)) {
- RenderSystem.setShaderTexture(0, SLOT_LOCK);
- DrawableHelper.drawTexture(hotbarMatrices, i, j, 0, 0, 16, 16);
+ hotbarContext.drawTexture(SLOT_LOCK, i, j, 0, 0, 16, 16);
}
hotbarSlotIndex++;
}
}
@Inject(method = "renderExperienceBar", at = @At("HEAD"), cancellable = true)
- private void skyblocker$renderExperienceBar(MatrixStack matrices, int x, CallbackInfo ci) {
+ private void skyblocker$renderExperienceBar(DrawContext context, int x, CallbackInfo ci) {
if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.bars.enableBars)
ci.cancel();
}
@Inject(method = "renderStatusBars", at = @At("HEAD"), cancellable = true)
- private void skyblocker$renderStatusBars(MatrixStack matrices, CallbackInfo ci) {
+ private void skyblocker$renderStatusBars(DrawContext context, CallbackInfo ci) {
if (!Utils.isOnSkyblock())
return;
- if (statusBars.render(matrices, scaledWidth, scaledHeight))
+ if (statusBars.render(context, scaledWidth, scaledHeight))
ci.cancel();
if (Utils.isInDungeons() && SkyblockerConfig.get().locations.dungeons.enableMap)
- DungeonMap.render(matrices);
+ DungeonMap.render(context.getMatrices());
- RenderSystem.setShaderTexture(0, GUI_ICONS_TEXTURE);
+ //RenderSystem.setShaderTexture(0, ICONS);
}
@Inject(method = "renderMountHealth", at = @At("HEAD"), cancellable = true)
- private void skyblocker$renderMountHealth(MatrixStack matrices, CallbackInfo ci) {
+ private void skyblocker$renderMountHealth(DrawContext context, CallbackInfo ci) {
if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.bars.enableBars)
ci.cancel();
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java
index b5403ae2..ef65190f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java
@@ -13,9 +13,9 @@ import me.xmrvizzy.skyblocker.utils.Utils;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.hud.PlayerListHud;
import net.minecraft.client.network.ClientPlayNetworkHandler;
-import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.scoreboard.Scoreboard;
import net.minecraft.scoreboard.ScoreboardObjective;
import net.minecraft.text.Text;
@@ -27,8 +27,8 @@ public class PlayerListHudMixin {
@Shadow
private Text footer;
- @Inject(at = @At("HEAD"), method = "render(Lnet/minecraft/client/util/math/MatrixStack;ILnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreboardObjective;)V", cancellable = true)
- public void skyblocker$renderTabHud(MatrixStack ms, int scaledW, Scoreboard sb, ScoreboardObjective sbo,
+ @Inject(at = @At("HEAD"), method = "render(Lnet/minecraft/client/gui/DrawContext;ILnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreboardObjective;)V", cancellable = true)
+ public void skyblocker$renderTabHud(DrawContext context, int scaledW, Scoreboard sb, ScoreboardObjective sbo,
CallbackInfo info) {
if (!Utils.isOnSkyblock()
@@ -47,7 +47,7 @@ public class PlayerListHudMixin {
int h = MinecraftClient.getInstance().getWindow().getScaledHeight();
try {
Screen screen = Screen.getCorrect(w, h, footer);
- screen.render(ms);
+ screen.render(context);
info.cancel();
} catch (Exception e) {
TabHud.LOGGER.error("Drawing default hud. Reason: Screen exception {}", e);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java
deleted file mode 100644
index 9389b792..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ScreenMixin.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package me.xmrvizzy.skyblocker.mixin;
-
-import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.item.ItemStack;
-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;
-
-@Mixin(Screen.class)
-public abstract class ScreenMixin {
- @Inject(at = @At("HEAD"), method = "renderTooltip(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/item/ItemStack;II)V", cancellable = true)
- public void skyblocker$renderTooltip(MatrixStack matrices, ItemStack itemStack, int x, int y, CallbackInfo ci) {
- Text stackName = itemStack.getName();
- String strName = stackName.getString();
- if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.hideEmptyTooltips && strName.equals(" ")) {
- ci.cancel();
- }
- }
-}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java
index 4820bc0f..e35ef605 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java
@@ -7,7 +7,7 @@ import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
-import net.minecraft.client.gui.DrawableHelper;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.network.PlayerListEntry;
@@ -27,7 +27,7 @@ import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-public class BackpackPreview extends DrawableHelper {
+public class BackpackPreview {
private static final Identifier TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/inventory_background.png");
private static final BackpackPreview instance = new BackpackPreview();
private static final Pattern PROFILE_PATTERN = Pattern.compile("Profile: ([a-zA-Z]+)");
@@ -135,7 +135,7 @@ public class BackpackPreview extends DrawableHelper {
}
}
- public static boolean renderPreview(MatrixStack matrices, int index, int mouseX, int mouseY) {
+ public static boolean renderPreview(DrawContext context, int index, int mouseX, int mouseY) {
if (index >= 9 && index < 18) index -= 9;
else if (index >= 27 && index < 45) index -= 18;
else return false;
@@ -149,12 +149,13 @@ public class BackpackPreview extends DrawableHelper {
RenderSystem.disableDepthTest();
RenderSystem.setShaderTexture(0, TEXTURE);
- BackpackPreview.drawTexture(matrices, x, y, 0, 0, 176, 7);
+ context.drawTexture(TEXTURE, x, y, 0, 0, 176, 7);
for (int i = 0; i < rows; ++i)
- BackpackPreview.drawTexture(matrices, x, y + i * 18 + 7, 0, 7, 176, 18);
- BackpackPreview.drawTexture(matrices, x, y + rows * 18 + 7, 0, 25, 176, 7);
+ context.drawTexture(TEXTURE, x, y + i * 18 + 7, 0, 7, 176, 18);
+ context.drawTexture(TEXTURE, x, y + rows * 18 + 7, 0, 25, 176, 7);
RenderSystem.enableDepthTest();
+ MatrixStack matrices = context.getMatrices();
ItemRenderer itemRenderer = MinecraftClient.getInstance().getItemRenderer();
TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
for (int i = 9; i < storage[index].size(); ++i) {
@@ -162,8 +163,8 @@ public class BackpackPreview extends DrawableHelper {
int itemY = y + (i - 9) / 9 * 18 + 8;
matrices.push();
matrices.translate(0, 0, 200);
- itemRenderer.renderInGui(matrices, storage[index].getStack(i), itemX, itemY);
- itemRenderer.renderGuiItemOverlay(matrices, textRenderer, storage[index].getStack(i), itemX, itemY);
+ context.drawItem(storage[index].getStack(i), itemX, itemY);
+ context.drawItemInSlot(textRenderer, storage[index].getStack(i), itemX, itemY);
matrices.pop();
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
index 05b57410..6af06e6d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
@@ -1,15 +1,13 @@
package me.xmrvizzy.skyblocker.skyblock;
-import com.mojang.blaze3d.systems.RenderSystem;
import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
-import net.minecraft.client.gui.DrawableHelper;
-import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.util.Identifier;
-public class FancyStatusBars extends DrawableHelper {
+public class FancyStatusBars {
private static final Identifier BARS = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/bars.png");
private final MinecraftClient client = MinecraftClient.getInstance();
@@ -39,7 +37,7 @@ public class FancyStatusBars extends DrawableHelper {
return (100 * value) / max;
}
- public boolean render(MatrixStack matrices, int scaledWidth, int scaledHeight) {
+ public boolean render(DrawContext context, int scaledWidth, int scaledHeight) {
var player = client.player;
if (!SkyblockerConfig.get().general.bars.enableBars || player == null)
return false;
@@ -72,11 +70,10 @@ public class FancyStatusBars extends DrawableHelper {
moveBar(i, configAnchorNum);
}
- RenderSystem.setShaderTexture(0, BARS);
for (var bar : bars)
- bar.draw(matrices);
+ bar.draw(context);
for (var bar : bars)
- bar.drawText(matrices);
+ bar.drawText(context);
return true;
}
@@ -143,32 +140,32 @@ public class FancyStatusBars extends DrawableHelper {
this.text = val;
}
- public void draw(MatrixStack matrices) {
+ public void draw(DrawContext context) {
// Dont draw if anchorNum is outside of range
if (anchorNum < 0 || anchorNum > 2) return;
// Draw the icon for the bar
- drawTexture(matrices, anchorsX[anchorNum] + offsetX, anchorsY[anchorNum], 0, v, 9, 9);
+ context.drawTexture(BARS, anchorsX[anchorNum] + offsetX, anchorsY[anchorNum], 0, v, 9, 9);
// Draw the background for the bar
- drawTexture(matrices, anchorsX[anchorNum] + offsetX + 10, anchorsY[anchorNum], 10, v, 2, 9);
+ context.drawTexture(BARS, anchorsX[anchorNum] + offsetX + 10, anchorsY[anchorNum], 10, v, 2, 9);
for (int i = 2; i < bar_width - 2; i += 58)
- drawTexture(matrices, anchorsX[anchorNum] + offsetX + 10 + i, anchorsY[anchorNum], 12, v, Math.min(58, bar_width - 2 - i), 9);
- drawTexture(matrices, anchorsX[anchorNum] + offsetX + 10 + bar_width - 2, anchorsY[anchorNum], 70, v, 2, 9);
+ context.drawTexture(BARS, anchorsX[anchorNum] + offsetX + 10 + i, anchorsY[anchorNum], 12, v, Math.min(58, bar_width - 2 - i), 9);
+ context.drawTexture(BARS, anchorsX[anchorNum] + offsetX + 10 + bar_width - 2, anchorsY[anchorNum], 70, v, 2, 9);
// Draw the filled part of the bar
for (int i = 0; i < fill.length; i++) {
int fill_width = this.fill[i] * (bar_width - 2) / 100;
if (fill_width >= 1)
- drawTexture(matrices, anchorsX[anchorNum] + offsetX + 11, anchorsY[anchorNum], 72 + i*60, v, 1, 9);
+ context.drawTexture(BARS, anchorsX[anchorNum] + offsetX + 11, anchorsY[anchorNum], 72 + i*60, v, 1, 9);
for (int j = 1; j < fill_width - 1; j += 58)
- drawTexture(matrices, anchorsX[anchorNum] + offsetX + 11 + j, anchorsY[anchorNum], 73 + i*60, v, Math.min(58, fill_width - 1 - j), 9);
+ context.drawTexture(BARS, anchorsX[anchorNum] + offsetX + 11 + j, anchorsY[anchorNum], 73 + i*60, v, Math.min(58, fill_width - 1 - j), 9);
if (fill_width == bar_width - 2)
- drawTexture(matrices, anchorsX[anchorNum] + offsetX + 11 + fill_width - 1, anchorsY[anchorNum], 131 + i*60, v, 1, 9);
+ context.drawTexture(BARS, anchorsX[anchorNum] + offsetX + 11 + fill_width - 1, anchorsY[anchorNum], 131 + i*60, v, 1, 9);
}
}
- public void drawText(MatrixStack matrices) {
+ public void drawText(DrawContext context) {
// Dont draw if anchorNum is outside of range
if (anchorNum < 0 || anchorNum > 2) return;
@@ -179,10 +176,10 @@ public class FancyStatusBars extends DrawableHelper {
final int[] offsets = new int[]{-1, 1};
for (int i : offsets) {
- textRenderer.draw(matrices, text, (float) (x + i), (float) y, 0);
- textRenderer.draw(matrices, text, (float) x, (float) (y + i), 0);
+ context.drawText(textRenderer, text, x + i, y, 0, false);
+ context.drawText(textRenderer, text, x, y + i, 0, false);
}
- textRenderer.draw(matrices, text, (float) x, (float) y, text_color);
+ context.drawText(textRenderer, text, x, y, text_color, false);
}
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java
index e5441b5c..2a97d0ee 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java
@@ -2,14 +2,13 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon;
import org.apache.commons.lang3.StringUtils;
-import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.brigadier.Command;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawableHelper;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.render.MapRenderer;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
@@ -50,11 +49,10 @@ public class DungeonMap {
}
}
- public static void renderHUDMap(MatrixStack matrices, int x, int y) {
+ public static void renderHUDMap(DrawContext context, int x, int y) {
float scaling = SkyblockerConfig.get().locations.dungeons.mapScaling;
int size = (int) (128 * scaling);
- RenderSystem.setShaderTexture(0, MAP_BACKGROUND);
- DrawableHelper.drawTexture(matrices, x, y, 0, 0, size, size, size, size);
+ context.drawTexture(MAP_BACKGROUND, x, y, 0, 0, size, size, size, size);
}
public static void init() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
index 8fba6a7a..ffd7a8b6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
@@ -5,8 +5,8 @@ import java.awt.Color;
import me.shedaniel.autoconfig.AutoConfig;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.utils.RenderUtils;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
public class DungeonMapConfigScreen extends Screen {
@@ -19,11 +19,11 @@ public class DungeonMapConfigScreen extends Screen {
}
@Override
- public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
- super.render(matrices, mouseX, mouseY, delta);
- renderBackground(matrices);
- DungeonMap.renderHUDMap(matrices, hudX, hudY);
- drawCenteredTextWithShadow(matrices, textRenderer, "Right Click To Reset Position", width / 2, height / 2, Color.GRAY.getRGB());
+ public void render(DrawContext context, int mouseX, int mouseY, float delta) {
+ super.render(context, mouseX, mouseY, delta);
+ renderBackground(context);
+ DungeonMap.renderHUDMap(context, hudX, hudY);
+ context.drawCenteredTextWithShadow(textRenderer, "Right Click To Reset Position", width / 2, height / 2, Color.GRAY.getRGB());
}
@Override
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
index 15f9e58b..122f6c6c 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
@@ -6,7 +6,7 @@ import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawableHelper;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
@@ -49,35 +49,35 @@ public class DwarvenHud {
return 1;
})))));
- HudRenderCallback.EVENT.register((matrixStack, tickDelta) -> {
+ HudRenderCallback.EVENT.register((context, tickDelta) -> {
if (!SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enabled
|| client.options.playerListKey.isPressed()
|| client.player == null
|| commissionList.isEmpty()) {
return;
}
- render(matrixStack, SkyblockerConfig.get().locations.dwarvenMines.dw