aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-04-03 16:51:10 -0400
committerAaron <51387595+AzureAaron@users.noreply.github.com>2024-04-26 16:23:20 -0400
commit87fec063614292700954ce5fa3c73de075b56b58 (patch)
tree8a2e5e9043f3cf544aad04acd13f0cbc161a89f2 /src/main/java/de/hysky/skyblocker/skyblock
parent9305b5cb8bc483e4d4585fed46ef697cda76e033 (diff)
downloadSkyblocker-87fec063614292700954ce5fa3c73de075b56b58.tar.gz
Skyblocker-87fec063614292700954ce5fa3c73de075b56b58.tar.bz2
Skyblocker-87fec063614292700954ce5fa3c73de075b56b58.zip
24w14a & Java 21
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/FinderSettingsContainer.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/PlayerHeadHashCache.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java4
6 files changed, 16 insertions, 16 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java b/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java
index 5cdca216..c34c853b 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java
@@ -7,6 +7,7 @@ import de.hysky.skyblocker.mixin.accessor.HandledScreenAccessor;
import de.hysky.skyblocker.mixin.accessor.ScreenAccessor;
import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip;
import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType;
+import de.hysky.skyblocker.utils.ItemUtils;
import de.hysky.skyblocker.utils.Utils;
import it.unimi.dsi.fastutil.longs.LongBooleanPair;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
@@ -15,7 +16,6 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
import net.minecraft.client.gui.tooltip.Tooltip;
import net.minecraft.client.gui.widget.ButtonWidget;
-import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.ItemStack;
import net.minecraft.screen.GenericContainerScreenHandler;
import net.minecraft.screen.slot.Slot;
@@ -206,7 +206,7 @@ public class ChestValue {
* Searches for a specific string of characters in the name and lore of an item
*/
private static String searchLoreFor(ItemStack stack, MinecraftClient client, String searchString) {
- return stack.getTooltip(client.player, TooltipContext.BASIC).stream().map(Text::getString).filter(line -> line.contains(searchString)).findAny().orElse(null);
+ return ItemUtils.getLoreLineIf(stack, line -> line.contains(searchString));
}
static Text getProfitText(long profit, boolean hasIncompleteData) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/FinderSettingsContainer.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/FinderSettingsContainer.java
index 0a048775..70902a17 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/FinderSettingsContainer.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/FinderSettingsContainer.java
@@ -5,7 +5,6 @@ import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.Element;
import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
import net.minecraft.client.gui.widget.ContainerWidget;
-import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.screen.GenericContainerScreenHandler;
@@ -15,6 +14,8 @@ import net.minecraft.text.Text;
import java.util.ArrayList;
import java.util.List;
+import de.hysky.skyblocker.utils.ItemUtils;
+
public class FinderSettingsContainer extends ContainerWidget {
private boolean isInitialized = false;
private OptionDropdownWidget floorSelector;
@@ -161,7 +162,7 @@ public class FinderSettingsContainer extends ContainerWidget {
* @return true if all goes well
*/
private boolean setRangeFromTooltip(ItemStack stack, RangedValueWidget widget) {
- for (Text text : stack.getTooltip(null, TooltipContext.BASIC)) {
+ for (Text text : ItemUtils.getLore(stack)) {
String textLowerCase = text.getString().toLowerCase();
if (textLowerCase.contains("selected:")) {
String[] split = text.getString().split(":");
@@ -186,7 +187,7 @@ public class FinderSettingsContainer extends ContainerWidget {
* @return true if all goes well
*/
private boolean setSelectedElementFromTooltip(Slot slot, ItemStack stack, OptionDropdownWidget dropdownWidget) {
- for (Text text : stack.getTooltip(null, TooltipContext.BASIC)) {
+ for (Text text : ItemUtils.getLore(stack)) {
String textLowerCase = text.getString().toLowerCase();
if (textLowerCase.contains("selected:")) {
String[] split = text.getString().split(":");
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java
index 3dc8cfd6..dd550b4f 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java
@@ -3,6 +3,7 @@ package de.hysky.skyblocker.skyblock.dungeon.partyfinder;
import com.mojang.authlib.properties.PropertyMap;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.mixin.accessor.SkullBlockEntityAccessor;
+import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
@@ -145,7 +146,7 @@ public class PartyEntry extends ElementListWidget.Entry<PartyEntry> {
if (matcher.find()) classLevel = Integer.parseInt(matcher.group(1));
Player player = new Player(playerName, className, classLevel);
- SkullBlockEntityAccessor.invokeFetchProfile(playerNameTrim).thenAccept(
+ SkullBlockEntityAccessor.invokeFetchProfileByName(playerNameTrim, Utils.getApiServices()).thenAccept(
gameProfile -> gameProfile.ifPresent(profile -> player.skinTexture = (client.getSkinProvider().getSkinTextures(profile).texture())));
if (playerNameTrim.equals(partyHost)) {
@@ -170,7 +171,7 @@ public class PartyEntry extends ElementListWidget.Entry<PartyEntry> {
partyLeader = new Player(Text.literal("Error"), "Error", -1);
}
- SkullBlockEntityAccessor.invokeFetchProfile(partyLeader.name.getString()).thenAccept(
+ SkullBlockEntityAccessor.invokeFetchProfileByName(partyLeader.name.getString(), Utils.getApiServices()).thenAccept(
gameProfile -> gameProfile.ifPresent(profile -> partyLeaderSkin = client.getSkinProvider().getSkinTextures(profile).texture()));
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java
index 98ab88c0..4ba68256 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java
@@ -13,7 +13,6 @@ import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
-import net.minecraft.client.item.TooltipContext;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.client.toast.SystemToast;
import net.minecraft.entity.player.PlayerInventory;
@@ -372,7 +371,7 @@ public class PartyFinderScreen extends Screen {
if (slot.id > (handler.getRows() - 1) * 9 - 1 || !slot.hasStack()) continue;
if (slot.getStack().isOf(Items.PLAYER_HEAD)) {
assert this.client != null;
- parties.add(new PartyEntry(slot.getStack().getTooltip(this.client.player, TooltipContext.BASIC), this, slot.id));
+ parties.add(new PartyEntry(ItemUtils.getLore(slot.getStack()), this, slot.id));
} else if (slot.getStack().isOf(Items.ARROW) && slot.getStack().getName().getString().toLowerCase().contains("previous")) {
prevPageSlotId = slot.id;
previousPageButton.active = true;
@@ -401,7 +400,7 @@ public class PartyFinderScreen extends Screen {
deListSlotId = slot.id;
} else if (slot.getStack().isOf(Items.PLAYER_HEAD)) {
assert this.client != null;
- tooltips = slot.getStack().getTooltip(this.client.player, TooltipContext.BASIC);
+ tooltips = ItemUtils.getLore(slot.getStack());
}
}
if (tooltips != null) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/PlayerHeadHashCache.java b/src/main/java/de/hysky/skyblocker/skyblock/item/PlayerHeadHashCache.java
index 2a1688fc..da832164 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/PlayerHeadHashCache.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/PlayerHeadHashCache.java
@@ -1,7 +1,6 @@
package de.hysky.skyblocker.skyblock.item;
-import java.net.MalformedURLException;
-import java.net.URL;
+import java.net.URI;
import java.util.Base64;
import java.util.concurrent.CompletableFuture;
@@ -50,8 +49,8 @@ public class PlayerHeadHashCache {
//From MinecraftProfileTexture#getHash
public static String getSkinHash(String url) {
try {
- return FilenameUtils.getBaseName(new URL(url).getPath());
- } catch (MalformedURLException e) {
+ return FilenameUtils.getBaseName(new URI(url).getPath());
+ } catch (Exception e) {
LOGGER.error("[Skyblocker Player Head Hash Cache] Malformed Skin URL! URL: {}", url, e);
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
index 855a4760..94153c01 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
@@ -12,7 +12,7 @@ import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.scheduler.Scheduler;
import it.unimi.dsi.fastutil.Pair;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.item.TooltipContext;
+import net.minecraft.client.item.TooltipType;
import net.minecraft.component.type.DyedColorComponent;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
@@ -34,7 +34,7 @@ public class ItemTooltip {
protected static final SkyblockerConfig.ItemTooltip config = SkyblockerConfigManager.get().general.itemTooltip;
private static volatile boolean sentNullWarning = false;
- public static void getTooltip(ItemStack stack, TooltipContext context, List<Text> lines) {
+ public static void getTooltip(ItemStack stack, TooltipType context, List<Text> lines) {
if (!Utils.isOnSkyblock() || client.player == null) return;
String name = getInternalNameFromNBT(stack, false);