aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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)18
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java13
-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.java27
-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
-rw-r--r--src/main/resources/fabric.mod.json4
-rw-r--r--src/main/resources/skyblocker.mixins.json6
28 files changed, 217 insertions, 234 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..ccbeaca2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemRendererMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java
@@ -15,17 +15,15 @@ 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.util.math.MatrixStack;
+import net.minecraft.client.gui.DrawContext;
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 {
+ @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 +42,15 @@ public abstract class ItemRendererMixin {
break;
}
}
+
+ DrawContext context = ((DrawContext) (Object) this);
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()));
+ context.fill(x + 2, y + 13, x + 15, y + 15, 0xFF000000);
+ context.fill(x + 2, y + 13, x + 2 + width, y + 14, ColorHelper.Argb.getArgb(color.getAlpha(), color.getRed(), color.getGreen(), color.getBlue()));
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..30aa1ed2 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,18 @@ 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
+ Text stackName = focusedSlot.getStack().getName();
+ String strName = stackName.getString();
+ if(this.focusedSlot != null && 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.dwarvenHud.x, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.y, commissionList);
+ render(context, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.x, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.y, commissionList);
});
}
- public static void render(MatrixStack matrixStack, int hudX, int hudY, List<Commission> commissions) {
+ public static void render(DrawContext context, int hudX, int hudY, List<Commission> commissions) {
switch(SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.style) {
- case SIMPLE -> renderSimple(matrixStack, hudX, hudY, commissions);
- case FANCY -> renderFancy(matrixStack, hudX, hudY, commissions);
- case CLASSIC -> renderClassic(matrixStack, hudX, hudY, commissions);
+ case SIMPLE -> renderSimple(context, hudX, hudY, commissions);
+ case FANCY -> renderFancy(context, hudX, hudY, commissions);
+ case CLASSIC -> renderClassic(context, hudX, hudY, commissions);
}
}
- public static void renderClassic(MatrixStack matrixStack, int hudX, int hudY, List<Commission> commissions) {
+ public static void renderClassic(DrawContext context, int hudX, int hudY, List<Commission> commissions) {
if (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground) {
- DrawableHelper.fill(matrixStack, hudX, hudY, hudX + 200, hudY + (20 * commissions.size()), 0x64000000);
+ context.fill(hudX, hudY, hudX + 200, hudY + (20 * commissions.size()), 0x64000000);
}
int y = 0;
for (Commission commission : commissions) {
- client.textRenderer
- .drawWithShadow(matrixStack,
+ context
+ .drawTextWithShadow(client.textRenderer,
Text.literal(commission.commission + ": ")
.styled(style -> style.withColor(Formatting.AQUA))
.append(Text.literal(commission.progression)
@@ -87,18 +87,18 @@ public class DwarvenHud {
}
}
- public static void renderSimple(MatrixStack matrixStack, int hudX, int hudY, List<Commission> commissions) {
+ public static void renderSimple(DrawContext context, int hudX, int hudY, List<Commission> commissions) {
CommsWidget cw = new CommsWidget(commissions, false);
cw.setX(hudX);
cw.setY(hudY);
- cw.render(matrixStack, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground);
+ cw.render(context, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground);
}
- public static void renderFancy(MatrixStack matrixStack, int hudX, int hudY, List<Commission> commissions) {
+ public static void renderFancy(DrawContext context, int hudX, int hudY, List<Commission> commissions) {
CommsWidget cw = new CommsWidget(commissions, true);
cw.setX(hudX);
cw.setY(hudY);
- cw.render(matrixStack, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground);
+ cw.render(context, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground);
}
public static void update() {
@@ -121,4 +121,4 @@ public class DwarvenHud {
// steamroller tactics to get visibility from outside classes (CommsWidget)
public static record Commission(String commission, String progression){}
-}
+} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
index 2d0ba892..f91ed921 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
@@ -3,6 +3,7 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven;
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;
@@ -19,11 +20,11 @@ public class DwarvenHudConfigScreen extends Screen {
}
@Override
- public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
- super.render(matrices, mouseX, mouseY, delta);
- renderBackground(matrices);
- DwarvenHud.render(matrices, hudX, hudY, List.of(new DwarvenHud.Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%")));
- 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);
+ DwarvenHud.render(context, hudX, hudY, List.of(new DwarvenHud.Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%")));
+ 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/itemlist/ItemListWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
index d9acc75c..99715e29 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
@@ -5,12 +5,11 @@ import me.xmrvizzy.skyblocker.mixin.RecipeBookWidgetAccessor;
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.Drawable;
-import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.gui.Selectable;
import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
-import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.screen.AbstractRecipeScreenHandler;
import net.minecraft.text.Text;
@@ -46,27 +45,26 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select
}
@Override
- public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
+ public void render(DrawContext context, int mouseX, int mouseY, float delta) {
if (this.isOpen()) {
- matrices.push();
+ MatrixStack matrices = context.getMatrices();
+ matrices.push();
matrices.translate(0.0D, 0.0D, 100.0D);
- RenderSystem.setShader(GameRenderer::getPositionTexProgram);
- RenderSystem.setShaderTexture(0, TEXTURE);
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
this.searchField = ((RecipeBookWidgetAccessor)this).getSearchField();
int i = (this.parentWidth - 147) / 2 - this.leftOffset;
int j = (this.parentHeight - 166) / 2;
- DrawableHelper.drawTexture(matrices, i, j, 1, 1, 147, 166);
+ context.drawTexture(TEXTURE, i, j, 1, 1, 147, 166);
this.searchField = ((RecipeBookWidgetAccessor)this).getSearchField();
if (!ItemRegistry.filesImported && !this.searchField.isFocused() && this.searchField.getText().isEmpty()) {
Text hintText = (Text.literal("Loading...")).formatted(Formatting.ITALIC).formatted(Formatting.GRAY);
- drawTextWithShadow(matrices, this.client.textRenderer, hintText, i + 25, j + 14, -1);
+ context.drawTextWithShadow(this.client.textRenderer, hintText, i + 25, j + 14, -1);
} else if (!this.searchField.isFocused() && this.searchField.getText().isEmpty()) {
Text hintText = (Text.translatable("gui.recipebook.search_hint")).formatted(Formatting.ITALIC).formatted(Formatting.GRAY);
- drawTextWithShadow(matrices, this.client.textRenderer, hintText, i + 25, j + 14, -1);
+ context.drawTextWithShadow(this.client.textRenderer, hintText, i + 25, j + 14, -1);
} else {
- this.searchField.render(matrices, mouseX, mouseY, delta);
+ this.searchField.render(context, mouseX, mouseY, delta);
}
if (ItemRegistry.filesImported){
if (results == null) {
@@ -75,16 +73,16 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select
this.results = new SearchResultsWidget(this.client, x, y);
}
this.updateSearchResult();
- this.results.render(matrices, mouseX, mouseY, delta);
+ this.results.render(context, mouseX, mouseY, delta);
}
matrices.pop();
}
}
@Override
- public void drawTooltip(MatrixStack matrices, int x, int y, int mouseX, int mouseY) {
+ public void drawTooltip(DrawContext context, int x, int y, int mouseX, int mouseY) {
if (this.isOpen() && ItemRegistry.filesImported && results != null) {
- this.results.drawTooltip(matrices, mouseX, mouseY);
+ this.results.drawTooltip(context, mouseX, mouseY);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java
index 41e5469d..8b0fe91d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java
@@ -1,17 +1,21 @@
package me.xmrvizzy.skyblocker.skyblock.itemlist;
import java.util.List;
+import java.util.function.Function;
+import java.util.ArrayList;
+import com.google.common.collect.Lists;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawableHelper;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
import net.minecraft.client.gui.widget.ClickableWidget;
import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
+import net.minecraft.text.OrderedText;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
@@ -36,23 +40,26 @@ public class ResultButtonWidget extends ClickableWidget {
}
@Override
- public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float delta) {
+ public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
MinecraftClient client = MinecraftClient.getInstance();
- RenderSystem.setShader(GameRenderer::getPositionTexProgram);
- RenderSystem.setShaderTexture(0, BACKGROUND_TEXTURE);
// this.drawTexture(matrices, this.x, this.y, 29, 206, this.width, this.height);
- DrawableHelper.drawTexture(matrices, this.getX(), this.getY(), 29, 206, this.getWidth(), this.getHeight());
+ context.drawTexture(BACKGROUND_TEXTURE, this.getX(), this.getY(), 29, 206, this.getWidth(), this.getHeight());
// client.getItemRenderer().renderInGui(this.itemStack, this.x + 4, this.y + 4);
- client.getItemRenderer().renderInGui(matrices, this.itemStack, this.getX() + 4, this.getY() + 4);
+ context.drawItem(this.itemStack, this.getX() + 4, this.getY() + 4);
// client.getItemRenderer().renderGuiItemOverlay(client.textRenderer, itemStack, this.x + 4, this.y + 4);
- client.getItemRenderer().renderGuiItemOverlay(matrices, client.textRenderer, itemStack, this.getX() + 4, this.getY() + 4);
+ context.drawItemInSlot(client.textRenderer, itemStack, this.getX() + 4, this.getY() + 4);
}
- public void renderTooltip(MatrixStack matrices, int mouseX, int mouseY) {
+ public void renderTooltip(DrawContext context, int mouseX, int mouseY) {
MinecraftClient client = MinecraftClient.getInstance();
- List<Text> tooltip = client.currentScreen.getTooltipFromItem(this.itemStack);
+ List<Text> tooltip = client.currentScreen.getTooltipFromItem(client, this.itemStack);
+ List<OrderedText> orderedTooltip = new ArrayList<>();
+
+ for(int i = 0; i < tooltip.size(); i++) orderedTooltip.add(tooltip.get(i).asOrderedText());
+
// TODO : add null check with log error
- client.currentScreen.renderTooltip(matrices, tooltip, mouseX, mouseY);
+ client.currentScreen.setTooltip(orderedTooltip);
+ client.currentScreen.renderWithTooltip(context, mouseX, mouseY, mouseY);
}
@Override
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java
index ce53112b..058495a2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java
@@ -2,6 +2,8 @@ package me.xmrvizzy.skyblocker.skyblock.itemlist;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.font.TextRenderer;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.Drawable;
import net.minecraft.client.gui.widget.ToggleButtonWidget;
import net.minecraft.client.util.math.MatrixStack;
@@ -106,32 +108,33 @@ public class SearchResultsWidget implements Drawable {
this.nextPageButton.active = this.currentPage < this.pageCount - 1;
}
- public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
+ public void render(DrawContext context, int mouseX, int mouseY, float delta) {
+ TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
RenderSystem.disableDepthTest();
if (this.displayRecipes) {
String craftText = this.recipeResults.get(this.currentPage).craftText;
- this.client.textRenderer.drawWithShadow(matrices, craftText, this.parentX + 11, this.parentY + 31, 0xffffffff);
+ context.drawTextWithShadow(textRenderer, craftText, this.parentX + 11, this.parentY + 31, 0xffffffff);
Text resultText = this.recipeResults.get(this.currentPage).result.getName();
- this.client.textRenderer.drawWithShadow(matrices, resultText, this.parentX + 11, this.parentY + 43, 0xffffffff);
- this.client.textRenderer.drawWithShadow(matrices, "▶", this.parentX + 96, this.parentY + 90, 0xaaffffff);
+ context.drawTextWithShadow(textRenderer, resultText, this.parentX + 11, this.parentY + 43, 0xffffffff);
+ context.drawTextWithShadow(textRenderer, "▶", this.parentX + 96, this.parentY + 90, 0xaaffffff);
}
for (ResultButtonWidget button : resultButtons)
- button.render(matrices, mouseX, mouseY, delta);
+ button.render(context, mouseX, mouseY, delta);
if (this.pageCount > 1) {
String string = (this.currentPage + 1) + "/" + this.pageCount;
int dx = this.client.textRenderer.getWidth(string) / 2;
- this.client.textRenderer.draw(matrices, string, this.parentX - dx + 73, this.parentY + 141, -1);
+ context.drawText(textRenderer, string, this.parentX - dx + 73, this.parentY + 141, -1, false);
}
- if (this.prevPageButton.active) this.prevPageButton.render(matrices, mouseX, mouseY, delta);
- if (this.nextPageButton.active) this.nextPageButton.render(matrices, mouseX, mouseY, delta);
+ if (this.prevPageButton.active) this.prevPageButton.render(context, mouseX, mouseY, delta);
+ if (this.nextPageButton.active) this.nextPageButton.render(context, mouseX, mouseY, delta);
RenderSystem.enableDepthTest();
}
- public void drawTooltip(MatrixStack matrices, int mouseX, int mouseY) {
+ public void drawTooltip(DrawContext context, int mouseX, int mouseY) {
RenderSystem.disableDepthTest();
for (ResultButtonWidget button : resultButtons)
if (button.isMouseOver(mouseX, mouseY))
- button.renderTooltip(matrices, mouseX, mouseY);
+ button.renderTooltip(context, mouseX, mouseY);
RenderSystem.enableDepthTest();
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
index 7269840a..c02463a3 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
@@ -7,7 +7,7 @@ import me.xmrvizzy.skyblocker.mixin.HandledScreenAccessor;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
-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.gui.screen.narration.NarrationMessageBuilder;
@@ -64,41 +64,41 @@ public class QuickNavButton extends ClickableWidget {
}
@Override
- public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float delta) {
+ public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) {
this.updateCoordinates();
- RenderSystem.setShaderTexture(0, BUTTON_TEXTURE);
+ MatrixStack matrices = context.getMatrices();
RenderSystem.disableDepthTest();
// render button background
if (!this.toggled) {
if (this.index >= 6)
// this.drawTexture(matrices, this.x, this.y + 4, this.u, this.v + 4, this.width, this.height - 4);
- DrawableHelper.drawTexture(matrices, this.getX(), this.getY() + 4, this.u, this.v + 4, this.width, this.height - 4);
+ context.drawTexture(BUTTON_TEXTURE, this.getX(), this.getY() + 4, this.u, this.v + 4, this.width, this.height - 4);
else
// this.drawTexture(matrices, this.x, this.y, this.u, this.v, this.width, this.height - 4);
- DrawableHelper.drawTexture(matrices, this.getX(), this.getY() - 2, this.u, this.v, this.width, this.height - 4);
+ context.drawTexture(BUTTON_TEXTURE, this.getX(), this.getY() - 2, this.u, this.v, this.width, this.height - 4);
// } else this.drawTexture(matrices, this.x, this.y, this.u, this.v, this.width, this.height);
} else {
matrices.push();
//Move the top buttons 2 pixels up if they're selected
if (this.index < 6) matrices.translate(0f, -2f, 0f);
- DrawableHelper.drawTexture(matrices, this.getX(), this.getY(), this.u, this.v, this.width, this.height);
+ context.drawTexture(BUTTON_TEXTURE, this.getX(), this.getY(), this.u, this.v, this.width, this.height);
matrices.pop();
}
// render button icon
if (!this.toggled) {
if (this.index >= 6)
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 6);
- CLIENT.getItemRenderer().renderInGui(matrices, this.icon,this.getX() + 5, this.getY() + 6);
+ context.drawItem(this.icon,this.getX() + 5, this.getY() + 6);
else
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 9);
- CLIENT.getItemRenderer().renderInGui(matrices, this.icon,this.getX() + 5, this.getY() + 7);
+ context.drawItem(this.icon,this.getX() + 5, this.getY() + 7);
} else {
if (this.index >= 6)
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 9);
- CLIENT.getItemRenderer().renderInGui(matrices, this.icon,this.getX() + 5, this.getY() + 9);
+ context.drawItem(this.icon,this.getX() + 5, this.getY() + 9);
else
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 6);
- CLIENT.getItemRenderer().renderInGui(matrices, this.icon,this.getX() + 5, this.getY() + 6);
+ context.drawItem(this.icon,this.getX() + 5, this.getY() + 6);
}
RenderSystem.enableDepthTest();
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/Screen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/Screen.java
index 43b7f956..2ed15f27 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/Screen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/screens/Screen.java
@@ -23,6 +23,7 @@ import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.playerList.HomePlayerScree
import me.xmrvizzy.skyblocker.skyblock.tabhud.screens.playerList.PlayerListScreen;
import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerLocator;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.Widget;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
@@ -98,9 +99,9 @@ public class Screen {
}
}
- public void render(MatrixStack ms) {
+ public void render(DrawContext context) {
for (Widget w : widgets) {
- w.render(ms);
+ w.render(context);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java
index 6b96c151..33f77933 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java
@@ -10,7 +10,7 @@ import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.Component;
import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent;
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.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
import net.minecraft.text.MutableText;
@@ -103,14 +103,15 @@ public abstract class Widget {
/**
* Draw this widget with a background
*/
- public final void render(MatrixStack ms) {
- this.render(ms, true);
+ public final void render(DrawContext context) {
+ this.render(context, true);
}
/**
* Draw this widget, possibly with a background
*/
- public final void render(MatrixStack ms, boolean hasBG) {
+ public final void render(DrawContext context, boolean hasBG) {
+ MatrixStack ms = context.getMatrices();
// not sure if this is the way to go, but it fixes Z-layer issues
// like blocks being rendered behind the BG and the hotbar clipping into things
@@ -123,9 +124,9 @@ public abstract class Widget {
// move above other UI elements
ms.translate(0, 0, 200);
if (hasBG) {
- DrawableHelper.fill(ms, x + 1, y, x + w - 1, y + h, COL_BG_BOX);
- DrawableHelper.fill(ms, x, y + 1, x + 1, y + h - 1, COL_BG_BOX);
- DrawableHelper.fill(ms, x + w - 1, y + 1, x + w, y + h - 1, COL_BG_BOX);
+ context.fill(x + 1, y, x + w - 1, y + h, COL_BG_BOX);
+ context.fill(x, y + 1, x + 1, y + h - 1, COL_BG_BOX);
+ context.fill(x + w - 1, y + 1, x + w, y + h - 1, COL_BG_BOX);
}
// move above background (if exists)
ms.translate(0, 0, 100);
@@ -133,19 +134,19 @@ public abstract class Widget {
int strHeightHalf = Widget.txtRend.fontHeight / 2;
int strAreaWidth = Widget.txtRend.getWidth(title) + 4;
- txtRend.draw(ms, title, x + 8, y + 2, this.color);
+ context.drawText(txtRend, title, x + 8, y + 2, this.color, false);
- this.drawHLine(ms, x + 2, y + 1 + strHeightHalf, 4);
- this.drawHLine(ms, x + 2 + strAreaWidth + 4, y + 1 + strHeightHalf, w - 4 - 4 - strAreaWidth);
- this.drawHLine(ms, x + 2, y + h - 2, w - 4);
+ this.drawHLine(context, x + 2, y + 1 + strHeightHalf, 4);
+ this.drawHLine(context, x + 2 + strAreaWidth + 4, y + 1 + strHeightHalf, w - 4 - 4 - strAreaWidth);
+ this.drawHLine(context, x + 2, y + h - 2, w - 4);
- this.drawVLine(ms, x + 1, y + 2 + strHeightHalf, h - 4 - strHeightHalf);
- this.drawVLine(ms, x + w - 2, y + 2 + strHeightHalf, h - 4 - strHeightHalf);
+ this.drawVLine(context, x + 1, y + 2 + strHeightHalf, h - 4 - strHeightHalf);
+ this.drawVLine(context, x + w - 2, y + 2 + strHeightHalf, h - 4 - strHeightHalf);
int yOffs = y + BORDER_SZE_N;
for (Component c : components) {
- c.render(ms, x + BORDER_SZE_W, yOffs);
+ c.render(context, x + BORDER_SZE_W, yOffs);
yOffs += c.getHeight() + Component.PAD_L;
}
// pop manipulations above
@@ -153,12 +154,12 @@ public abstract class Widget {
RenderSystem.disableDepthTest();
}
- private void drawHLine(MatrixStack ms, int xpos, int ypos, int width) {
- DrawableHelper.fill(ms, xpos, ypos, xpos + width, ypos + 1, this.color);
+ private void drawHLine(DrawContext context, int xpos, int ypos, int width) {
+ context.fill(xpos, ypos, xpos + width, ypos + 1, this.color);
}
- private void drawVLine(MatrixStack ms, int xpos, int ypos, int height) {
- DrawableHelper.fill(ms, xpos, ypos, xpos + 1, ypos + height, this.color);
+ private void drawVLine(DrawContext context, int xpos, int ypos, int height) {
+ context.fill(xpos, ypos, xpos + 1, ypos + height, this.color);
}
/**
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java
index 671b1f41..850cb3d2 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/Component.java
@@ -2,8 +2,8 @@ package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.render.item.ItemRenderer;
-import net.minecraft.client.util.math.MatrixStack;
/**
* Abstract base class for a component that may be added to a Widget.
@@ -15,12 +15,11 @@ public abstract class Component {
public static final int PAD_L = 4;
static TextRenderer txtRend = MinecraftClient.getInstance().textRenderer;
- static ItemRenderer itmRend = MinecraftClient.getInstance().getItemRenderer();
// these should always be the content dimensions without any padding.
int width, height;
- public abstract void render(MatrixStack ms, int x, int y);
+ public abstract void render(DrawContext context, int x, int y);
public int getWidth() {
return this.width;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java
index f845eba5..afd05c26 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoFatTextComponent.java
@@ -1,7 +1,7 @@
package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
@@ -36,10 +36,10 @@ public class IcoFatTextComponent extends Component {
}
@Override
- public void render(MatrixStack ms, int x, int y) {
- itmRend.renderGuiItemIcon(ms, ico, x, y + ICO_OFFS);
- txtRend.draw(ms, line1, x + ICO_DIM + PAD_L, y, 0xffffffff);
- txtRend.draw(ms, line2, x + ICO_DIM + PAD_L, y + txtRend.fontHeight + PAD_S, 0xffffffff);
+ public void render(DrawContext context, int x, int y) {
+ context.drawItem(ico, x, y + ICO_OFFS);
+ context.drawText(txtRend, line1, x + ICO_DIM + PAD_L, y, 0xffffffff, false);
+ context.drawText(txtRend, line2, x + ICO_DIM + PAD_L, y + txtRend.fontHeight + PAD_S, 0xffffffff, false);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java
index 7a495a13..7ab92dd5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/IcoTextComponent.java
@@ -1,7 +1,7 @@
package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
@@ -32,9 +32,9 @@ public class IcoTextComponent extends Component {
}
@Override
- public void render(MatrixStack ms, int x, int y) {
- itmRend.renderGuiItemIcon(ms, ico, x, y);
- txtRend.draw(ms, text, x + ICO_DIM + PAD_L, y + 5, 0xffffffff);
+ public void render(DrawContext context, int x, int y) {
+ context.drawItem(ico, x, y);
+ context.drawText(txtRend, text, x + ICO_DIM + PAD_L, y + 5, 0xffffffff, false);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java
index 265d11f1..34e0268b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlainTextComponent.java
@@ -1,6 +1,6 @@
package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
-import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
@@ -23,8 +23,8 @@ public class PlainTextComponent extends Component {
}
@Override
- public void render(MatrixStack ms, int x, int y) {
- txtRend.draw(ms, text, x + PAD_S, y, 0xffffffff);
+ public void render(DrawContext context, int x, int y) {
+ context.drawText(txtRend, text, x + PAD_S, y, 0xffffffff, false);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java
index 18859080..fd66ec73 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java
@@ -1,10 +1,8 @@
package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
-import com.mojang.blaze3d.systems.RenderSystem;
-
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.PlayerSkinDrawer;
import net.minecraft.client.network.PlayerListEntry;
-import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Identifier;
/**
@@ -27,10 +25,9 @@ public class PlayerComponent extends Component {
}
@Override
- public void render(MatrixStack ms, int x, int y) {
- RenderSystem.setShaderTexture(0, tex);
- PlayerSkinDrawer.draw(ms, x, y, SKIN_ICO_DIM);
- txtRend.draw(ms, name, x + SKIN_ICO_DIM + PAD_S, y, 0xffffffff);
+ public void render(DrawContext context, int x, int y) {
+ PlayerSkinDrawer.draw(context, tex, x, y, SKIN_ICO_DIM);
+ context.drawText(txtRend, name, x + SKIN_ICO_DIM + PAD_S, y, 0xffffffff, false);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java
index b9ebc0e9..a7cc8d12 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/ProgressComponent.java
@@ -1,8 +1,7 @@
package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
import me.xmrvizzy.skyblocker.skyblock.tabhud.util.Ico;
-import net.minecraft.client.gui.DrawableHelper;
-import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
@@ -55,16 +54,16 @@ public class ProgressComponent extends Component {
}
@Override
- public void render(MatrixStack ms, int x, int y) {
- itmRend.renderGuiItemIcon(ms, ico, x, y + ICO_OFFS);
- txtRend.draw(ms, desc, x + ICO_DIM + PAD_L, y, 0xffffffff);
+ public void render(DrawContext context, int x, int y) {
+ context.drawItem(ico, x, y + ICO_OFFS);
+ context.drawText(txtRend, desc, x + ICO_DIM + PAD_L, y, 0xffffffff, false);
int barX = x + ICO_DIM + PAD_L;
int barY = y + txtRend.fontHeight + PAD_S;
int endOffsX = ((int) (this.barW * (this.pcnt / 100f)));
- DrawableHelper.fill(ms, barX + endOffsX, barY, barX + this.barW, barY + BAR_HEIGHT, COL_BG_BAR);
- DrawableHelper.fill(ms, barX, barY, barX + endOffsX, barY + BAR_HEIGHT,
+ context.fill(barX + endOffsX, barY, barX + this.barW, barY + BAR_HEIGHT, COL_BG_BAR);
+ context.fill(barX, barY, barX + endOffsX, barY + BAR_HEIGHT,
this.color);
- txtRend.drawWithShadow(ms, bar, barX + 3, barY + 2, 0xffffffff);
+ context.drawTextWithShadow(txtRend, bar, barX + 3, barY + 2, 0xffffffff);
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java
index 5d49be2c..30287dc0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/TableComponent.java
@@ -1,7 +1,6 @@
package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component;
-import net.minecraft.client.gui.DrawableHelper;
-import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.client.gui.DrawContext;
/**
* Meta-Component that consists of a grid of other components
@@ -38,11 +37,11 @@ public class TableComponent extends Component {
}
@Override
- public void render(MatrixStack ms, int xpos, int ypos) {
+ public void render(DrawContext context, int xpos, int ypos) {
for (int x = 0; x < cols; x++) {
for (int y = 0; y < rows; y++) {
if (comps[x][y] != null) {
- comps[x][y].render(ms, xpos + (x * cellW), ypos + y * cellH);
+ comps[x][y].render(context, xpos + (x * cellW), ypos + y * cellH);
}
}
// add a line before the col if we're not drawing the first one
@@ -51,7 +50,7 @@ public class TableComponent extends Component {
int lineX2 = xpos + (x * cellW) - PAD_S;
int lineY1 = ypos + 1;
int lineY2 = ypos + this.height - PAD_S - 1; // not sure why but it looks correct
- DrawableHelper.fill(ms, lineX1, lineY1, lineX2, lineY2, this.color);
+ context.fill(lineX1, lineY1, lineX2, lineY2, this.color);
}
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java
index 7a0ad754..919975b0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/ToastBuilder.java
@@ -3,11 +3,10 @@ package me.xmrvizzy.skyblocker.utils;
import com.mojang.blaze3d.systems.RenderSystem;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
-import net.minecraft.client.gui.DrawableHelper;
-import net.minecraft.client.render.GameRenderer;
+import net.minecraft.client.font.TextRenderer;
+import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.toast.Toast;
import net.minecraft.client.toast.ToastManager;
-import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
@Environment(value= EnvType.CLIENT)
@@ -21,14 +20,13 @@ public class ToastBuilder implements Toast {
}
@Override
- public Toast.Visibility draw(MatrixStack matrices, ToastManager manager, long startTime) {
- RenderSystem.setShader(GameRenderer::getPositionTexProgram);
- RenderSystem.setShaderTexture(0, TEXTURE);
+ public Toast.Visibility draw(DrawContext context, ToastManager manager, long startTime) {
+ TextRenderer textRenderer = manager.getClient().textRenderer;
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
- DrawableHelper.drawTexture(matrices, 0, 0, 0, 0, this.getWidth(), this.getHeight());
- manager.getClient().textRenderer.draw(matrices, title, 7.0f, 7.0f, -11534256);
- manager.getClient().textRenderer.draw(matrices, description, 7.0f, 18.0f, -16777216);
+ context.drawTexture(TEXTURE, 0, 0, 0, 0, this.getWidth(), this.getHeight());
+ context.drawText(textRenderer, title, 7, 7, -11534256, false);
+ context.drawText(textRenderer, description, 7, 18, -16777216, false);
return startTime >= 3000L ? Toast.Visibility.HIDE : Toast.Visibility.SHOW;
}
}
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json
index 14c1e6f1..b407b737 100644
--- a/src/main/resources/fabric.mod.json
+++ b/src/main/resources/fabric.mod.json
@@ -30,9 +30,9 @@
],
"depends": {
"fabricloader": ">=0.14.19",
- "fabric-api": ">=0.81.0+1.19.4",
+ "fabric-api": ">=0.80.2+1.20",
"cloth-config2": "*",
- "minecraft": "~1.19.4"
+ "minecraft": "~1.20-beta.1"
},
"custom": {
"modmenu": {
diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json
index 6fa2596a..f8b39c93 100644
--- a/src/main/resources/skyblocker.mixins.json
+++ b/src/main/resources/skyblocker.mixins.json
@@ -6,20 +6,18 @@
"AccessorWorldRenderer",
"ClientPlayerEntityMixin",
"ClientPlayNetworkHandlerMixin",
+ "DrawContextMixin",
"FarmlandBlockMixin",
"GenericContainerScreenHandlerMixin",
"HandledScreenAccessor",
"HandledScreenMixin",
"InGameHudMixin",
"InventoryScreenMixin",
- "ItemRendererMixin",
"LeverBlockMixin",
"MinecraftClientMixin",
- "RecipeBookWidgetAccessor",
- "HandledScreenAccessor",
"PlayerListHudAccessor",
"PlayerListHudMixin",
- "ScreenMixin"
+ "RecipeBookWidgetAccessor"
],
"injectors": {
"defaultRequire": 1