diff options
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java index 546f9d89..59b3d802 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/ItemCooldowns.java @@ -109,12 +109,26 @@ public class ItemCooldowns { private static Pattern PICKAXE_COOLDOWN_LORE_REGEX = Pattern.compile("\\u00a78Cooldown: \\u00a7a(\\d+)s"); + private static boolean isPickaxe(String internalname) { + if(internalname == null) return false; + + if(internalname.endsWith("_PICKAXE")) { + return true; + } else if(internalname.contains("_DRILL_")) { + char lastChar = internalname.charAt(internalname.length()-1); + if(lastChar >= '0' && lastChar <= '9') { + return true; + } + } + return false; + } + private static void updatePickaxeCooldown() { if(pickaxeCooldown == -1) { for(ItemStack stack : Minecraft.getMinecraft().thePlayer.inventory.mainInventory) { if(stack != null && stack.hasTagCompound()) { String internalname = NotEnoughUpdates.INSTANCE.manager.getInternalNameForItem(stack); - if(internalname != null && (internalname.endsWith("_PICKAXE") || internalname.contains("_DRILL_"))) { + if(isPickaxe(internalname)) { for(String line : NotEnoughUpdates.INSTANCE.manager.getLoreFromNBT(stack.getTagCompound())) { Matcher matcher = PICKAXE_COOLDOWN_LORE_REGEX.matcher(line); if(matcher.find()) { @@ -154,7 +168,7 @@ public class ItemCooldowns { return -1; } - if(internalname.endsWith("_PICKAXE") || internalname.contains("_DRILL_")) { + if(isPickaxe(internalname)) { updatePickaxeCooldown(); if(pickaxeUseCooldownMillisRemaining < 0) { |
