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/BackpackPreview.java12
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java28
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/api/records/mining/Mining.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java12
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java23
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java6
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java7
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java8
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java3
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java26
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java5
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java12
19 files changed, 74 insertions, 86 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java
index 29b8dd79..d8cca051 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java
@@ -48,7 +48,7 @@ public class BackpackPreview extends DrawableHelper {
// update save dir based on uuid and sb profile
String uuid = MinecraftClient.getInstance().getSession().getUuid().replaceAll("-", "");
String profile = getSkyblockProfile();
- if (uuid != null && profile != null) {
+ if (profile != null) {
save_dir = FabricLoader.getInstance().getConfigDir().resolve("skyblocker/backpack-preview/" + uuid + "/" + profile);
save_dir.toFile().mkdirs();
if (loaded.equals(uuid + "/" + profile)) {
@@ -121,7 +121,7 @@ public class BackpackPreview extends DrawableHelper {
String title = screen.getTitle().getString();
int index = getStorageIndexFromTitle(title);
if (index != -1) {
- storage[index] = ((HandledScreen<?>) screen).getScreenHandler().slots.get(0).inventory;
+ storage[index] = screen.getScreenHandler().slots.get(0).inventory;
dirty[index] = true;
}
}
@@ -140,10 +140,10 @@ public class BackpackPreview extends DrawableHelper {
RenderSystem.disableDepthTest();
RenderSystem.setShaderTexture(0, TEXTURE);
- instance.drawTexture(matrices, x, y, 0, 0, 176, 7);
+ BackpackPreview.drawTexture(matrices, x, y, 0, 0, 176, 7);
for (int i = 0; i < rows; ++i)
- instance.drawTexture(matrices, x, y + i * 18 + 7, 0, 7, 176, 18);
- instance.drawTexture(matrices, x, y + rows * 18 + 7, 0, 25, 176, 7);
+ BackpackPreview.drawTexture(matrices, x, y + i * 18 + 7, 0, 7, 176, 18);
+ BackpackPreview.drawTexture(matrices, x, y + rows * 18 + 7, 0, 25, 176, 7);
RenderSystem.enableDepthTest();
ItemRenderer itemRenderer = MinecraftClient.getInstance().getItemRenderer();
@@ -184,7 +184,7 @@ public class BackpackPreview extends DrawableHelper {
}
class DummyInventory implements Inventory {
- private List<ItemStack> stacks;
+ private final List<ItemStack> stacks;
public DummyInventory(NbtCompound root) {
stacks = new ArrayList<>(root.getInt("size") + 9);
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
index 15a45e2e..05b57410 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
@@ -6,7 +6,6 @@ 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.network.ClientPlayerEntity;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Identifier;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java
index 679901cd..dec2835b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/ApiKeyListener.java
@@ -6,7 +6,7 @@ import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
-import net.minecraft.text.TranslatableTextContent;
+
import java.util.regex.Matcher;
public class ApiKeyListener extends ChatPatternListener {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java
index 4cf6c84d..3e848925 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/StatsCommand.java
@@ -11,21 +11,19 @@ import net.minecraft.text.Text;
public class StatsCommand {
public static void init(){
- ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
- dispatcher.register(ClientCommandManager.literal("skyblocker")
- .then(ClientCommandManager.literal("debug")
- .then(ClientCommandManager.literal("stats").then(ClientCommandManager.argument("username", StringArgumentType.string())
- .executes(context -> {
- new Thread(() -> {
- PlayerProfiles playerProfiles = ProfileUtils.getProfiles(StringArgumentType.getString(context, "username"));
- for (String profileId : playerProfiles.profiles().keySet()){
- MinecraftClient.getInstance().player.sendMessage(Text.literal(playerProfiles.profiles().get(profileId).cuteName())
- .styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, new GsonBuilder().serializeNulls().setPrettyPrinting().create().toJson(playerProfiles.profiles().get(profileId))))), false);
- }
- }).start();
- return 1;
- })))));
- });
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("skyblocker")
+ .then(ClientCommandManager.literal("debug")
+ .then(ClientCommandManager.literal("stats").then(ClientCommandManager.argument("username", StringArgumentType.string())
+ .executes(context -> {
+ new Thread(() -> {
+ PlayerProfiles playerProfiles = ProfileUtils.getProfiles(StringArgumentType.getString(context, "username"));
+ for (String profileId : playerProfiles.profiles().keySet()){
+ MinecraftClient.getInstance().player.sendMessage(Text.literal(playerProfiles.profiles().get(profileId).cuteName())
+ .styled(style -> style.withClickEvent(new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, new GsonBuilder().serializeNulls().setPrettyPrinting().create().toJson(playerProfiles.profiles().get(profileId))))), false);
+ }
+ }).start();
+ return 1;
+ }))))));
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/records/mining/Mining.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/records/mining/Mining.java
index d974f5c6..d6f52fe4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/records/mining/Mining.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/api/records/mining/Mining.java
@@ -1,10 +1,5 @@
package me.xmrvizzy.skyblocker.skyblock.api.records.mining;
-import com.google.gson.annotations.SerializedName;
-import me.xmrvizzy.skyblocker.skyblock.api.records.PlayerProfiles;
-
-import java.util.HashMap;
-
public record Mining(
Commissions commissions,
Forge forge,
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 c836e4f3..37320c92 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java
@@ -21,14 +21,18 @@ public class OldLever {
return FLOOR_SHAPE;
} else if (wallMountLocation == WallMountLocation.WALL) {
switch (direction) {
- case EAST:
+ case EAST -> {
return EAST_SHAPE;
- case WEST:
+ }
+ case WEST -> {
return WEST_SHAPE;
- case SOUTH:
+ }
+ case SOUTH -> {
return SOUTH_SHAPE;
- case NORTH:
+ }
+ case NORTH -> {
return NORTH_SHAPE;
+ }
}
}
return null;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
index 19f13c32..42fcc36a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java
@@ -1,8 +1,5 @@
package me.xmrvizzy.skyblocker.skyblock.dungeon;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.chat.ChatFilterResult;
import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
@@ -13,6 +10,9 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.text.Text;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
public class Reparty extends ChatPatternListener {
private static final MinecraftClient client = MinecraftClient.getInstance();
private static final SkyblockerMod skyblocker = SkyblockerMod.getInstance();
@@ -26,17 +26,12 @@ public class Reparty extends ChatPatternListener {
public Reparty() {
super("^(?:You are not currently in a party\\.|Party (?:Membe|Moderato)rs(?: \\(([0-9]+)\\)|:( .*)))$");
this.repartying = false;
- ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
- dispatcher.register(ClientCommandManager.literal("rp").executes(context -> {
- if (!Utils.isOnSkyblock || this.repartying || client.player == null) return 0;
- this.repartying = true;
- client.player.networkHandler.sendCommand("p list");
- return 0;
- }));
- });
-
-
-
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal("rp").executes(context -> {
+ if (!Utils.isOnSkyblock || this.repartying || client.player == null) return 0;
+ this.repartying = true;
+ client.player.networkHandler.sendCommand("p list");
+ return 0;
+ })));
}
@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 6d4bf812..86fe58fe 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java
@@ -20,7 +20,7 @@ import java.util.stream.Stream;
public class DwarvenHud {
- public static MinecraftClient client = MinecraftClient.getInstance();
+ public static final MinecraftClient client = MinecraftClient.getInstance();
public static List<Commission> commissionList = new ArrayList<>();
@@ -84,8 +84,8 @@ public class DwarvenHud {
}
public static class Commission{
- String commission;
- String progression;
+ final String commission;
+ final String progression;
public Commission(String commission, String progression){
this.commission = commission;
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java
index 6382fe9c..4c2ac002 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java
@@ -5,7 +5,7 @@ import me.xmrvizzy.skyblocker.chat.ChatPatternListener;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
-import net.minecraft.text.TranslatableTextContent;
+
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
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 dfc498a1..8d8c86b4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java
@@ -9,10 +9,8 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
-import net.minecraft.text.LiteralTextContent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
-import net.minecraft.text.TranslatableTextContent;
import net.minecraft.util.Formatting;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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 afaf487f..82c9fdf4 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
@@ -24,7 +24,7 @@ import java.net.URLConnection;
public class WikiLookup {
public static KeyBinding wikiLookup;
- static MinecraftClient client = MinecraftClient.getInstance();
+ static final MinecraftClient client = MinecraftClient.getInstance();
static String id;
public static Gson gson = new Gson();
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java
index 249fba9f..d8ad3a89 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemFixerUpper.java
@@ -3,7 +3,6 @@ package me.xmrvizzy.skyblocker.skyblock.itemlist;
import net.minecraft.item.Items;
// import net.minecraft.registry.Registry;
import net.minecraft.registry.Registries;
-import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import java.util.Map;
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 ce567b67..99a06337 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
@@ -7,6 +7,7 @@ import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
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;
@@ -54,7 +55,7 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select
this.searchField = ((RecipeBookWidgetAccessor)this).getSearchField();
int i = (this.parentWidth - 147) / 2 - this.leftOffset;
int j = (this.parentHeight - 166) / 2;
- this.drawTexture(matrices, i, j, 1, 1, 147, 166);
+ DrawableHelper.drawTexture(matrices, i, j, 1, 1, 147, 166);
this.searchField = ((RecipeBookWidgetAccessor)this).getSearchField();
if (!this.searchField.isFocused() && this.searchField.getText().isEmpty()) {
Text hintText = (Text.translatable("gui.recipebook.search_hint")).formatted(Formatting.ITALIC).formatted(Formatting.GRAY);
@@ -84,8 +85,6 @@ public class ItemListWidget extends RecipeBookWidget implements Drawable, Select
this.results.closeRecipeView();
return true;
}
- if (this.results.mouseClicked(mouseX, mouseY, button))
- return true;
- return false;
+ return this.results.mouseClicked(mouseX, mouseY, button);
}
} \ No newline at end of file
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java
index 17e9aebc..008ff191 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java
@@ -21,9 +21,9 @@ public class ItemRegistry {
private static final Path ITEM_LIST_DIR = LOCAL_ITEM_REPO_DIR.resolve("items");
- protected static List<ItemStack> items = new ArrayList<>();
- protected static Map<String, ItemStack> itemsMap = new HashMap<>();
- protected static List<Recipe> recipes = new ArrayList<>();
+ protected static final List<ItemStack> items = new ArrayList<>();
+ protected static final Map<String, ItemStack> itemsMap = new HashMap<>();
+ protected static final List<Recipe> recipes = new ArrayList<>();
// TODO: make async
public static void init() {
@@ -113,7 +113,7 @@ public class ItemRegistry {
class Recipe {
private static final Logger LOGGER = LoggerFactory.getLogger(Recipe.class);
String text = "";
- List<ItemStack> grid = new ArrayList<>(9);
+ final List<ItemStack> grid = new ArrayList<>(9);
ItemStack result;
public static Recipe fromJsonObject(JsonObject jsonObj) {
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java
index fbbd49d7..b2d909a8 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemStackBuilder.java
@@ -30,8 +30,7 @@ public class ItemStackBuilder {
public static ItemStack parseJsonObj(JsonObject obj) {
String internalName = obj.get("internalname").getAsString();
- List<Pair<String, String>> injectors = new ArrayList<>();
- injectors.addAll(petData(internalName));
+ List<Pair<String, String>> injectors = new ArrayList<>(petData(internalName));
NbtCompound root = new NbtCompound();
root.put("Count", NbtByte.of((byte)1));
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 3d6409ef..41e5469d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ResultButtonWidget.java
@@ -5,6 +5,7 @@ import java.util.List;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
import net.minecraft.client.gui.widget.ClickableWidget;
import net.minecraft.client.render.GameRenderer;
@@ -40,7 +41,7 @@ public class ResultButtonWidget extends ClickableWidget {
RenderSystem.setShader(GameRenderer::getPositionTexProgram);
RenderSystem.setShaderTexture(0, BACKGROUND_TEXTURE);
// this.drawTexture(matrices, this.x, this.y, 29, 206, this.width, this.height);
- this.drawTexture(matrices, this.getX(), this.getY(), 29, 206, this.getWidth(), this.getHeight());
+ DrawableHelper.drawTexture(matrices, 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);
// client.getItemRenderer().renderGuiItemOverlay(client.textRenderer, itemStack, this.x + 4, this.y + 4);
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 d006649b..64ba237d 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchResultsWidget.java
@@ -15,19 +15,18 @@ import java.util.Locale;
public class SearchResultsWidget implements Drawable {
private static final Identifier TEXTURE = new Identifier("textures/gui/recipe_book.png");
+ private static final int COLS = 5;
private final MinecraftClient client;
private final int parentX;
private final int parentY;
- private final int rows = 4;
- private final int cols = 5;
private final List<ItemStack> searchResults = new ArrayList<>();
private List<Recipe> recipeResults = new ArrayList<>();
private String searchText = null;
- private List<ResultButtonWidget> resultButtons = new ArrayList<>();
- private ToggleButtonWidget nextPageButton;
- private ToggleButtonWidget prevPageButton;
+ private final List<ResultButtonWidget> resultButtons = new ArrayList<>();
+ private final ToggleButtonWidget nextPageButton;
+ private final ToggleButtonWidget prevPageButton;
private int currentPage = 0;
private int pageCount = 0;
private boolean displayRecipes = false;
@@ -38,8 +37,9 @@ public class SearchResultsWidget implements Drawable {
this.parentY = parentY;
int gridX = parentX + 11;
int gridY = parentY + 31;
- for (int i = 0; i < this.rows; ++i)
- for (int j = 0; j < this.cols; ++j) {
+ int rows = 4;
+ for (int i = 0; i < rows; ++i)
+ for (int j = 0; j < COLS; ++j) {
int x = gridX + j * 25;
int y = gridY + i * 25;
resultButtons.add(new ResultButtonWidget(x, y));
@@ -63,6 +63,9 @@ public class SearchResultsWidget implements Drawable {
this.searchResults.clear();
for (ItemStack entry : ItemRegistry.items) {
String name = entry.getName().toString().toLowerCase(Locale.ENGLISH);
+ if (entry.getNbt() == null) {
+ continue;
+ }
String disp = entry.getNbt().getCompound("display").toString().toLowerCase(Locale.ENGLISH);
if (name.contains(this.searchText) || disp.contains(this.searchText))
this.searchResults.add(entry);
@@ -79,9 +82,9 @@ public class SearchResultsWidget implements Drawable {
Recipe recipe = this.recipeResults.get(this.currentPage);
for (ResultButtonWidget button : resultButtons)
button.clearItemStack();
- resultButtons.get( 5).setItemStack(recipe.grid.get(0));
- resultButtons.get( 6).setItemStack(recipe.grid.get(1));
- resultButtons.get( 7).setItemStack(recipe.grid.get(2));
+ resultButtons.get(5).setItemStack(recipe.grid.get(0));
+ resultButtons.get(6).setItemStack(recipe.grid.get(1));
+ resultButtons.get(7).setItemStack(recipe.grid.get(2));
resultButtons.get(10).setItemStack(recipe.grid.get(3));
resultButtons.get(11).setItemStack(recipe.grid.get(4));
resultButtons.get(12).setItemStack(recipe.grid.get(5));
@@ -135,6 +138,9 @@ public class SearchResultsWidget implements Drawable {
public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) {
for (ResultButtonWidget button : resultButtons)
if (button.mouseClicked(mouseX, mouseY, mouseButton)) {
+ if (button.itemStack.getNbt() == null) {
+ continue;
+ }
String internalName = button.itemStack.getNbt().getCompound("ExtraAttributes").getString("id");
List<Recipe> recipes = ItemRegistry.getRecipes(internalName);
if (!recipes.isEmpty()) {
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 85ebd3a6..8483f88b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java
@@ -1,20 +1,15 @@
package me.xmrvizzy.skyblocker.skyblock.quicknav;
-import java.util.ArrayList;
-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=\"}]}}}}";
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 ef0f2d06..e31827ab 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNavButton.java
@@ -6,6 +6,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.screen.Screen;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
@@ -20,7 +21,7 @@ public class QuickNavButton extends ClickableWidget {
private static final MinecraftClient CLIENT = MinecraftClient.getInstance();
private static final Identifier BUTTON_TEXTURE = new Identifier("textures/gui/container/creative_inventory/tabs.png");
- private int index;
+ private final int index;
private boolean toggled;
private int u;
private int v;
@@ -37,8 +38,7 @@ public class QuickNavButton extends ClickableWidget {
private void updateCoordinates() {
Screen screen = MinecraftClient.getInstance().currentScreen;
- if (screen instanceof HandledScreen<?>) {
- HandledScreen<?> handledScreen = (HandledScreen<?>) screen;
+ if (screen instanceof HandledScreen<?> handledScreen) {
int x = ((HandledScreenAccessor)handledScreen).getX();
int y = ((HandledScreenAccessor)handledScreen).getY();
int w = ((HandledScreenAccessor)handledScreen).getBackgroundWidth();
@@ -71,16 +71,16 @@ public class QuickNavButton extends ClickableWidget {
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);
- this.drawTexture(matrices, this.getX(), this.getY() + 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);
else
// this.drawTexture(matrices, this.x, this.y, this.u, this.v, this.width, this.height - 4);
- this.drawTexture(matrices, this.getX(), this.getY() - 2, 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);
// } 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);
- this.drawTexture(matrices, this.getX(), this.getY(), this.u, this.v, this.width, this.height);
+ DrawableHelper.drawTexture(matrices, this.getX(), this.getY(), this.u, this.v, this.width, this.height);
matrices.pop();
}
// render button icon