aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java10
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerSkinProviderMixin.java35
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilMinecraftSessionServiceMixin.java20
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/BackpackPreview.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Boxes.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/SlayerUtils.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java9
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java2
-rw-r--r--src/main/resources/fabric.mod.json7
-rw-r--r--src/main/resources/skyblocker.accesswidener3
-rw-r--r--src/main/resources/skyblocker.mixins.json1
19 files changed, 84 insertions, 44 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java
index f52e2f7f..7efefafd 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ClientPlayNetworkHandlerMixin.java
@@ -12,26 +12,22 @@ import net.minecraft.entity.ItemEntity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.network.packet.s2c.play.PlaySoundS2CPacket;
import org.slf4j.Logger;
-import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
@Mixin(ClientPlayNetworkHandler.class)
public abstract class ClientPlayNetworkHandlerMixin {
- @Shadow
- @Final
- private MinecraftClient client;
@Inject(method = "onPlaySound", at = @At("RETURN"))
private void skyblocker$onPlaySound(PlaySoundS2CPacket packet) {
FishingHelper.onSound(packet);
}
- @ModifyVariable(method = "onItemPickupAnimation", at = @At(value = "STORE", ordinal = 0))
+ @SuppressWarnings("resource")
+ @ModifyVariable(method = "onItemPickupAnimation", at = @At(value = "STORE", ordinal = 0))
private ItemEntity skyblocker$onItemPickup(ItemEntity itemEntity, @Local LivingEntity collector) {
- DungeonSecrets.onItemPickup(itemEntity, collector, collector == client.player);
+ DungeonSecrets.onItemPickup(itemEntity, collector, collector == MinecraftClient.getInstance().player);
return itemEntity;
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerSkinProviderMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerSkinProviderMixin.java
index a382a58e..4ca9a642 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerSkinProviderMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerSkinProviderMixin.java
@@ -1,20 +1,29 @@
package me.xmrvizzy.skyblocker.mixin;
-import me.xmrvizzy.skyblocker.utils.Utils;
-import net.minecraft.client.texture.PlayerSkinProvider;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.ModifyVariable;
-@Mixin(PlayerSkinProvider.class)
+import com.llamalad7.mixinextras.injector.ModifyReturnValue;
+import com.llamalad7.mixinextras.sugar.Local;
+import com.mojang.authlib.GameProfile;
+import com.mojang.authlib.minecraft.MinecraftSessionService;
+
+import me.xmrvizzy.skyblocker.utils.Utils;
+import net.minecraft.client.texture.PlayerSkinProvider.Textures;
+
+@Mixin(targets = "net.minecraft.client.texture.PlayerSkinProvider$1")
public class PlayerSkinProviderMixin {
- @ModifyVariable(method = "loadSkin(Lcom/mojang/authlib/GameProfile;Lnet/minecraft/client/texture/PlayerSkinProvider$SkinTextureAvailableCallback;Z)V", at = @At("STORE"))
- private Runnable skyblocker$removeInvalidBase64LogSpam(Runnable runnable) {
- return Utils.isOnHypixel() ? () -> {
- try {
- runnable.run();
- } catch (IllegalArgumentException ignored) {
- }
- } : runnable;
- }
+
+ @ModifyReturnValue(method = "method_52867", at = @At("RETURN"))
+ private static Textures skyblocker$fixTexturesThatHadAnInvalidSignature(Textures texture, @Local MinecraftSessionService sessionService, @Local GameProfile profile) {
+ if (Utils.isOnHypixel() && texture == Textures.MISSING) {
+ try {
+ return Textures.fromMap(sessionService.getTextures(profile, false), false);
+ } catch (Throwable t) {
+ return Textures.MISSING;
+ }
+ }
+
+ return texture;
+ }
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilMinecraftSessionServiceMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilMinecraftSessionServiceMixin.java
new file mode 100644
index 00000000..f0a0c768
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilMinecraftSessionServiceMixin.java
@@ -0,0 +1,20 @@
+package me.xmrvizzy.skyblocker.mixin;
+
+import org.slf4j.Logger;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+
+import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
+import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
+import com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService;
+
+import me.xmrvizzy.skyblocker.utils.Utils;
+
+@Mixin(value = YggdrasilMinecraftSessionService.class, remap = false)
+public class YggdrasilMinecraftSessionServiceMixin {
+
+ @WrapOperation(method = "getSecurePropertyValue", remap = false, at = @At(value = "INVOKE", target = "Lorg/slf4j/Logger;error(Ljava/lang/String;Ljava/lang/Object;)V", remap = false))
+ private void skyblocker$dontLogMissingSignaturesOrTamperedProperties(Logger logger, String message, Object property, Operation<Void> operation) {
+ if (!Utils.isOnHypixel()) operation.call(logger, message, property);
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java
index d9668100..9abca5ad 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/YggdrasilServicesKeyInfoMixin.java
@@ -51,4 +51,9 @@ public class YggdrasilServicesKeyInfoMixin {
throw e;
}
}
+
+ @WrapOperation(method = "validateProperty", remap = false, at = @At(value = "INVOKE", target = "org/slf4j/Logger.error(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", remap = false))
+ private void skyblocker$dontLogFailedSignatureValidation(Logger logger, String message, Object property, Object exception, Operation<Void> operation) {
+ if (!Utils.isOnHypixel()) operation.call(logger, message, property, exception);
+ }
} \ No newline at end of file
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 f0ae1590..d4fe812b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
@@ -21,7 +21,7 @@ public class DungeonMapConfigScreen extends Screen {
@Override
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
super.render(context, mouseX, mouseY, delta);
- renderBackground(context);
+ renderBackground(context, mouseX, mouseY, delta);
DungeonMap.renderHUDMap(context, hudX, hudY);
context.drawCenteredTextWithShadow(textRenderer, "Right Click To Reset Position", width >> 1, height >> 1, Color.GRAY.getRGB());
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java
index 13789fe1..91de7a1d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java
@@ -2,7 +2,7 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.block.Block;
-import net.minecraft.block.enums.WallMountLocation;
+import net.minecraft.block.enums.BlockFace;
import net.minecraft.util.math.Direction;
import net.minecraft.util.shape.VoxelShape;
@@ -13,13 +13,13 @@ public class OldLever {
protected static final VoxelShape EAST_SHAPE = Block.createCuboidShape(0.0D, 3.0D, 5.0D, 6.0D, 13.0D, 11.0D);
protected static final VoxelShape WEST_SHAPE = Block.createCuboidShape(10.0D, 3.0D, 5.0D, 16.0D, 13.0D, 11.0D);
- public static VoxelShape getShape(WallMountLocation wallMountLocation, Direction direction) {
+ public static VoxelShape getShape(BlockFace face, Direction direction) {
if (!SkyblockerConfig.get().general.hitbox.oldLeverHitbox)
return null;
- if (wallMountLocation == WallMountLocation.FLOOR) {
+ if (face == BlockFace.FLOOR) {
return FLOOR_SHAPE;
- } else if (wallMountLocation == WallMountLocation.WALL) {
+ } else if (face == BlockFace.WALL) {
switch (direction) {
case EAST -> {
return EAST_SHAPE;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java
index b56b2827..04cde662 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonMapUtils.java
@@ -44,8 +44,8 @@ public class DungeonMapUtils {
@Nullable
private static Vector2i getMapPlayerPos(MapState map) {
for (MapIcon icon : map.getIcons()) {
- if (icon.getType() == MapIcon.Type.FRAME) {
- return new Vector2i((icon.getX() >> 1) + 64, (icon.getZ() >> 1) + 64);
+ if (icon.type() == MapIcon.Type.FRAME) {
+ return new Vector2i((icon.x() >> 1) + 64, (icon.z() >> 1) + 64);
}
}
return null;
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 35a296fb..cde1b236 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
@@ -27,7 +27,7 @@ public class DwarvenHudConfigScreen extends Screen {
@Override
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
super.render(context, mouseX, mouseY, delta);
- renderBackground(context);
+ renderBackground(context, mouseX, mouseY, delta);
DwarvenHud.render(HudCommsWidget.INSTANCE_CFG, 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());
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/BackpackPreview.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/BackpackPreview.java
index dc8f77cd..f8af5d33 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/BackpackPreview.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/BackpackPreview.java
@@ -53,7 +53,7 @@ public class BackpackPreview {
// save all dirty storages
saveStorage();
// update save dir based on uuid and sb profile
- String uuid = MinecraftClient.getInstance().getSession().getUuid().replaceAll("-", "");
+ String uuid = MinecraftClient.getInstance().getSession().getUuidOrNull().toString().replaceAll("-", "");
String profile = Utils.getProfile();
if (profile != null && !profile.isEmpty()) {
save_dir = FabricLoader.getInstance().getConfigDir().resolve("skyblocker/backpack-preview/" + uuid + "/" + profile);
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 feb7f30b..38060584 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java
@@ -5,6 +5,7 @@ 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.screen.ButtonTextures;
import net.minecraft.client.gui.widget.ToggleButtonWidget;
import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
@@ -20,7 +21,8 @@ import java.util.regex.Pattern;
import org.jetbrains.annotations.Nullable;
public class SearchResultsWidget implements Drawable {
- private static final Identifier TEXTURE = new Identifier("textures/gui/recipe_book.png");
+ private static final ButtonTextures PAGE_FORWARD_TEXTURES = new ButtonTextures(new Identifier("recipe_book/page_forward"), new Identifier("recipe_book/page_forward_highlighted"));
+ private static final ButtonTextures PAGE_BACKWARD_TEXTURES = new ButtonTextures(new Identifier("recipe_book/page_backward"), new Identifier("recipe_book/page_backward_highlighted"));
private static final int COLS = 5;
private static final int MAX_TEXT_WIDTH = 124;
private static final String ELLIPSIS = "...";
@@ -54,9 +56,9 @@ public class SearchResultsWidget implements Drawable {
resultButtons.add(new ResultButtonWidget(x, y));
}
this.nextPageButton = new ToggleButtonWidget(parentX + 93, parentY + 137, 12, 17, false);
- this.nextPageButton.setTextureUV(1, 208, 13, 18, TEXTURE);
+ this.nextPageButton.setTextures(PAGE_FORWARD_TEXTURES);
this.prevPageButton = new ToggleButtonWidget(parentX + 38, parentY + 137, 12, 17, true);
- this.prevPageButton.setTextureUV(1, 208, 13, 18, TEXTURE);
+ this.prevPageButton.setTextures(PAGE_BACKWARD_TEXTURES);
}
public void closeRecipeView() {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
index 1bd31653..11f879b9 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java
@@ -7,6 +7,7 @@ import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.scoreboard.Scoreboard;
+import net.minecraft.scoreboard.ScoreboardDisplaySlot;
import net.minecraft.scoreboard.ScoreboardObjective;
import net.minecraft.scoreboard.ScoreboardPlayerScore;
import net.minecraft.scoreboard.Team;
@@ -40,7 +41,7 @@ public class EffigyWaypoints {
ClientPlayerEntity player = MinecraftClient.getInstance().player;
if (player == null) return;
Scoreboard scoreboard = player.getScoreboard();
- ScoreboardObjective objective = scoreboard.getObjectiveForSlot(1);
+ ScoreboardObjective objective = scoreboard.getObjectiveForSlot(ScoreboardDisplaySlot.FROM_ID.apply(1));
for (ScoreboardPlayerScore score : scoreboard.getAllPlayerScores(objective)) {
Team team = scoreboard.getPlayerTeam(score.getPlayerName());
if (team != null) {
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 9f60ed34..4318a77d 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
@@ -24,7 +24,7 @@ public class PlayerComponent extends Component {
Team team = ple.getScoreboardTeam();
String username = ple.getProfile().getName();
name = (team != null && !plainNames) ? Text.empty().append(team.getPrefix()).append(Text.literal(username).formatted(team.getColor())).append(team.getSuffix()) : Text.of(username);
- tex = ple.getSkinTexture();
+ tex = ple.getSkinTextures().texture();
this.width = SKIN_ICO_DIM + PAD_S + txtRend.getWidth(name);
this.height = txtRend.fontHeight;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Boxes.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Boxes.java
index 17874c9c..977d013c 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Boxes.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Boxes.java
@@ -17,7 +17,7 @@ public class Boxes {
/** Returns the vector of the side lengths of this box. **/
public static Vec3d getLengthVec(Box box) {
- return new Vec3d(box.getXLength(), box.getYLength(), box.getZLength());
+ return new Vec3d(box.getLengthX(), box.getLengthY(), box.getLengthZ());
}
/** Offsets this box so that minX, minY and minZ are all zero. **/
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/SlayerUtils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/SlayerUtils.java
index 6bc09456..216dc7e9 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/SlayerUtils.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/SlayerUtils.java
@@ -5,6 +5,7 @@ import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.entity.Entity;
import net.minecraft.entity.decoration.ArmorStandEntity;
import net.minecraft.scoreboard.Scoreboard;
+import net.minecraft.scoreboard.ScoreboardDisplaySlot;
import net.minecraft.scoreboard.ScoreboardObjective;
import net.minecraft.scoreboard.ScoreboardPlayerScore;
import net.minecraft.scoreboard.Team;
@@ -48,7 +49,7 @@ public class SlayerUtils {
ClientPlayerEntity client = MinecraftClient.getInstance().player;
if (client == null) return false;
Scoreboard scoreboard = MinecraftClient.getInstance().player.getScoreboard();
- ScoreboardObjective objective = scoreboard.getObjectiveForSlot(1);
+ ScoreboardObjective objective = scoreboard.getObjectiveForSlot(ScoreboardDisplaySlot.FROM_ID.apply(1));
for (ScoreboardPlayerScore score : scoreboard.getAllPlayerScores(objective)) {
Team team = scoreboard.getPlayerTeam(score.getPlayerName());
if (team != null) {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
index 755e191d..b0fb6edf 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/Utils.java
@@ -15,6 +15,7 @@ import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.network.PlayerListEntry;
import net.minecraft.scoreboard.Scoreboard;
+import net.minecraft.scoreboard.ScoreboardDisplaySlot;
import net.minecraft.scoreboard.ScoreboardObjective;
import net.minecraft.scoreboard.ScoreboardPlayerScore;
import net.minecraft.scoreboard.Team;
@@ -167,7 +168,7 @@ public class Utils {
private static boolean isConnectedToHypixel(MinecraftClient client) {
String serverAddress = (client.getCurrentServerEntry() != null) ? client.getCurrentServerEntry().address.toLowerCase() : "";
- String serverBrand = (client.player != null && client.player.getServerBrand() != null) ? client.player.getServerBrand() : "";
+ String serverBrand = (client.player != null && client.player.networkHandler != null && client.player.networkHandler.getBrand() != null) ? client.player.networkHandler.getBrand() : "";
return serverAddress.equalsIgnoreCase(ALTERNATE_HYPIXEL_ADDRESS) || serverAddress.contains("hypixel.net") || serverAddress.contains("hypixel.io") || serverBrand.contains("Hypixel BungeeCord");
}
@@ -244,7 +245,7 @@ public class Utils {
ClientPlayerEntity client = MinecraftClient.getInstance().player;
if (client == null) return Collections.emptyList();
Scoreboard scoreboard = MinecraftClient.getInstance().player.getScoreboard();
- ScoreboardObjective objective = scoreboard.getObjectiveForSlot(1);
+ ScoreboardObjective objective = scoreboard.getObjectiveForSlot(ScoreboardDisplaySlot.FROM_ID.apply(1));
List<String> lines = new ArrayList<>();
for (ScoreboardPlayerScore score : scoreboard.getAllPlayerScores(objective)) {
Team team = scoreboard.getPlayerTeam(score.getPlayerName());
@@ -323,10 +324,10 @@ public class Utils {
if (locRaw.has("map")) {
map = locRaw.get("map").getAsString();
}
-
+
boolean shouldFilter = !sentLocRaw;
sentLocRaw = false;
-
+
return shouldFilter;
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java
index 8d31e2ea..29f87961 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java
@@ -28,7 +28,7 @@ public class TitleContainerConfigScreen extends Screen {
@Override
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
super.render(context, mouseX, mouseY, delta);
- renderBackground(context);
+ renderBackground(context, mouseX, mouseY, delta);
TitleContainer.render(context, Set.of(example1, example2, example3), (int) hudX, (int) hudY, delta);
SkyblockerConfig.Direction direction = SkyblockerConfig.get().general.titleContainer.direction;
SkyblockerConfig.Alignment alignment = SkyblockerConfig.get().general.titleContainer.alignment;
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json
index 963f3684..888e3374 100644
--- a/src/main/resources/fabric.mod.json
+++ b/src/main/resources/fabric.mod.json
@@ -34,11 +34,12 @@
"mixins": [
"skyblocker.mixins.json"
],
+ "accesswidener": "skyblocker.accesswidener",
"depends": {
- "fabricloader": ">=0.14.21",
- "fabric-api": ">=0.86.0",
+ "fabricloader": ">=0.14.22",
+ "fabric-api": ">=0.89.1+1.20.2",
"cloth-config2": "*",
- "minecraft": "~1.20"
+ "minecraft": "~1.20.2"
},
"conflicts": {
"immediatelyfast": "<=1.1.26+1.20.1"
diff --git a/src/main/resources/skyblocker.accesswidener b/src/main/resources/skyblocker.accesswidener
new file mode 100644
index 00000000..7cf4250e
--- /dev/null
+++ b/src/main/resources/skyblocker.accesswidener
@@ -0,0 +1,3 @@
+accessWidener v2 named
+
+accessible class net/minecraft/client/texture/PlayerSkinProvider$Textures \ No newline at end of file
diff --git a/src/main/resources/skyblocker.mixins.json b/src/main/resources/skyblocker.mixins.json
index 537f07d3..a4fe92dd 100644
--- a/src/main/resources/skyblocker.mixins.json
+++ b/src/main/resources/skyblocker.mixins.json
@@ -24,6 +24,7 @@
"ScoreboardMixin",
"SocialInteractionsPlayerListWidgetMixin",
"WorldRendererMixin",
+ "YggdrasilMinecraftSessionServiceMixin",
"YggdrasilServicesKeyInfoMixin",
"accessor.BeaconBlockEntityRendererInvoker",
"accessor.FrustumInvoker",