diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
26 files changed, 225 insertions, 37 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/MultiFilter.kt b/src/main/java/at/hannibal2/skyhanni/utils/MultiFilter.kt index c8ecc2055..ab9817ef4 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/MultiFilter.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/MultiFilter.kt @@ -1,6 +1,7 @@ package at.hannibal2.skyhanni.utils -import com.google.gson.JsonObject +import at.hannibal2.skyhanni.utils.StringUtils.trimWhiteSpace +import at.hannibal2.skyhanni.utils.jsonobjects.MultiFilterJson class MultiFilter { @@ -10,25 +11,23 @@ class MultiFilter { private val contains = mutableListOf<String>() private val containsWord = mutableListOf<String>() - fun load(hideNpcSell: JsonObject) { + fun load(data: MultiFilterJson) { equals.clear() startsWith.clear() endsWith.clear() contains.clear() containsWord.clear() - fill(hideNpcSell, "equals", equals) - fill(hideNpcSell, "exact", equals) - fill(hideNpcSell, "startsWith", startsWith) - fill(hideNpcSell, "endsWith", endsWith) - fill(hideNpcSell, "contains", contains) - fill(hideNpcSell, "containsWord", containsWord) + fill(equals, data.equals) + fill(startsWith, data.startsWith) + fill(endsWith, data.endsWith) + fill(contains, data.contains) + fill(containsWord, data.containsWord) } - private fun fill(jsonObject: JsonObject, key: String, list: MutableList<String>) { - if (jsonObject.has(key)) { - list.addAll(jsonObject[key].asJsonArray.map { it.asString }) - } + private fun fill(list: MutableList<String>, data: List<String>?) { + if (data == null) return + list.addAll(data) } fun match(string: String): Boolean { @@ -50,8 +49,9 @@ class MultiFilter { return null } - private fun containsWord(message: String, word: String): Boolean = - message.startsWith("$word ") || message.endsWith(" $word") || message.contains(" $word ") + private fun containsWord(message: String, word: String): Boolean { + return message.split(" ").any { it.trimWhiteSpace() == word } + } fun count(): Int { return equals.size + startsWith.size + endsWith.size + contains.size + containsWord.size diff --git a/src/main/java/at/hannibal2/skyhanni/utils/ParkourHelper.kt b/src/main/java/at/hannibal2/skyhanni/utils/ParkourHelper.kt index 416b7dfd3..c9903ffc2 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/ParkourHelper.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/ParkourHelper.kt @@ -11,14 +11,14 @@ import at.hannibal2.skyhanni.utils.RenderUtils.drawFilledBoundingBox_nea import at.hannibal2.skyhanni.utils.RenderUtils.drawString import at.hannibal2.skyhanni.utils.RenderUtils.expandBlock import at.hannibal2.skyhanni.utils.RenderUtils.outlineTopFace -import at.hannibal2.skyhanni.utils.jsonobjects.ParkourJson +import at.hannibal2.skyhanni.utils.jsonobjects.ParkourJson.ShortCut import net.minecraft.client.Minecraft import java.awt.Color import kotlin.time.Duration.Companion.seconds class ParkourHelper( val locations: List<LorenzVec>, - private val shortCuts: List<ParkourJson.ShortCut>, + private val shortCuts: List<ShortCut>, val platformSize: Double = 1.0, val detectionRange: Double = 1.0 ) { diff --git a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt index 187407cbf..802decbce 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt @@ -18,9 +18,11 @@ object StringUtils { private val playerChatPattern = "(?<important>.*?)(?:§[f7r])*: .*".toPattern() private val chatUsernamePattern = "^(?:§\\w\\[§\\w\\d+§\\w] )?(?:(?:§\\w)+\\S )?(?<rankedName>(?:§\\w\\[\\w.+] )?(?:§\\w)?(?<username>\\w+))(?: (?:§\\w)?\\[.+?])?".toPattern() private val whiteSpaceResetPattern = "^(?:\\s|§r)*|(?:\\s|§r)*$".toPattern() + private val whiteSpacePattern = "^\\s*|\\s*$".toPattern() private val resetPattern = "(?i)§R".toPattern() fun String.trimWhiteSpaceAndResets(): String = whiteSpaceResetPattern.matcher(this).replaceAll("") + fun String.trimWhiteSpace(): String = whiteSpacePattern.matcher(this).replaceAll("") fun String.removeResets(): String = resetPattern.matcher(this).replaceAll("") fun String.firstLetterUppercase(): String { diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/AnitaUpgradeCostsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/AnitaUpgradeCostsJson.java index c0fbd0ad0..09a2de7db 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/AnitaUpgradeCostsJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/AnitaUpgradeCostsJson.java @@ -6,12 +6,13 @@ import java.util.Map; public class AnitaUpgradeCostsJson { @Expose - public Map<String, Price> level_price; + public Map<Integer, Price> level_price; public static class Price { @Expose public Integer gold_medals; + @Expose public Integer jacob_tickets; } -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ArmorDropsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ArmorDropsJson.java index 747a33a13..698bad3db 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ArmorDropsJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ArmorDropsJson.java @@ -12,7 +12,8 @@ public class ArmorDropsJson { public static class DropInfo { @Expose public String armor_type; + @Expose public List<Double> chance; } -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoJson.java index 472993c46..810f6d3ab 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoJson.java @@ -12,7 +12,8 @@ public class BingoJson { public static class BingoTip { @Expose public String difficulty; + @Expose public List<String> note; } -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoRanks.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoRanksJson.java index 6cac52622..49d7e662f 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoRanks.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/BingoRanksJson.java @@ -4,7 +4,7 @@ import com.google.gson.annotations.Expose; import java.util.Map; -public class BingoRanks { +public class BingoRanksJson { @Expose public Map<String, Integer> ranks; -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ContributorListJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ContributorListJson.java index 77e3d639b..6ab663941 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ContributorListJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ContributorListJson.java @@ -2,7 +2,8 @@ package at.hannibal2.skyhanni.utils.jsonobjects; import com.google.gson.annotations.Expose; import java.util.List; + public class ContributorListJson { @Expose public List<String> usernames; -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/CrimsonIsleReputationJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/CrimsonIsleReputationJson.java new file mode 100644 index 000000000..907081611 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/CrimsonIsleReputationJson.java @@ -0,0 +1,34 @@ +package at.hannibal2.skyhanni.utils.jsonobjects; + +import com.google.gson.annotations.Expose; + +import java.util.List; +import java.util.Map; + +public class CrimsonIsleReputationJson { + @Expose + public Map<String, ReputationQuest> FISHING; + + @Expose + public Map<String, ReputationQuest> RESCUE; + + @Expose + public Map<String, ReputationQuest> FETCH; + + @Expose + public Map<String, ReputationQuest> DOJO; + + @Expose + public Map<String, ReputationQuest> MINIBOSS; + + @Expose + public Map<String, ReputationQuest> KUUDRA; + + public static class ReputationQuest { + @Expose + public String item; + + @Expose + public List<Double> location; + } +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/DanceRoomInstructionsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/DanceRoomInstructionsJson.java index 0f4568bbd..9316d8671 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/DanceRoomInstructionsJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/DanceRoomInstructionsJson.java @@ -7,4 +7,4 @@ import java.util.List; public class DanceRoomInstructionsJson { @Expose public List<String> instructions; -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/DicerDropsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/DicerDropsJson.java new file mode 100644 index 000000000..996a558ea --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/DicerDropsJson.java @@ -0,0 +1,31 @@ +package at.hannibal2.skyhanni.utils.jsonobjects; + +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class DicerDropsJson { + @Expose + public DicerType MELON; + + @Expose + public DicerType PUMPKIN; + + public static class DicerType { + @Expose + @SerializedName("total chance") + public Integer totalChance; + + @Expose + public List<DropInfo> drops; + } + + public static class DropInfo { + @Expose + public Integer chance; + + @Expose + public List<Integer> amount; + } +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/DisabledFeaturesJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/DisabledFeaturesJson.java new file mode 100644 index 000000000..45abedfa3 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/DisabledFeaturesJson.java @@ -0,0 +1,10 @@ +package at.hannibal2.skyhanni.utils.jsonobjects; + +import com.google.gson.annotations.Expose; + +import java.util.Map; + +public class DisabledFeaturesJson { + @Expose + public Map<String, Boolean> features; +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/EnigmaSoulsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/EnigmaSoulsJson.java index 41c4451e5..5769520f5 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/EnigmaSoulsJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/EnigmaSoulsJson.java @@ -13,7 +13,8 @@ public class EnigmaSoulsJson { public static class EnigmaPosition { @Expose public String name; + @Expose public LorenzVec position; } -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/GardenJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/GardenJson.java index 46fe188b6..87a80d391 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/GardenJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/GardenJson.java @@ -14,8 +14,19 @@ public class GardenJson { public Map<CropType, List<Integer>> crop_milestones; @Expose + public Map<String, GardenVisitor> visitors; + + @Expose public Map<String, Double> organic_matter; @Expose public Map<String, Double> fuel; -} + + public static class GardenVisitor { + @Expose + public String rarity; + + @Expose + public List<String> need_items; + } +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/HideNotClickableItemsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/HideNotClickableItemsJson.java new file mode 100644 index 000000000..d4ac9c52b --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/HideNotClickableItemsJson.java @@ -0,0 +1,30 @@ +package at.hannibal2.skyhanni.utils.jsonobjects; + +import com.google.gson.annotations.Expose; + +import java.util.List; + +public class HideNotClickableItemsJson { + @Expose + public MultiFilterJson hide_npc_sell; + + @Expose + public MultiFilterJson hide_in_storage; + + @Expose + public MultiFilterJson hide_player_trade; + + @Expose + public MultiFilterJson not_auctionable; + + @Expose + public SalvageFilter salvage; + + public static class SalvageFilter { + @Expose + public List<String> armor; + + @Expose + public List<String> items; + } +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ItemsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ItemsJson.java new file mode 100644 index 000000000..f37671913 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ItemsJson.java @@ -0,0 +1,14 @@ +package at.hannibal2.skyhanni.utils.jsonobjects; + +import com.google.gson.annotations.Expose; + +import java.util.List; +import java.util.Map; + +public class ItemsJson { + @Expose + public List<String> crimson_armors; + + @Expose + public Map<String, Integer> crimson_tiers; +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ModsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ModGuiSwitcherJson.java index 9e04d55c7..078b1f6ad 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ModsJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ModGuiSwitcherJson.java @@ -7,7 +7,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -public class ModsJson { +public class ModGuiSwitcherJson { @Expose public Map<String, Mod> mods = new HashMap<>(); @@ -22,4 +22,4 @@ public class ModsJson { @Expose public List<String> guiPath = new ArrayList<>(); } -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/MultiFilterJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/MultiFilterJson.java new file mode 100644 index 000000000..8704f91fb --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/MultiFilterJson.java @@ -0,0 +1,25 @@ +package at.hannibal2.skyhanni.utils.jsonobjects; + +import com.google.gson.annotations.Expose; + +import java.util.List; + +public class MultiFilterJson { + @Expose + public List<String> equals; + + @Expose + public List<String> startsWith; + + @Expose + public List<String> endsWith; + + @Expose + public List<String> contains; + + @Expose + public List<String> containsWord; + + @Expose + public String description; +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ParkourJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ParkourJson.java index 71206d18c..5ae2d40ca 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ParkourJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/ParkourJson.java @@ -9,13 +9,15 @@ import java.util.List; public class ParkourJson { @Expose public List<LorenzVec> locations; + @Expose public List<ShortCut> shortCuts = new ArrayList<>(); public static class ShortCut { @Expose public int from; + @Expose public int to; } -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/PlayerChatFilterJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/PlayerChatFilterJson.java new file mode 100644 index 000000000..a65a2f8a1 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/PlayerChatFilterJson.java @@ -0,0 +1,10 @@ +package at.hannibal2.skyhanni.utils.jsonobjects; + +import com.google.gson.annotations.Expose; + +import java.util.List; + +public class PlayerChatFilterJson { + @Expose + public List<MultiFilterJson> filters; +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/RiftEffigiesJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/RiftEffigiesJson.java index 85453a3bf..d914ef934 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/RiftEffigiesJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/RiftEffigiesJson.java @@ -8,4 +8,4 @@ import java.util.List; public class RiftEffigiesJson { @Expose public List<LorenzVec> locations; -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/SackListJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/SacksJson.java index 11b4f09ed..dfd2103ef 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/SackListJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/SacksJson.java @@ -4,7 +4,7 @@ import com.google.gson.annotations.Expose; import java.util.List; -public class SackListJson { +public class SacksJson { @Expose public List<String> sackList; -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/SlayerProfitTrackerItemsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/SlayerProfitTrackerItemsJson.java index cbb6b2899..377582200 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/SlayerProfitTrackerItemsJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/SlayerProfitTrackerItemsJson.java @@ -9,4 +9,4 @@ import java.util.Map; public class SlayerProfitTrackerItemsJson { @Expose public Map<String, List<NEUInternalName>> slayers; -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/TrophyFishJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/TrophyFishJson.java index 719c0db2d..6303c16be 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/TrophyFishJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/TrophyFishJson.java @@ -1,6 +1,6 @@ package at.hannibal2.skyhanni.utils.jsonobjects; -import at.hannibal2.skyhanni.features.fishing.trophy.TrophyFishInfo; +import at.hannibal2.skyhanni.features.fishing.trophy.TrophyRarity; import com.google.gson.annotations.Expose; import java.util.Map; @@ -8,4 +8,18 @@ import java.util.Map; public class TrophyFishJson { @Expose public Map<String, TrophyFishInfo> trophy_fish; -} + + public static class TrophyFishInfo { + @Expose + public String displayName; + + @Expose + public String description; + + @Expose + public Integer rate; + + @Expose + public Map<TrophyRarity, Integer> fillet; + } +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/VipVisitsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/VipVisitsJson.java index 8f3ffbe0f..c80f4953f 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/VipVisitsJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/VipVisitsJson.java @@ -7,4 +7,4 @@ import java.util.List; public class VipVisitsJson { @Expose public List<String> vipVisits; -} +}
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/WarpsJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/WarpsJson.java index c5b1aa3c4..e09bf3c9d 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/WarpsJson.java +++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/WarpsJson.java @@ -7,4 +7,4 @@ import java.util.List; public class WarpsJson { @Expose public List<String> warpCommands; -} +}
\ No newline at end of file |
