aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java11
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java45
3 files changed, 46 insertions, 17 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java
index 9c681cb1..dfc498a1 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java
@@ -353,11 +353,18 @@ public class PriceInfoTooltip {
private static void downloadLowestPrices() {
JsonObject result = null;
try {
- URL apiAddr = new URL("https://skytils.gg/api/auctions/lowestbins");
+ URL apiAddr = new URL("https://lb.tricked.pro/lowestbins");
InputStreamReader reader = new InputStreamReader(apiAddr.openStream());
result = new Gson().fromJson(reader, JsonObject.class);
} catch (IOException e) {
- LOGGER.warn("[Skyblocker] Failed to download lowest BIN prices!", e);
+ LOGGER.warn("[Skyblocker] Failed to download lowest BIN prices from the main source!", e);
+ try {
+ URL apiAddr = new URL("https://lb2.tricked.pro/lowestbins");
+ InputStreamReader reader = new InputStreamReader(apiAddr.openStream());
+ result = new Gson().fromJson(reader, JsonObject.class);
+ } catch (IOException e2) {
+ LOGGER.warn("[Skyblocker] Failed to download lowest BIN prices from the backup source!", e2);
+ }
}
lowestPricesJson = result;
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
index ef2c3f8a..afaf487f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
@@ -47,8 +47,8 @@ public class WikiLookup {
return id;
}
- public static void openWiki(Slot slot){
- if (Utils.isOnSkyblock){
+ public static void openWiki(Slot slot) {
+ if (Utils.isOnSkyblock) {
id = getSkyblockId(slot);
try {
//Setting up a connection with the repo
@@ -65,6 +65,9 @@ public class WikiLookup {
} catch (IOException | NullPointerException e) {
e.printStackTrace();
client.player.sendMessage(Text.of("Can't locate a wiki article for this item..."), false);
+ } catch (IndexOutOfBoundsException | IllegalStateException e) {
+ e.printStackTrace();
+ client.player.sendMessage(Text.of("Error while retrieving wiki article..."), false);
}
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java
index 62f8c34d..85ebd3a6 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java
@@ -5,32 +5,51 @@ import java.util.List;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
+
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.nbt.StringNbtReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Objects;
+
public class QuickNav {
private static final String skyblockHubIconNbt = "{id:\"minecraft:player_head\",Count:1,tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}}";
private static final String dungeonHubIconNbt = "{id:\"minecraft:player_head\",Count:1,tag:{SkullOwner:{Id:[I;1605800870,415127827,-1236127084,15358548],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MWQ1YjI3M2ZmMGJjNTBjOTYwYjJjZDg2ZWVmMWM0MGExYjk0MDMyYWU3MWU3NTQ3NWE1NjhhODI1NzQyMSJ9fX0=\"}]}}}}";
public static List<QuickNavButton> init(String screenTitle) {
List<QuickNavButton> buttons = new ArrayList<>();
+ SkyblockerConfig.QuickNav data = SkyblockerConfig.get().quickNav;
try {
- buttons.add(new QuickNavButton(0, screenTitle.contains("Your Skills"), "skills", new ItemStack(Items.DIAMOND_SWORD)));
- buttons.add(new QuickNavButton(1, screenTitle.contains("Collection"), "collection", new ItemStack(Items.PAINTING)));
-
- buttons.add(new QuickNavButton(3, screenTitle.contains("Pets"), "pets", new ItemStack(Items.BONE)));
- buttons.add(new QuickNavButton(4, screenTitle.contains("Wardrobe"), "wardrobe", ItemStack.fromNbt(StringNbtReader.parse("{id:\"minecraft:leather_chestplate\", Count:1, tag:{display:{color:8991416}}}"))));
- buttons.add(new QuickNavButton(5, screenTitle.contains("Storage"), "storage", new ItemStack(Items.ENDER_CHEST)));
-
- buttons.add(new QuickNavButton(6, false, "warp hub", ItemStack.fromNbt(StringNbtReader.parse(skyblockHubIconNbt))));
- buttons.add(new QuickNavButton(7, false, "warp dungeon_hub", ItemStack.fromNbt(StringNbtReader.parse(dungeonHubIconNbt))));
-
- buttons.add(new QuickNavButton(9, screenTitle.contains("Enchant Item"), "etable", new ItemStack(Items.ENCHANTING_TABLE)));
- buttons.add(new QuickNavButton(10, screenTitle.contains("Anvil"), "anvil", new ItemStack(Items.ANVIL)));
- buttons.add(new QuickNavButton(11, screenTitle.contains("Craft Item"), "craft", new ItemStack(Items.CRAFTING_TABLE)));
+ if (data.button1.render) buttons.add(parseButton(data.button1, screenTitle, 0));
+ if (data.button2.render) buttons.add(parseButton(data.button2, screenTitle, 1));
+ if (data.button3.render) buttons.add(parseButton(data.button3, screenTitle, 2));
+ if (data.button4.render) buttons.add(parseButton(data.button4, screenTitle, 3));
+ if (data.button5.render) buttons.add(parseButton(data.button5, screenTitle, 4));
+ if (data.button6.render) buttons.add(parseButton(data.button6, screenTitle, 5));
+ if (data.button7.render) buttons.add(parseButton(data.button7, screenTitle, 6));
+ if (data.button8.render) buttons.add(parseButton(data.button8, screenTitle, 7));
+ if (data.button9.render) buttons.add(parseButton(data.button9, screenTitle, 8));
+ if (data.button10.render) buttons.add(parseButton(data.button10, screenTitle, 9));
+ if (data.button11.render) buttons.add(parseButton(data.button11, screenTitle, 10));
+ if (data.button12.render) buttons.add(parseButton(data.button12, screenTitle, 11));
} catch (CommandSyntaxException e) {
e.printStackTrace();
}
return buttons;
}
+
+ private static QuickNavButton parseButton(SkyblockerConfig.QuickNavItem buttonInfo, String screenTitle, int id) throws CommandSyntaxException {
+ SkyblockerConfig.ItemData itemData = buttonInfo.item;
+ String nbtString = "{id:\"minecraft:" + itemData.itemName.toLowerCase(Locale.ROOT) + "\",Count:1";
+ if (itemData.nbt.length() > 2) nbtString += "," + itemData.nbt;
+ nbtString += "}";
+ return new QuickNavButton(id,
+ screenTitle.contains(buttonInfo.uiTitle),
+ buttonInfo.clickEvent,
+ ItemStack.fromNbt(StringNbtReader.parse(nbtString))
+ );
+ }
}