aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-09-16 12:34:18 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-09-16 12:34:18 +0200
commit4293cfd919c3c93d4532534f722c407d7ad1370d (patch)
treef9f612f021ef7f4283d74312edfaca30badc6749 /src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown
parent538e3ceb76f8e0b590291ce9aa90aa94896cdcb6 (diff)
parent024ba52fb69b6cd44b4e31542867f802de656f15 (diff)
downloadSkyHanni-cum.tar.gz
SkyHanni-cum.tar.bz2
SkyHanni-cum.zip
Merge branch 'beta' into cumcum
# Conflicts: # src/main/java/at/hannibal2/skyhanni/config/ConfigManager.kt # src/main/java/at/hannibal2/skyhanni/config/features/AshfangConfig.java
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbility.kt13
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbilityCooldown.kt30
2 files changed, 33 insertions, 10 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbility.kt b/src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbility.kt
index 81ce2ac2d..de6f1521f 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbility.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbility.kt
@@ -2,6 +2,8 @@ package at.hannibal2.skyhanni.features.itemabilities.abilitycooldown
import at.hannibal2.skyhanni.utils.LorenzColor
import at.hannibal2.skyhanni.utils.LorenzUtils
+import at.hannibal2.skyhanni.utils.NEUInternalName
+import at.hannibal2.skyhanni.utils.NEUInternalName.Companion.asInternalName
enum class ItemAbility(
val abilityName: String,
@@ -39,6 +41,7 @@ enum class ItemAbility(
WITHER_CLOAK(10),
HOLY_ICE(4),
VOODOO_DOLL_WILTED(3),
+ FIRE_FURY_STAFF(20),
SHADOW_FURY(15, "STARRED_SHADOW_FURY"),
// doesn't have a sound
@@ -51,7 +54,7 @@ enum class ItemAbility(
ECHO("Echo", 3, "Ancestral Spade");
var newVariant = false
- var internalNames = mutableListOf<String>()
+ var internalNames = mutableListOf<NEUInternalName>()
constructor(
cooldownInSeconds: Int,
@@ -59,8 +62,10 @@ enum class ItemAbility(
alternativePosition: Boolean = false,
) : this("no name", cooldownInSeconds, actionBarDetection = false, alternativePosition = alternativePosition) {
newVariant = true
- internalNames.addAll(alternateInternalNames)
- internalNames.add(name)
+ alternateInternalNames.forEach {
+ internalNames.add(it.asInternalName())
+ }
+ internalNames.add(name.asInternalName())
}
fun activate(color: LorenzColor? = null, customCooldown: Int = (cooldownInSeconds * 1000)) {
@@ -92,7 +97,7 @@ enum class ItemAbility(
}
companion object {
- fun getByInternalName(internalName: String): ItemAbility? {
+ fun getByInternalName(internalName: NEUInternalName): ItemAbility? {
return entries.firstOrNull { it.newVariant && internalName in it.internalNames }
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbilityCooldown.kt b/src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbilityCooldown.kt
index f09e86164..a664bd0ce 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbilityCooldown.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/itemabilities/abilitycooldown/ItemAbilityCooldown.kt
@@ -6,7 +6,7 @@ import at.hannibal2.skyhanni.events.*
import at.hannibal2.skyhanni.utils.InventoryUtils
import at.hannibal2.skyhanni.utils.ItemUtils
import at.hannibal2.skyhanni.utils.ItemUtils.cleanName
-import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName_old
+import at.hannibal2.skyhanni.utils.ItemUtils.getInternalName
import at.hannibal2.skyhanni.utils.LorenzColor
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.LorenzUtils.between
@@ -25,6 +25,7 @@ class ItemAbilityCooldown {
private val youAlignedOthersPattern = "§eYou aligned §r§a.* §r§eother player(s)?!".toPattern()
private val WEIRD_TUBA = "WEIRD_TUBA".asInternalName()
private val WEIRDER_TUBA = "WEIRDER_TUBA".asInternalName()
+ private val VOODOO_DOLL_WILTED = "VOODOO_DOLL_WILTED".asInternalName()
@SubscribeEvent
fun onSoundEvent(event: PlaySoundEvent) {
@@ -36,6 +37,11 @@ class ItemAbilityCooldown {
ItemAbility.HYPERION.sound()
}
}
+ if (event.soundName == "liquid.lavapop") {
+ if (event.pitch == 1.0f && event.volume == 1f) {
+ ItemAbility.FIRE_FURY_STAFF.sound()
+ }
+ }
if (event.soundName == "mob.enderdragon.growl") {
if (event.pitch == 1f && event.volume == 1f) {
ItemAbility.ICE_SPRAY_WAND.sound()
@@ -46,8 +52,12 @@ class ItemAbilityCooldown {
ItemAbility.GYROKINETIC_WAND_LEFT.sound()
}
if (event.pitch == 1f && event.volume == 1f) {
- val internalName = InventoryUtils.getItemInHand()?.getInternalName_old() ?: return
- if (!internalName.equalsOneOf("SHADOW_FURY", "STARRED_SHADOW_FURY")) return
+ val internalName = InventoryUtils.getItemInHand()?.getInternalName() ?: return
+ if (!internalName.equalsOneOf(
+ "SHADOW_FURY".asInternalName(),
+ "STARRED_SHADOW_FURY".asInternalName()
+ )
+ ) return
ItemAbility.SHADOW_FURY.sound()
}
@@ -82,11 +92,19 @@ class ItemAbilityCooldown {
ItemAbility.VOODOO_DOLL.sound()
}
}
- if (event.soundName == "random.successful_hit") {
+ if (event.soundName == "random.successful_hit") { // Jinxed Voodoo Doll Hit
if (event.volume == 1.0f && event.pitch == 0.7936508f) {
ItemAbility.VOODOO_DOLL_WILTED.sound()
}
}
+ if (event.soundName == "mob.ghast.scream") { // Jinxed Voodoo Doll Miss
+ if (event.volume == 1.0f && event.pitch >= 1.6 && event.pitch <= 1.7) {
+ val recentItems = InventoryUtils.recentItemsInHand.values
+ if (VOODOO_DOLL_WILTED in recentItems) {
+ ItemAbility.VOODOO_DOLL_WILTED.sound()
+ }
+ }
+ }
if (event.soundName == "random.explode") {
if (event.pitch == 4.047619f && event.volume == 0.2f) {
ItemAbility.GOLEM_SWORD.sound()
@@ -157,7 +175,7 @@ class ItemAbilityCooldown {
private fun handleItemClick(itemInHand: ItemStack?) {
if (!LorenzUtils.inSkyBlock) return
- itemInHand?.getInternalName_old()?.run {
+ itemInHand?.getInternalName()?.run {
ItemAbility.getByInternalName(this)?.setItemClick()
}
}
@@ -321,7 +339,7 @@ class ItemAbilityCooldown {
private fun hasAbility(stack: ItemStack): MutableList<ItemAbility> {
val itemName: String = stack.cleanName()
- val internalName = stack.getInternalName_old()
+ val internalName = stack.getInternalName()
val list = mutableListOf<ItemAbility>()
for (ability in ItemAbility.entries) {