aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java62
1 files changed, 18 insertions, 44 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java
index da27590..c44c8bc 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java
@@ -1,58 +1,32 @@
package com.thatgravyboat.skyblockhud.handlers;
-import com.thatgravyboat.skyblockhud.Utils;
-import com.thatgravyboat.skyblockhud.overlay.GenericOverlays;
-import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-import net.minecraftforge.client.event.RenderGameOverlayEvent;
-import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
public class HeldItemHandler extends Gui {
- public void drawFuelBar(Minecraft mc, int current, int max) {
- GenericOverlays.drawSmallBar(mc, 100, 100, (double) current / (double) max, 1.0d, 0xff00ff, 0xffff00, 0);
- drawString(mc.fontRendererObj, "Fuel - " + Math.round(((double) current / (double) max) * 100) + "%", 100, 100, 0xffffff);
- }
+ private static final Pattern MANA_COST_REGEX = Pattern.compile("Mana Cost: \u00A73([0-9]+)");
- public boolean isDrill(ItemStack stack) {
+ public static boolean hasManaCost(ItemStack stack){
if (stack == null) return false;
- if (!stack.getTagCompound().hasKey("ExtraAttributes")) return false;
- return stack.getTagCompound().getCompoundTag("ExtraAttributes").hasKey("drill_fuel");
- }
-
- public String getDrillFuel(ItemStack stack) {
- NBTTagCompound display = stack.getTagCompound().getCompoundTag("display");
- NBTTagList lore = display.getTagList("Lore", 8);
- for (int i = lore.tagCount() - 1; i >= 0; i--) {
- String line = Utils.removeColor(lore.getStringTagAt(i));
- if (line.trim().startsWith("Fuel:")) {
- return line;
- }
- }
- return "";
+ if (!stack.hasTagCompound()) return false;
+ if (!stack.getTagCompound().hasKey("display")) return false;
+ if (!stack.getTagCompound().getCompoundTag("display").hasKey("Lore")) return false;
+ String lore = stack.getTagCompound().getCompoundTag("display").getTagList("Lore", 8).toString();
+ return MANA_COST_REGEX.matcher(lore).find();
}
- @SubscribeEvent
- public void drawOverlay(RenderGameOverlayEvent.Post event) {
- /*
- if (Utils.overlayShouldRender(event.type, SkyblockHud.hasSkyblockScoreboard())){
- Minecraft mc = Minecraft.getMinecraft();
- ItemStack stack = mc.thePlayer.getHeldItem();
- if (isDrill(stack)){
- try {
- String drill = getDrillFuel(stack).replace("Fuel:", "").trim();
- String[] fuel = drill.split("/");
- if (fuel.length == 2) {
- int current = Integer.parseInt(fuel[0].replace(",", ""));
- int max = Integer.parseInt(fuel[1].replace("k", "")) * 1000;
- drawFuelBar(mc, current, max);
- }
- }catch (Exception ignored){}
- }
+ public static int getManaCost(ItemStack stack){
+ String lore = stack.getTagCompound().getCompoundTag("display").getTagList("Lore", 8).toString();
+ Matcher matcher = MANA_COST_REGEX.matcher(lore);
+ if (matcher.find()){
+ try {
+ return Integer.parseInt(matcher.group(1));
+ }catch (Exception ignored){}
}
- */
+ return 0;
}
}