aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYasin <LifeIsAParadox@users.noreply.github.com>2022-01-25 01:42:22 +0100
committerGitHub <noreply@github.com>2022-01-25 01:42:22 +0100
commit1d510772312c0e97241b2937345b68bd1be29837 (patch)
tree1a71df84198610145e8c9c1c55957c90bbd72153 /src
parentbdbf2074eb548900d780d3989d19ddb089699609 (diff)
parentbdac02bc0af4e89d0cfa9360994cbabc823f92d4 (diff)
downloadSkyblocker-1d510772312c0e97241b2937345b68bd1be29837.tar.gz
Skyblocker-1d510772312c0e97241b2937345b68bd1be29837.tar.bz2
Skyblocker-1d510772312c0e97241b2937345b68bd1be29837.zip
Merge pull request #30 from TacoMonkey11/1.18.x
Added Wiki Lookup
Diffstat (limited to 'src')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java2
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java72
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json1
3 files changed, 75 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java
index b3a50697..93eac100 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java
@@ -3,6 +3,7 @@ package me.xmrvizzy.skyblocker;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
import me.xmrvizzy.skyblocker.skyblock.HotbarSlotLock;
import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip;
+import me.xmrvizzy.skyblocker.skyblock.item.WikiLookup;
import net.fabricmc.api.ClientModInitializer;
public class SkyblockerInitializer implements ClientModInitializer {
@@ -11,5 +12,6 @@ public class SkyblockerInitializer implements ClientModInitializer {
HotbarSlotLock.init();
SkyblockerConfig.init();
PriceInfoTooltip.init();
+ WikiLookup.init();
}
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
new file mode 100644
index 00000000..30da694e
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/WikiLookup.java
@@ -0,0 +1,72 @@
+package me.xmrvizzy.skyblocker.skyblock.item;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
+import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.option.KeyBinding;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NbtCompound;
+import net.minecraft.text.Text;
+import net.minecraft.util.Util;
+import org.lwjgl.glfw.GLFW;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.net.URLConnection;
+
+public class WikiLookup {
+ public static KeyBinding wikiLookup;
+ static MinecraftClient client = MinecraftClient.getInstance();
+ static String id;
+ public static Gson gson = new Gson();
+
+ public static void init(){
+ wikiLookup = KeyBindingHelper.registerKeyBinding(new KeyBinding(
+ "key.wikiLookup",
+ GLFW.GLFW_KEY_F4,
+ "key.categories.skyblocker"
+ ));
+ ClientTickEvents.END_CLIENT_TICK.register(client -> {
+ while (wikiLookup.wasPressed()) {
+ id = getSkyblockId();
+
+ try {
+ //Setting up a connection with the repo
+ String urlString = "https://raw.githubusercontent.com/NotEnoughUpdates/NotEnoughUpdates-REPO/master/items/" + id + ".json";
+ URL url = new URL(urlString);
+ URLConnection request = url.openConnection();
+ request.connect();
+
+ //yoinking the wiki link
+ JsonElement root = JsonParser.parseReader(new InputStreamReader((InputStream) request.getContent()));
+ JsonObject rootobj = root.getAsJsonObject();
+ String wikiLink = rootobj.get("info").getAsString();
+ Util.getOperatingSystem().open(wikiLink);
+ } catch (IOException | NullPointerException e) {
+ e.printStackTrace();
+ client.player.sendMessage(Text.of("Can't locate a wiki article for this item..."), false);
+ }
+
+ }
+ });
+ }
+
+ public static String getSkyblockId() {
+
+ //Grabbing the skyblock NBT data
+ ItemStack mainStack = client.player.getMainHandStack();
+ NbtCompound nbt = mainStack.getSubNbt("ExtraAttributes");
+ if (nbt != null) {
+ id = nbt.getString("id");
+ }
+
+ return id;
+ }
+
+}
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index a1f0198e..680787e8 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -1,6 +1,7 @@
{
"key.categories.skyblocker": "Skyblocker",
"key.hotbarSlotLock": "Slot Lock (Hotbar)",
+ "key.wikiLookup": "Wiki Lookup",
"text.autoconfig.skyblocker.title": "Skyblocker Settings",