summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2024-01-21 21:03:48 +0100
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2024-01-21 21:03:48 +0100
commit0e0cfa64115c1bd05cbc09c1d354a95972cb9743 (patch)
tree3a0871287eb83824dae7b330609aa125addc015f /src/main/java/at/hannibal2/skyhanni/features
parent3bc18d545a395eb5a7d045d5163b51b2bc9a3278 (diff)
downloadskyhanni-0e0cfa64115c1bd05cbc09c1d354a95972cb9743.tar.gz
skyhanni-0e0cfa64115c1bd05cbc09c1d354a95972cb9743.tar.bz2
skyhanni-0e0cfa64115c1bd05cbc09c1d354a95972cb9743.zip
Gave Damage Indicator mobs correct names in floor 1, 2, 3 and 6. (Removed "Generic Dungeon Boss")
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/BossType.kt25
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/EntityResult.kt2
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/MobFinder.kt32
4 files changed, 52 insertions, 19 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/BossType.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/BossType.kt
index 11f16ae7f..4f5145a79 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/BossType.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/BossType.kt
@@ -10,8 +10,6 @@ enum class BossType(
val shortName: String = fullName,
val showDeathTime: Boolean = false
) {
- GENERIC_DUNGEON_BOSS("Generic Dungeon boss", Type.DUNGEON_ALL),//TODO split into different bosses
-
//Nether Mini Bosses
NETHER_BLADESOUL("§8Bladesoul", Type.NETHER_MINI_BOSSES),
NETHER_MAGMA_BOSS("§4Magma Boss", Type.NETHER_MINI_BOSSES),
@@ -68,13 +66,26 @@ enum class BossType(
HUB_HEADLESS_HORSEMAN("§6Headless Horseman", Type.HEADLESS_HORSEMAN),
- DUNGEON_F1("", Type.DUNGEON_FLOOR_1),
- DUNGEON_F2("", Type.DUNGEON_FLOOR_2),
- DUNGEON_F3("", Type.DUNGEON_FLOOR_3),
+
+ DUNGEON_F1_BONZO_FIRST("§cFunny Bonzo", Type.DUNGEON_FLOOR_1),
+ DUNGEON_F1_BONZO_SECOND("§cSad Bonzo", Type.DUNGEON_FLOOR_1),
+
+ DUNGEON_F2_SUMMON("§eSummon", Type.DUNGEON_FLOOR_2),
+ DUNGEON_F2_SCARF("§cScarf", Type.DUNGEON_FLOOR_2),
+
+ DUNGEON_F3_GUARDIAN("§eGuardian", Type.DUNGEON_FLOOR_3),
+ DUNGEON_F3_PROFESSOR_1("§cProfessor 1/2", Type.DUNGEON_FLOOR_3),
+ DUNGEON_F3_PROFESSOR_2("§cProfessor 2/2", Type.DUNGEON_FLOOR_3),
+
DUNGEON_F4_THORN("§cThorn", Type.DUNGEON_FLOOR_4),
+
DUNGEON_F5("§dLivid", Type.DUNGEON_FLOOR_5),
- DUNGEON_F("", Type.DUNGEON_FLOOR_6),
- DUNGEON_75("", Type.DUNGEON_FLOOR_7),
+
+ DUNGEON_F6_GIANT("§eGiant", Type.DUNGEON_FLOOR_6),
+ DUNGEON_F6_SADAN("§cSadan", Type.DUNGEON_FLOOR_6),
+
+ // TODO implement
+ DUNGEON_7("", Type.DUNGEON_FLOOR_7),
MINOS_INQUISITOR("§5Minos Inquisitor", Type.DIANA_MOBS),
MINOS_CHAMPION("§2Minos Champion", Type.DIANA_MOBS),
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt
index 1b4f1fc32..9d20ee2b7 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/DamageIndicatorManager.kt
@@ -41,6 +41,7 @@ import at.hannibal2.skyhanni.utils.StringUtils.matchMatcher
import at.hannibal2.skyhanni.utils.StringUtils.removeColor
import at.hannibal2.skyhanni.utils.TimeUtils.format
import at.hannibal2.skyhanni.utils.getLorenzVec
+import com.google.gson.JsonArray
import net.minecraft.client.Minecraft
import net.minecraft.client.entity.EntityOtherPlayerMP
import net.minecraft.client.renderer.GlStateManager
@@ -885,6 +886,17 @@ class DamageIndicatorManager {
event.transform(15, "combat.damageIndicator.bossName") { element ->
ConfigUtils.migrateIntToEnum(element, NameVisibility::class.java)
}
+ event.transform(23, "combat.damageIndicator.bossesToShow") { element ->
+ val result = JsonArray()
+ for (bossType in element as JsonArray) {
+ if (bossType.asString == "DUNGEON_ALL") continue
+ result.add(bossType)
+ }
+
+ result
+ }
+
+
}
fun isEnabled() = LorenzUtils.inSkyBlock && config.enabled
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/EntityResult.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/EntityResult.kt
index 2488b00ef..ab6db53cc 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/EntityResult.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/EntityResult.kt
@@ -4,5 +4,5 @@ class EntityResult(
val delayedStart: Long? = null,
val ignoreBlocks: Boolean = false,
val finalDungeonBoss: Boolean = false,
- val bossType: BossType = BossType.GENERIC_DUNGEON_BOSS,
+ val bossType: BossType,
)
diff --git a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/MobFinder.kt b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/MobFinder.kt
index e079dd76b..7a5407581 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/MobFinder.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/combat/damageindicator/MobFinder.kt
@@ -142,11 +142,11 @@ class MobFinder {
private fun tryAddDungeonF1(entity: EntityLivingBase) = when {
floor1bonzo1 && entity is EntityOtherPlayerMP && entity.name == "Bonzo " -> {
- EntityResult(floor1bonzo1SpawnTime)
+ EntityResult(floor1bonzo1SpawnTime, bossType = BossType.DUNGEON_F1_BONZO_FIRST)
}
floor1bonzo2 && entity is EntityOtherPlayerMP && entity.name == "Bonzo " -> {
- EntityResult(floor1bonzo2SpawnTime, finalDungeonBoss = true)
+ EntityResult(floor1bonzo2SpawnTime, bossType = BossType.DUNGEON_F1_BONZO_SECOND, finalDungeonBoss = true)
}
else -> null
@@ -156,19 +156,23 @@ class MobFinder {
if (entity.name == "Summon " && entity is EntityOtherPlayerMP) {
if (floor2summons1 && !floor2summonsDiedOnce.contains(entity)) {
if (entity.health.toInt() != 0) {
- return EntityResult(floor2summons1SpawnTime)
+ return EntityResult(floor2summons1SpawnTime, bossType = BossType.DUNGEON_F2_SUMMON)
}
floor2summonsDiedOnce.add(entity)
}
if (floor2secondPhase) {
- return EntityResult(floor2secondPhaseSpawnTime)
+ return EntityResult(floor2secondPhaseSpawnTime, bossType = BossType.DUNGEON_F2_SUMMON)
}
}
if (floor2secondPhase && entity is EntityOtherPlayerMP) {
//TODO only show scarf after (all/at least x) summons are dead?
if (entity.name == "Scarf ") {
- return EntityResult(floor2secondPhaseSpawnTime, finalDungeonBoss = true)
+ return EntityResult(
+ floor2secondPhaseSpawnTime,
+ finalDungeonBoss = true,
+ bossType = BossType.DUNGEON_F2_SCARF
+ )
}
}
return null
@@ -182,22 +186,27 @@ class MobFinder {
findGuardians()
}
if (guardians.contains(entity)) {
- return EntityResult(floor3GuardianShieldSpawnTime, true)
+ return EntityResult(floor3GuardianShieldSpawnTime, true, bossType = BossType.DUNGEON_F3_GUARDIAN)
}
}
if (floor3Professor && entity is EntityOtherPlayerMP && entity.name == "The Professor") {
return EntityResult(
floor3ProfessorSpawnTime,
- floor3ProfessorSpawnTime + 1_000 > System.currentTimeMillis()
+ floor3ProfessorSpawnTime + 1_000 > System.currentTimeMillis(),
+ bossType = BossType.DUNGEON_F3_PROFESSOR_1
)
}
if (floor3ProfessorGuardianPrepare && entity is EntityOtherPlayerMP && entity.name == "The Professor") {
- return EntityResult(floor3ProfessorGuardianPrepareSpawnTime, true)
+ return EntityResult(
+ floor3ProfessorGuardianPrepareSpawnTime,
+ true,
+ bossType = BossType.DUNGEON_F3_PROFESSOR_2
+ )
}
if (entity is EntityGuardian && floor3ProfessorGuardian && entity == floor3ProfessorGuardianEntity) {
- return EntityResult(finalDungeonBoss = true)
+ return EntityResult(finalDungeonBoss = true, bossType = BossType.DUNGEON_F3_PROFESSOR_2)
}
return null
}
@@ -230,12 +239,13 @@ class MobFinder {
val extraDelay = checkExtraF6GiantsDelay(entity)
return EntityResult(
floor6GiantsSpawnTime + extraDelay,
- floor6GiantsSpawnTime + extraDelay + 1_000 > System.currentTimeMillis()
+ floor6GiantsSpawnTime + extraDelay + 1_000 > System.currentTimeMillis(),
+ bossType = BossType.DUNGEON_F6_GIANT
)
}
if (floor6Sadan) {
- return EntityResult(floor6SadanSpawnTime, finalDungeonBoss = true)
+ return EntityResult(floor6SadanSpawnTime, finalDungeonBoss = true, bossType = BossType.DUNGEON_F6_SADAN)
}
return null
}