aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/skyblock
diff options
context:
space:
mode:
authorSerhan <serhanduzce@gmail.com>2023-03-30 08:33:42 +0300
committerGitHub <noreply@github.com>2023-03-30 08:33:42 +0300
commit7f9e88b5122ea0db2bc0f569ccb6d0d59bc27d7d (patch)
tree6ca4a0b37c0c807307ec7b3e5dbb61232126f4b2 /src/main/java/me/xmrvizzy/skyblocker/skyblock
parentda7f2e8dc92f40764d71a1408dd5d4a9add7625f (diff)
parent3074075c1561163606f441f1a8f582b79082c311 (diff)
downloadSkyblocker-7f9e88b5122ea0db2bc0f569ccb6d0d59bc27d7d.tar.gz
Skyblocker-7f9e88b5122ea0db2bc0f569ccb6d0d59bc27d7d.tar.bz2
Skyblocker-7f9e88b5122ea0db2bc0f569ccb6d0d59bc27d7d.zip
Merge branch 'master' into minor-updates
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java61
-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/DwarvenHudConfigScreen.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.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.java3
-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.java7
-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.java20
19 files changed, 113 insertions, 104 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/BackpackPreview.java
index de4a25b6..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)) {
@@ -68,7 +68,7 @@ public class BackpackPreview extends DrawableHelper {
}
public static void loadStorage() {
- assert(save_dir != null);
+ assert (save_dir != null);
for (int index = 0; index < STORAGE_SIZE; ++index) {
storage[index] = null;
dirty[index] = false;
@@ -85,7 +85,7 @@ public class BackpackPreview extends DrawableHelper {
}
private static void saveStorage() {
- assert(save_dir != null);
+ assert (save_dir != null);
for (int index = 0; index < STORAGE_SIZE; ++index) {
if (dirty[index]) {
if (storage[index] != null) {
@@ -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();
@@ -151,10 +151,11 @@ public class BackpackPreview extends DrawableHelper {
for (int i = 9; i < storage[index].size(); ++i) {
int itemX = x + (i - 9) % 9 * 18 + 8;
int itemY = y + (i - 9) / 9 * 18 + 8;
- itemRenderer.zOffset = 200.0F;
- itemRenderer.renderInGui(storage[index].getStack(i), itemX, itemY);
- itemRenderer.renderGuiItemOverlay(textRenderer, storage[index].getStack(i), itemX, itemY);
- itemRenderer.zOffset = 0.0F;
+ 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);
+ matrices.pop();
}
return true;
@@ -183,40 +184,56 @@ 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);
for (int i = 0; i < 9; ++i) stacks.add(ItemStack.EMPTY);
root.getList("list", NbtCompound.COMPOUND_TYPE).forEach(item ->
- stacks.add(ItemStack.fromNbt((NbtCompound)item))
+ stacks.add(ItemStack.fromNbt((NbtCompound) item))
);
}
@Override
- public int size() { return stacks.size(); }
+ public int size() {
+ return stacks.size();
+ }
@Override
- public boolean isEmpty() { return false; }
+ public boolean isEmpty() {
+ return false;
+ }
@Override
- public ItemStack getStack(int slot) { return stacks.get(slot); }
+ public ItemStack getStack(int slot) {
+ return stacks.get(slot);
+ }
@Override
- public ItemStack removeStack(int slot, int amount) { return null; }
+ public ItemStack removeStack(int slot, int amount) {
+ return null;
+ }
@Override
- public ItemStack removeStack(int slot) { return null; }
+ public ItemStack removeStack(int slot) {
+ return null;
+ }
@Override
- public void setStack(int slot, ItemStack stack) { stacks.set(slot, stack); }
+ public void setStack(int slot, ItemStack stack) {
+ stacks.set(slot, stack);
+ }
@Override
- public void markDirty() {}
+ public void markDirty() {
+ }
@Override
- public boolean canPlayerUse(PlayerEntity player) { return false; }
+ public boolean canPlayerUse(PlayerEntity player) {
+ return false;
+ }
@Override
- public void clear() {}
+ public void clear() {
+ }
}
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/DwarvenHudConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
index 7dcb2b3b..2d0ba892 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
@@ -23,7 +23,7 @@ public class DwarvenHudConfigScreen extends Screen {
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%")));
- drawCenteredText(matrices, textRenderer, "Right Click To Reset Position", width / 2, height / 2, Color.GRAY.getRGB());
+ drawCenteredTextWithShadow(matrices, 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/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/WikiLookup.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
index 76b4e7c3..305720d0 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
@@ -18,7 +18,7 @@ import java.util.concurrent.CompletableFuture;
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 86fe580d..e99d6dac 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
@@ -6,6 +6,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;
@@ -55,7 +56,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 (!ItemRegistry.filesImported && !this.searchField.isFocused() && this.searchField.getText().isEmpty()) {
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 f0958514..ea7184cc 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java
@@ -26,9 +26,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<>();
protected static final MinecraftClient client = MinecraftClient.getInstance();
static boolean filesImported = false;
@@ -139,7 +139,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 6d0d89e1..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,11 +41,11 @@ 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(this.itemStack, this.getX() + 4, this.getY() + 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);
- client.getItemRenderer().renderGuiItemOverlay(client.textRenderer, itemStack, this.getX() + 4, this.getY() + 4);
+ client.getItemRenderer().renderGuiItemOverlay(matrices, client.textRenderer, itemStack, this.getX() + 4, this.getY() + 4);
}
public void renderTooltip(MatrixStack matrices, int mouseX, int mouseY) {
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 f35e60b2..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,33 +71,33 @@ 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
if (!this.toggled) {
if (this.index >= 6)
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 6);
- CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 5, this.getY() + 6);
+ CLIENT.getItemRenderer().renderInGui(matrices, this.icon,this.getX() + 5, this.getY() + 6);
else
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 9);
- CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 5, this.getY() + 7);
+ CLIENT.getItemRenderer().renderInGui(matrices, 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(this.icon,this.getX() + 5, this.getY() + 9);
+ CLIENT.getItemRenderer().renderInGui(matrices, this.icon,this.getX() + 5, this.getY() + 9);
else
// CLIENT.getItemRenderer().renderInGui(this.icon,this.x + 6, this.y + 6);
- CLIENT.getItemRenderer().renderInGui(this.icon,this.getX() + 5, this.getY() + 6);
+ CLIENT.getItemRenderer().renderInGui(matrices, this.icon,this.getX() + 5, this.getY() + 6);
}
RenderSystem.enableDepthTest();
}