summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/BingoAPI.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/LocationFixData.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/MayorElection.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/FriendsJson.java24
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/JacobContestsJson.java13
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/KnownFeaturesJson.java12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/MayorJson.java70
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/AnitaUpgradeCostsJson.java18
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ArmorDropsJson.java19
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/BingoJson.java19
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/BingoRanksJson.java10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ContributorListJson.java9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/CrimsonIsleReputationJson.java34
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DanceRoomInstructionsJson.java10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DicerDropsJson.java31
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DisabledFeaturesJson.java10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/EnigmaSoulsJson.java20
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/FishingProfitItemsJson.java12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/GardenJson.java58
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/HideNotClickableItemsJson.java30
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ItemsJson.java14
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/LocationFixJson.java27
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ModGuiSwitcherJson.java25
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/MultiFilterJson.java25
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ParkourJson.java23
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/PlayerChatFilterJson.java10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/RiftEffigiesJson.java11
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/SacksJson.java10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/SeaCreatureJson.java33
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/SlayerProfitTrackerItemsJson.java12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/TabListJson.java11
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/TrophyFishJson.java25
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/VipVisitsJson.java10
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/WarpsJson.java10
37 files changed, 653 insertions, 8 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/BingoAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/BingoAPI.kt
index 5b32a1d15..5ba6c84dd 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/BingoAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/BingoAPI.kt
@@ -1,7 +1,7 @@
package at.hannibal2.skyhanni.data
import at.hannibal2.skyhanni.events.RepositoryReloadEvent
-import at.hannibal2.skyhanni.utils.jsonobjects.BingoRanksJson
+import at.hannibal2.skyhanni.data.jsonobjects.repo.BingoRanksJson
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
object BingoAPI {
diff --git a/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt
index f6c9b4e56..e3d256b21 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt
@@ -8,8 +8,8 @@ import at.hannibal2.skyhanni.test.command.ErrorManager
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.StringUtils.cleanPlayerName
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
-import at.hannibal2.skyhanni.utils.jsonobjects.FriendsJson
-import at.hannibal2.skyhanni.utils.jsonobjects.FriendsJson.PlayerFriends.Friend
+import at.hannibal2.skyhanni.data.jsonobjects.local.FriendsJson
+import at.hannibal2.skyhanni.data.jsonobjects.local.FriendsJson.PlayerFriends.Friend
import net.minecraft.util.ChatStyle
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import java.util.UUID
diff --git a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt
index 610393906..34baceb0b 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestones.kt
@@ -8,7 +8,7 @@ import at.hannibal2.skyhanni.features.garden.GardenAPI
import at.hannibal2.skyhanni.utils.ItemUtils.getLore
import at.hannibal2.skyhanni.utils.NumberUtil.formatNumber
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
-import at.hannibal2.skyhanni.utils.jsonobjects.GardenJson
+import at.hannibal2.skyhanni.data.jsonobjects.repo.GardenJson
import net.minecraft.item.ItemStack
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
diff --git a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt
index f9990685d..028c58000 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/GardenCropMilestonesCommunityFix.kt
@@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.data
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.config.ConfigManager
+import at.hannibal2.skyhanni.data.jsonobjects.repo.GardenJson
import at.hannibal2.skyhanni.events.RepositoryReloadEvent
import at.hannibal2.skyhanni.features.garden.CropType
import at.hannibal2.skyhanni.utils.ItemUtils.getLore
@@ -16,7 +17,6 @@ import at.hannibal2.skyhanni.utils.OSUtils
import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
import at.hannibal2.skyhanni.utils.StringUtils.matches
import at.hannibal2.skyhanni.utils.StringUtils.removeColor
-import at.hannibal2.skyhanni.utils.jsonobjects.GardenJson
import kotlinx.coroutines.launch
import net.minecraft.item.ItemStack
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
diff --git a/src/main/java/at/hannibal2/skyhanni/data/LocationFixData.kt b/src/main/java/at/hannibal2/skyhanni/data/LocationFixData.kt
index 2bd6a9dcb..f32256031 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/LocationFixData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/LocationFixData.kt
@@ -2,7 +2,7 @@ package at.hannibal2.skyhanni.data
import at.hannibal2.skyhanni.events.RepositoryReloadEvent
import at.hannibal2.skyhanni.utils.LocationUtils.isPlayerInside
-import at.hannibal2.skyhanni.utils.jsonobjects.LocationFixJson
+import at.hannibal2.skyhanni.data.jsonobjects.repo.LocationFixJson
import net.minecraft.util.AxisAlignedBB
import net.minecraftforge.fml.common.eventhandler.EventPriority
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
diff --git a/src/main/java/at/hannibal2/skyhanni/data/MayorElection.kt b/src/main/java/at/hannibal2/skyhanni/data/MayorElection.kt
index d4ad57e2d..53ffdae71 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/MayorElection.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/MayorElection.kt
@@ -6,7 +6,7 @@ import at.hannibal2.skyhanni.events.LorenzTickEvent
import at.hannibal2.skyhanni.utils.APIUtil
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.LorenzUtils.put
-import at.hannibal2.skyhanni.utils.jsonobjects.MayorJson
+import at.hannibal2.skyhanni.data.jsonobjects.local.MayorJson
import io.github.moulberry.notenoughupdates.util.SkyBlockTime
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@@ -73,4 +73,4 @@ class MayorElection {
private fun MayorJson.Election.getPairs() = year + 1 to candidates.bestCandidate()
private fun List<MayorJson.Candidate>.bestCandidate() = maxBy { it.votes }
-} \ No newline at end of file
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/FriendsJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/FriendsJson.java
new file mode 100644
index 000000000..d95cea3bd
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/FriendsJson.java
@@ -0,0 +1,24 @@
+package at.hannibal2.skyhanni.data.jsonobjects.local;
+
+import com.google.gson.annotations.Expose;
+
+import java.util.Map;
+import java.util.UUID;
+
+public class FriendsJson {
+ @Expose
+ public Map<UUID, PlayerFriends> players;
+
+ public static class PlayerFriends {
+
+ @Expose
+ public Map<UUID, Friend> friends;
+
+ public static class Friend {
+ @Expose
+ public String name;
+ @Expose
+ public boolean bestFriend;
+ }
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/JacobContestsJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/JacobContestsJson.java
new file mode 100644
index 000000000..0eb31c5fd
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/JacobContestsJson.java
@@ -0,0 +1,13 @@
+package at.hannibal2.skyhanni.data.jsonobjects.local;
+
+import at.hannibal2.skyhanni.features.garden.CropType;
+import com.google.gson.annotations.Expose;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class JacobContestsJson {
+ @Expose
+ public Map<Long, List<CropType>> contestTimes = new HashMap<>();
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/KnownFeaturesJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/KnownFeaturesJson.java
new file mode 100644
index 000000000..e72400c9e
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/KnownFeaturesJson.java
@@ -0,0 +1,12 @@
+package at.hannibal2.skyhanni.data.jsonobjects.local;
+
+import com.google.gson.annotations.Expose;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class KnownFeaturesJson {
+ @Expose
+ public Map<String, List<String>> knownFeatures = new HashMap<>();
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/MayorJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/MayorJson.java
new file mode 100644
index 000000000..6525e59d3
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/local/MayorJson.java
@@ -0,0 +1,70 @@
+package at.hannibal2.skyhanni.data.jsonobjects.local;
+
+import com.google.gson.annotations.Expose;
+
+import java.util.ArrayList;
+
+public class MayorJson {
+ @Expose
+ public boolean success;
+ @Expose
+ public long lastUpdated;
+ @Expose
+ public Mayor mayor;
+ @Expose
+ public Election current;
+
+ public class Candidate {
+ @Expose
+ public String key;
+ @Expose
+ public String name;
+ @Expose
+ public ArrayList<Perk> perks;
+ @Expose
+ public int votes;
+
+ @Override
+ public String toString() {
+ return "Candidate{" +
+ "key='" + key + '\'' +
+ ", name='" + name + '\'' +
+ ", perks=" + perks +
+ ", votes=" + votes +
+ '}';
+ }
+ }
+
+ public class Election {
+ @Expose
+ public int year;
+ @Expose
+ public ArrayList<Candidate> candidates;
+ }
+
+ public class Mayor {
+ @Expose
+ public String key;
+ @Expose
+ public String name;
+ @Expose
+ public ArrayList<Perk> perks;
+ @Expose
+ public Election election;
+ }
+
+ public static class Perk {
+ @Expose
+ public String name;
+ @Expose
+ public String description;
+
+ @Override
+ public String toString() {
+ return "Perk{" +
+ "name='" + name + '\'' +
+ ", description='" + description + '\'' +
+ '}';
+ }
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/AnitaUpgradeCostsJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/AnitaUpgradeCostsJson.java
new file mode 100644
index 000000000..a1122eec3
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/AnitaUpgradeCostsJson.java
@@ -0,0 +1,18 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+import com.google.gson.annotations.Expose;
+
+import java.util.Map;
+
+public class AnitaUpgradeCostsJson {
+ @Expose
+ public Map<Integer, Price> level_price;
+
+ public static class Price {
+ @Expose
+ public Integer gold_medals;
+
+ @Expose
+ public Integer jacob_tickets;
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ArmorDropsJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ArmorDropsJson.java
new file mode 100644
index 000000000..c8038c49f
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ArmorDropsJson.java
@@ -0,0 +1,19 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+import com.google.gson.annotations.Expose;
+
+import java.util.List;
+import java.util.Map;
+
+public class ArmorDropsJson {
+ @Expose
+ public Map<String, DropInfo> special_crops;
+
+ public static class DropInfo {
+ @Expose
+ public String armor_type;
+
+ @Expose
+ public List<Double> chance;
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/BingoJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/BingoJson.java
new file mode 100644
index 000000000..eb0fe5e40
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/BingoJson.java
@@ -0,0 +1,19 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+import com.google.gson.annotations.Expose;
+
+import java.util.List;
+import java.util.Map;
+
+public class BingoJson {
+ @Expose
+ public Map<String, BingoTip> bingo_tips;
+
+ public static class BingoTip {
+ @Expose
+ public String difficulty;
+
+ @Expose
+ public List<String> note;
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/BingoRanksJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/BingoRanksJson.java
new file mode 100644
index 000000000..98f2a4695
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/BingoRanksJson.java
@@ -0,0 +1,10 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+import com.google.gson.annotations.Expose;
+
+import java.util.Map;
+
+public class BingoRanksJson {
+ @Expose
+ public Map<String, Integer> ranks;
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ContributorListJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ContributorListJson.java
new file mode 100644
index 000000000..dc2b4a5ac
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ContributorListJson.java
@@ -0,0 +1,9 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+import com.google.gson.annotations.Expose;
+
+import java.util.List;
+
+public class ContributorListJson {
+ @Expose
+ public List<String> usernames;
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/CrimsonIsleReputationJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/CrimsonIsleReputationJson.java
new file mode 100644
index 000000000..f349aef9a
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/CrimsonIsleReputationJson.java
@@ -0,0 +1,34 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+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;
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DanceRoomInstructionsJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DanceRoomInstructionsJson.java
new file mode 100644
index 000000000..e7c167e53
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DanceRoomInstructionsJson.java
@@ -0,0 +1,10 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+import com.google.gson.annotations.Expose;
+
+import java.util.List;
+
+public class DanceRoomInstructionsJson {
+ @Expose
+ public List<String> instructions;
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DicerDropsJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DicerDropsJson.java
new file mode 100644
index 000000000..00a662768
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DicerDropsJson.java
@@ -0,0 +1,31 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+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;
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DisabledFeaturesJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DisabledFeaturesJson.java
new file mode 100644
index 000000000..1099cf782
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/DisabledFeaturesJson.java
@@ -0,0 +1,10 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+import com.google.gson.annotations.Expose;
+
+import java.util.Map;
+
+public class DisabledFeaturesJson {
+ @Expose
+ public Map<String, Boolean> features;
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/EnigmaSoulsJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/EnigmaSoulsJson.java
new file mode 100644
index 000000000..cd17d1744
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/EnigmaSoulsJson.java
@@ -0,0 +1,20 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+import at.hannibal2.skyhanni.utils.LorenzVec;
+import com.google.gson.annotations.Expose;
+
+import java.util.List;
+import java.util.Map;
+
+public class EnigmaSoulsJson {
+ @Expose
+ public Map<String, List<EnigmaPosition>> areas;
+
+ public static class EnigmaPosition {
+ @Expose
+ public String name;
+
+ @Expose
+ public LorenzVec position;
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/FishingProfitItemsJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/FishingProfitItemsJson.java
new file mode 100644
index 000000000..47f7fc0bb
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/FishingProfitItemsJson.java
@@ -0,0 +1,12 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+import at.hannibal2.skyhanni.utils.NEUInternalName;
+import com.google.gson.annotations.Expose;
+
+import java.util.List;
+import java.util.Map;
+
+public class FishingProfitItemsJson {
+ @Expose
+ public Map<String, List<NEUInternalName>> categories;
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/GardenJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/GardenJson.java
new file mode 100644
index 000000000..acb8e08ba
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/GardenJson.java
@@ -0,0 +1,58 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+import at.hannibal2.skyhanni.features.garden.CropType;
+import at.hannibal2.skyhanni.utils.LorenzRarity;
+import at.hannibal2.skyhanni.utils.LorenzVec;
+import com.google.gson.annotations.Expose;
+import org.jetbrains.annotations.Nullable;
+
+import java.util.List;
+import java.util.Map;
+
+public class GardenJson {
+ @Expose
+ public List<Integer> garden_exp;
+
+ @Expose
+ public Map<CropType, List<Integer>> crop_milestones;
+
+ @Expose
+ public Map<String, Boolean> crop_milestone_community_help;
+
+ @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 LorenzRarity rarity;
+
+ @Expose
+ public LorenzRarity new_rarity;
+
+ @Nullable
+ @Expose
+ public LorenzVec position;
+
+ /**
+ * Formatted as follows:
+ * - If this visitor is a player, get the encoded skin value
+ * - If this visitor is a mob, get their mob class name
+ */
+ @Nullable
+ @Expose
+ public String skinOrType;
+
+ @Nullable
+ @Expose
+ public String mode;
+
+ @Expose
+ public List<String> need_items;
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/HideNotClickableItemsJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/HideNotClickableItemsJson.java
new file mode 100644
index 000000000..8877e596e
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/HideNotClickableItemsJson.java
@@ -0,0 +1,30 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+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;
+ }
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ItemsJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ItemsJson.java
new file mode 100644
index 000000000..c6bfc90f3
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ItemsJson.java
@@ -0,0 +1,14 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+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;
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/LocationFixJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/LocationFixJson.java
new file mode 100644
index 000000000..0df76b4a9
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/LocationFixJson.java
@@ -0,0 +1,27 @@
+package at.hannibal2.skyhanni.data.jsonobjects.repo;
+
+import at.hannibal2.skyhanni.utils.LorenzVec;
+import com.google.gson.annotations.Expose;
+
+import java.util.Map;
+
+public class LocationFixJson {
+
+ @Expose
+ public Map<String, LocationFix> locationFixes;
+
+ public static class LocationFix {
+ @Expose
+ public LorenzVec a;
+
+ @Expose
+ public LorenzVec b;
+
+ @Expose
+ public String island_name;
+
+ @Expose
+ public String real_location;
+ }
+
+}
diff --git a/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ModGuiSwitcherJson.java b/src/main/java/at/hannibal2/skyhanni/data/jsonobjects/repo/ModGuiSwitcherJson.java
new file mode 100644
index 000000000..cf0b0656d
--- /dev/null
+++ b/