aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker
diff options
context:
space:
mode:
authorKonaeAkira <longtruong2411@gmail.com>2022-01-27 15:19:07 +0100
committerKonaeAkira <longtruong2411@gmail.com>2022-01-27 15:19:07 +0100
commit7b9791c08aac408279f8c4365f26ff057a6be293 (patch)
tree0a2179e2fa6a7e04856c11eff2a75e2c50538212 /src/main/java/me/xmrvizzy/skyblocker
parent5ff6d2c2e51e1e503f5f7929668074ec2f276ecc (diff)
downloadSkyblocker-7b9791c08aac408279f8c4365f26ff057a6be293.tar.gz
Skyblocker-7b9791c08aac408279f8c4365f26ff057a6be293.tar.bz2
Skyblocker-7b9791c08aac408279f8c4365f26ff057a6be293.zip
Fix missing armor dye color in item list
+ Fixed usage of deprecated JsonParser methods. + Combined search bar and search title into single class. + Rename local repo dir from "Skypixel/item-repo" to "Skyblocker/item-repo"
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/Entry.java20
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java25
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java19
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchWidget.java25
4 files changed, 54 insertions, 35 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/Entry.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/Entry.java
index 4260aa4a..d9a541bb 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/Entry.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/Entry.java
@@ -41,6 +41,7 @@ public final class Entry implements Comparable<Entry> {
NbtCompound tag = new NbtCompound();
root.put("tag", tag);
+ // add enchantment glint
if (internalName.contains("ENCHANTED")) {
NbtList enchantments = new NbtList();
enchantments.add(new NbtCompound());
@@ -60,11 +61,12 @@ public final class Entry implements Comparable<Entry> {
);
String nbttag = obj.get("nbttag").getAsString();
- Matcher matcher = Pattern.compile("SkullOwner:\\{Id:\"(.{36})\",Properties:\\{textures:\\[0:\\{Value:\"(.+)\"\\}\\]\\}\\}").matcher(nbttag);
- if (matcher.find()) {
+ // add skull texture
+ Matcher skullMatcher = Pattern.compile("SkullOwner:\\{Id:\"(.{36})\",Properties:\\{textures:\\[0:\\{Value:\"(.+)\"}]}}").matcher(nbttag);
+ if (skullMatcher.find()) {
NbtCompound skullOwner = new NbtCompound();
tag.put("SkullOwner", skullOwner);
- UUID uuid = UUID.fromString(matcher.group(1));
+ UUID uuid = UUID.fromString(skullMatcher.group(1));
skullOwner.put("Id", NbtHelper.fromUuid(uuid));
skullOwner.put("Name", NbtString.of(this.internalName));
@@ -74,7 +76,13 @@ public final class Entry implements Comparable<Entry> {
properties.put("textures", textures);
NbtCompound texture = new NbtCompound();
textures.add(texture);
- texture.put("Value", NbtString.of(matcher.group(2)));
+ texture.put("Value", NbtString.of(skullMatcher.group(2)));
+ }
+ // add leather armor dye color
+ Matcher colorMatcher = Pattern.compile("color:(\\d+)").matcher(nbttag);
+ if (colorMatcher.find()) {
+ NbtInt color = NbtInt.of(Integer.parseInt(colorMatcher.group(1)));
+ display.put("color", color);
}
this.itemStack = ItemStack.fromNbt(root);
@@ -90,7 +98,7 @@ public final class Entry implements Comparable<Entry> {
String petName = internalName.split(";")[0];
if (!internalName.contains(";") || !ItemRegistry.petNums.has(petName)) return list;
- list.add(new Pair("\\{LVL\\}", "1 ➡ 100"));
+ list.add(new Pair<>("\\{LVL\\}", "1 ➡ 100"));
final String[] rarities = {
"COMMON",
@@ -110,7 +118,7 @@ public final class Entry implements Comparable<Entry> {
String key = entry.getKey();
String left = "\\{" + key+ "\\}";
String right = statNumsMin.get(key).getAsString() + " ➡ " + statNumsMax.get(key).getAsString();
- list.add(new Pair(left, right));
+ list.add(new Pair<>(left, right));
}
JsonArray otherNumsMin = data.get("1").getAsJsonObject().get("otherNums").getAsJsonArray();
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 f7e196d5..9f053d8b 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java
@@ -18,7 +18,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
@Environment(value= EnvType.CLIENT)
@@ -39,11 +38,10 @@ public class ItemListWidget extends AbstractParentElement implements Drawable, S
private final List<Element> children = Lists.newArrayList();
private final List<Selectable> selectables = Lists.newArrayList();
private final List<Drawable> drawables = Lists.newArrayList();
- private final TextFieldWidget search;
public ItemListWidget(HandledScreen screen) {
- this.client = MinecraftClient.getInstance();
this.screen = screen;
+ this.client = MinecraftClient.getInstance();
this.cols = (screen.width - 200) / 2 / 16;
this.rows = (screen.height - 40) / 16;
@@ -52,14 +50,9 @@ public class ItemListWidget extends AbstractParentElement implements Drawable, S
this.maxScroll = Math.max(0, entries.size() / this.cols - this.rows + 1);
- int searchX = this.gridX + 1;
- int searchY = 18;
- int searchWidth = this.cols * 16 - 2;
- int searchHeight = 16;
-
- this.search = new TextFieldWidget(this.client.textRenderer, searchX, searchY, searchWidth, searchHeight, Text.of("Search"));
- this.search.setText(searchString);
- this.search.setChangedListener(this::setSearch);
+ SearchWidget search = new SearchWidget(this.client.textRenderer, 8, 8, this.cols * 16);
+ search.setText(searchString);
+ search.setChangedListener(this::setSearch);
this.addDrawableChild(search);
this.setSearch(searchString);
@@ -80,7 +73,7 @@ public class ItemListWidget extends AbstractParentElement implements Drawable, S
}
protected <T extends Element & Drawable & Selectable> T addDrawableChild(T drawableElement) {
- this.drawables.add((Drawable)drawableElement);
+ this.drawables.add(drawableElement);
return this.addSelectableChild(drawableElement);
}
@@ -91,7 +84,7 @@ public class ItemListWidget extends AbstractParentElement implements Drawable, S
protected <T extends Element & Selectable> T addSelectableChild(T child) {
this.children.add(child);
- this.selectables.add((Selectable)child);
+ this.selectables.add(child);
return child;
}
@@ -99,8 +92,6 @@ public class ItemListWidget extends AbstractParentElement implements Drawable, S
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) {
ItemRenderer itemRenderer = client.getItemRenderer();
RenderSystem.disableDepthTest();
- // search box title
- client.textRenderer.drawWithShadow(matrices, "Search", this.gridX, 6, 0xff9e9e9e);
// slot hover
int mouseOverIndex = getMouseOverIndex(mouseX, mouseY);
if (mouseOverIndex != -1) {
@@ -126,9 +117,7 @@ public class ItemListWidget extends AbstractParentElement implements Drawable, S
}
RenderSystem.enableDepthTest();
// render children
- Iterator iter = this.drawables.iterator();
- while(iter.hasNext()) {
- Drawable drawable = (Drawable)iter.next();
+ for (Drawable drawable : this.drawables) {
drawable.render(matrices, mouseX, mouseY, delta);
}
}
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 b94ea72d..40a9148e 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemRegistry.java
@@ -9,28 +9,26 @@ import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
-import java.util.Arrays;
+import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
public class ItemRegistry {
private static final String ITEM_REPO_URI = "https://github.com/KonaeAkira/NotEnoughUpdates-REPO.git";
- private static final String ITEM_REPO_DIR = "./config/skypixel/items-repo/";
+ private static final String ITEM_REPO_DIR = "./config/skyblocker/items-repo/";
private static final String ITEM_LIST_DIR = ITEM_REPO_DIR + "items/";
private static final String CONSTANTS_DIR = ITEM_REPO_DIR + "constants/";
private static final String PETNUMS_FILE = CONSTANTS_DIR + "petnums.json";
- private static final JsonParser JSON_PARSER = new JsonParser();
-
- protected static SortedSet<Entry> registry = new TreeSet<Entry>();
+ protected static SortedSet<Entry> registry = new TreeSet<>();
protected static JsonObject petNums;
// TODO: make async
public static void init() {
updateItemRepo();
try {
- petNums = JSON_PARSER.parse(Files.readString(Paths.get(PETNUMS_FILE))).getAsJsonObject();
+ petNums = JsonParser.parseString(Files.readString(Paths.get(PETNUMS_FILE))).getAsJsonObject();
} catch (IOException e) {
e.printStackTrace();
}
@@ -43,7 +41,7 @@ public class ItemRegistry {
Git.cloneRepository()
.setURI(ITEM_REPO_URI)
.setDirectory(new File(ITEM_REPO_DIR))
- .setBranchesToClone(Arrays.asList("refs/heads/master"))
+ .setBranchesToClone(List.of("refs/heads/master"))
.setBranch("refs/heads/master")
.call();
} catch (GitAPIException e) {
@@ -52,9 +50,7 @@ public class ItemRegistry {
} else {
try {
Git.open(new File(ITEM_REPO_DIR)).pull().call();
- } catch (GitAPIException e) {
- e.printStackTrace();
- } catch (IOException e) {
+ } catch (GitAPIException | IOException e) {
e.printStackTrace();
}
}
@@ -63,11 +59,12 @@ public class ItemRegistry {
private static void importItemFiles() {
File dir = new File(ITEM_LIST_DIR);
File[] files = dir.listFiles();
+ assert files != null;
for (File file : files) {
String path = ITEM_LIST_DIR + "/" + file.getName();
try {
String fileContent = Files.readString(Paths.get(path));
- JsonObject json = JSON_PARSER.parse(fileContent).getAsJsonObject();
+ JsonObject json = JsonParser.parseString(fileContent).getAsJsonObject();
registry.add(new Entry(json));
} catch (IOException e) {
e.printStackTrace();
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchWidget.java
new file mode 100644
index 00000000..4acf91b2
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/SearchWidget.java
@@ -0,0 +1,25 @@
+package me.xmrvizzy.skyblocker.skyblock.itemlist;
+
+import net.minecraft.client.font.TextRenderer;
+import net.minecraft.client.gui.widget.TextFieldWidget;
+import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.text.Text;
+
+public class SearchWidget extends TextFieldWidget {
+ protected final int x;
+ protected final int y;
+ protected final TextRenderer textRenderer;
+
+ public SearchWidget(TextRenderer textRenderer, int x, int y, int width) {
+ super(textRenderer, x + 1, y + 12, width - 2, 16, Text.of("Search"));
+ this.x = x;
+ this.y = y;
+ this.textRenderer = textRenderer;
+ }
+
+ @Override
+ public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float delta) {
+ super.renderButton(matrices, mouseX, mouseY, delta);
+ this.textRenderer.drawWithShadow(matrices, "Search", this.x, this.y, 0xff9e9e9e);
+ }
+}