Skip to content

Commit 7fdc366

Browse files
committed
Changed load logic for ReputationHelper.
1 parent 70c3e6b commit 7fdc366

File tree

6 files changed

+55
-77
lines changed

6 files changed

+55
-77
lines changed

src/main/java/at/hannibal2/skyhanni/features/damageindicator/DamageIndicatorManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ class DamageIndicatorManager {
166166
)
167167
if (data.dead) data.deathLocation = loc
168168
loc
169-
}
169+
}.add(-0.5, 0.0, -0.5)
170170

171171

172172
event.drawDynamicText(location, healthText, sizeHealth, smallestDistanceVew = smallestDistanceVew)

src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/CrimsonIsleReputationHelper.kt

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import at.hannibal2.skyhanni.data.IslandType
66
import at.hannibal2.skyhanni.events.RepositoryReloadEvent
77
import at.hannibal2.skyhanni.features.nether.reputationhelper.dailykuudra.DailyKuudraBossHelper
88
import at.hannibal2.skyhanni.features.nether.reputationhelper.dailyquest.DailyQuestHelper
9-
import at.hannibal2.skyhanni.features.nether.reputationhelper.dailyquest.quest.UnknownQuest
109
import at.hannibal2.skyhanni.features.nether.reputationhelper.miniboss.DailyMiniBossHelper
1110
import at.hannibal2.skyhanni.utils.LorenzUtils
11+
import at.hannibal2.skyhanni.utils.LorenzVec
1212
import at.hannibal2.skyhanni.utils.RenderUtils.renderStringsAndItems
1313
import com.google.gson.JsonObject
1414
import net.minecraftforge.client.event.RenderGameOverlayEvent
@@ -27,7 +27,6 @@ class CrimsonIsleReputationHelper(skyHanniMod: SkyHanniMod) {
2727

2828
private val display = mutableListOf<List<Any>>()
2929
private var dirty = true
30-
private var loaded = false
3130

3231
init {
3332
skyHanniMod.loadModule(questHelper)
@@ -37,18 +36,12 @@ class CrimsonIsleReputationHelper(skyHanniMod: SkyHanniMod) {
3736

3837
@SubscribeEvent
3938
fun onRepoReload(event: RepositoryReloadEvent) {
40-
questHelper.quests.removeIf { it is UnknownQuest}
4139
repoData = event.getConstant("CrimsonIsleReputation")!!
42-
if (!loaded) {
43-
loaded = true
4440

45-
miniBossHelper.init()
46-
kuudraBossHelper.init()
41+
miniBossHelper.load()
42+
kuudraBossHelper.load()
4743

48-
questHelper.loadConfig()
49-
miniBossHelper.loadConfig()
50-
kuudraBossHelper.loadConfig()
51-
}
44+
questHelper.load()
5245
}
5346

5447
@SubscribeEvent
@@ -99,4 +92,14 @@ class CrimsonIsleReputationHelper(skyHanniMod: SkyHanniMod) {
9992
kuudraBossHelper.reset()
10093
update()
10194
}
95+
96+
fun readLocationData(data: JsonObject): LorenzVec? {
97+
val locationData = data["location"]?.asJsonArray ?: return null
98+
if (locationData.size() == 0) return null
99+
100+
val x = locationData[0].asDouble - 1
101+
val y = locationData[1].asDouble
102+
val z = locationData[2].asDouble - 1
103+
return LorenzVec(x, y, z)
104+
}
102105
}

src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailykuudra/DailyKuudraBossHelper.kt

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -24,32 +24,6 @@ class DailyKuudraBossHelper(private val reputationHelper: CrimsonIsleReputationH
2424
private var kuudraLocation: LorenzVec? = null
2525
private var allKuudraDone = true
2626

27-
fun init() {
28-
val repoData = reputationHelper.repoData
29-
val jsonElement = repoData["KUUDRA"]
30-
var tier = 1
31-
for ((displayName, extraData) in jsonElement.asJsonObject.entrySet()) {
32-
val data = extraData.asJsonObject
33-
val displayItem = data["item"]?.asString
34-
35-
val locationData = data["location"]?.asJsonArray
36-
val location: LorenzVec? = if (locationData == null || locationData.size() == 0) {
37-
null
38-
} else {
39-
val x = locationData[0].asDouble
40-
val y = locationData[1].asDouble
41-
val z = locationData[2].asDouble
42-
LorenzVec(x, y, z)
43-
}
44-
kuudraTiers.add(KuudraTier(displayName, displayItem, location, tier))
45-
if (location != null) {
46-
kuudraLocation = location
47-
}
48-
49-
tier++
50-
}
51-
}
52-
5327
@SubscribeEvent
5428
fun onRenderWorld(event: RenderWorldLastEvent) {
5529
if (!LorenzUtils.inSkyBlock) return
@@ -128,8 +102,26 @@ class DailyKuudraBossHelper(private val reputationHelper: CrimsonIsleReputationH
128102
.forEach { SkyHanniMod.feature.hidden.crimsonIsleKuudraTiersDone.add(it.name) }
129103
}
130104

131-
fun loadConfig() {
132-
println("loadConfig")
105+
fun load() {
106+
kuudraTiers.clear()
107+
108+
//Repo
109+
val repoData = reputationHelper.repoData
110+
val jsonElement = repoData["KUUDRA"]
111+
var tier = 1
112+
for ((displayName, extraData) in jsonElement.asJsonObject.entrySet()) {
113+
val data = extraData.asJsonObject
114+
val displayItem = data["item"]?.asString
115+
val location = reputationHelper.readLocationData(data)
116+
kuudraTiers.add(KuudraTier(displayName, displayItem, location, tier))
117+
if (location != null) {
118+
kuudraLocation = location
119+
}
120+
121+
tier++
122+
}
123+
124+
//Config
133125
for (name in SkyHanniMod.feature.hidden.crimsonIsleKuudraTiersDone) {
134126
getByDisplayName(name)!!.doneToday = true
135127
}

src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailyquest/DailyQuestHelper.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,9 @@ class DailyQuestHelper(val reputationHelper: CrimsonIsleReputationHelper) {
302302
latestTrophyFishInInventory = 0
303303
}
304304

305-
fun loadConfig() {
305+
fun load() {
306+
reset()
307+
306308
loader.loadConfig()
307309
latestTrophyFishInInventory = SkyHanniMod.feature.hidden.crimsonIsleLatestTrophyFishInInventory
308310
}

src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/dailyquest/QuestLoader.kt

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@ import at.hannibal2.skyhanni.features.nether.reputationhelper.dailyquest.quest.*
55
import at.hannibal2.skyhanni.utils.InventoryUtils.getInventoryName
66
import at.hannibal2.skyhanni.utils.ItemUtils.getLore
77
import at.hannibal2.skyhanni.utils.LorenzUtils
8-
import at.hannibal2.skyhanni.utils.LorenzVec
98
import at.hannibal2.skyhanni.utils.TabListUtils
109
import net.minecraft.client.Minecraft
1110
import net.minecraft.client.gui.inventory.GuiChest
1211
import net.minecraft.inventory.ContainerChest
1312

14-
class QuestLoader(val dailyQuestHelper: DailyQuestHelper) {
13+
class QuestLoader(private val dailyQuestHelper: DailyQuestHelper) {
1514

1615
fun loadFromTabList() {
1716
var i = -1
@@ -86,16 +85,7 @@ class QuestLoader(val dailyQuestHelper: DailyQuestHelper) {
8685
for ((entryName, extraData) in category.entrySet()) {
8786
val data = extraData.asJsonObject
8887
val displayItem = data["item"]?.asString
89-
val locationData = data["location"]?.asJsonArray
90-
val location: LorenzVec? = if (locationData == null || locationData.size() == 0) {
91-
null
92-
} else {
93-
val x = locationData[0].asDouble
94-
val y = locationData[1].asDouble
95-
val z = locationData[2].asDouble
96-
LorenzVec(x, y, z)
97-
}
98-
88+
val location = dailyQuestHelper.reputationHelper.readLocationData(data)
9989
if (name.startsWith("$entryName Rank ")) {
10090
val split = name.split(" Rank ")
10191
val dojoName = split[0]

src/main/java/at/hannibal2/skyhanni/features/nether/reputationhelper/miniboss/DailyMiniBossHelper.kt

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import at.hannibal2.skyhanni.features.nether.reputationhelper.CrimsonIsleReputat
88
import at.hannibal2.skyhanni.test.GriffinUtils.drawWaypointFilled
99
import at.hannibal2.skyhanni.utils.LorenzColor
1010
import at.hannibal2.skyhanni.utils.LorenzUtils
11-
import at.hannibal2.skyhanni.utils.LorenzVec
1211
import at.hannibal2.skyhanni.utils.NEUItems
1312
import at.hannibal2.skyhanni.utils.RenderUtils.drawDynamicText
1413
import net.minecraftforge.client.event.RenderWorldLastEvent
@@ -20,28 +19,6 @@ class DailyMiniBossHelper(private val reputationHelper: CrimsonIsleReputationHel
2019

2120
val miniBosses = mutableListOf<CrimsonMiniBoss>()
2221

23-
fun init() {
24-
val repoData = reputationHelper.repoData
25-
val jsonElement = repoData["MINIBOSS"]
26-
for ((displayName, extraData) in jsonElement.asJsonObject.entrySet()) {
27-
val data = extraData.asJsonObject
28-
val displayItem = data["item"]?.asString
29-
val patterns = " *§r§6§l${displayName.uppercase()} DOWN!"
30-
31-
val locationData = data["location"]?.asJsonArray
32-
val location: LorenzVec? = if (locationData == null || locationData.size() == 0) {
33-
null
34-
} else {
35-
val x = locationData[0].asDouble
36-
val y = locationData[1].asDouble
37-
val z = locationData[2].asDouble
38-
LorenzVec(x, y, z)
39-
}
40-
41-
miniBosses.add(CrimsonMiniBoss(displayName, displayItem, location, Pattern.compile(patterns)))
42-
}
43-
}
44-
4522
@SubscribeEvent
4623
fun onChat(event: LorenzChatEvent) {
4724
if (!HyPixelData.skyBlock) return
@@ -113,7 +90,21 @@ class DailyMiniBossHelper(private val reputationHelper: CrimsonIsleReputationHel
11390
.forEach { SkyHanniMod.feature.hidden.crimsonIsleMiniBossesDoneToday.add(it.displayName) }
11491
}
11592

116-
fun loadConfig() {
93+
fun load() {
94+
miniBosses.clear()
95+
96+
//Repo
97+
val repoData = reputationHelper.repoData
98+
val jsonElement = repoData["MINIBOSS"]
99+
for ((displayName, extraData) in jsonElement.asJsonObject.entrySet()) {
100+
val data = extraData.asJsonObject
101+
val displayItem = data["item"]?.asString
102+
val patterns = " *§r§6§l${displayName.uppercase()} DOWN!"
103+
val location = reputationHelper.readLocationData(data)
104+
miniBosses.add(CrimsonMiniBoss(displayName, displayItem, location, Pattern.compile(patterns)))
105+
}
106+
107+
//Config
117108
for (name in SkyHanniMod.feature.hidden.crimsonIsleMiniBossesDoneToday) {
118109
getByDisplayName(name)!!.doneToday = true
119110
}

0 commit comments

Comments
 (0)