Skip to content

Commit 4109d95

Browse files
feat: ping when particle burrow nearby
1 parent 227f6cf commit 4109d95

File tree

2 files changed

+22
-11
lines changed

2 files changed

+22
-11
lines changed

src/main/kotlin/gg/skytils/skytilsmod/core/Config.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1563,6 +1563,13 @@ object Config : Vigilant(
15631563
var treasureBurrowColor = Color(173, 216, 230)
15641564

15651565
// TODO: Add translations
1566+
@Property(
1567+
type = PropertyType.SWITCH, name = "Ping when Burrow is Nearby",
1568+
description = "Pings when a burrow is nearby.",
1569+
category = "Events", subcategory = "Mythological"
1570+
)
1571+
var pingNearbyBurrow = false
1572+
15661573
@Property(
15671574
type = PropertyType.SWITCH, name = "Griffin Burrow Estimation",
15681575
description = "Estimates griffin burrow position after using spade near the previous burrow.",
@@ -4376,7 +4383,9 @@ object Config : Vigilant(
43764383
arrayOf(
43774384
"emptyBurrowColor",
43784385
"mobBurrowColor",
4379-
"treasureBurrowColor"
4386+
"treasureBurrowColor",
4387+
"burrowEstimation",
4388+
"pingNearbyBurrow"
43804389
).forEach { propertyName -> addDependency(propertyName, "showGriffinBurrows") }
43814390

43824391
addDependency("activePetColor", "highlightActivePet")

src/main/kotlin/gg/skytils/skytilsmod/features/impl/events/GriffinBurrows.kt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,10 @@
1818
package gg.skytils.skytilsmod.features.impl.events
1919

2020
import com.google.common.collect.EvictingQueue
21-
import gg.essential.elementa.state.BasicState
22-
import gg.essential.elementa.state.State
2321
import gg.essential.universal.UMatrixStack
24-
import gg.essential.universal.UMinecraft
25-
import gg.essential.universal.wrappers.UPlayer
2622
import gg.skytils.skytilsmod.Skytils
2723
import gg.skytils.skytilsmod.Skytils.Companion.mc
24+
import gg.skytils.skytilsmod.core.SoundQueue
2825
import gg.skytils.skytilsmod.events.impl.MainReceivePacketEvent
2926
import gg.skytils.skytilsmod.events.impl.PacketEvent
3027
import gg.skytils.skytilsmod.utils.*
@@ -56,7 +53,7 @@ import kotlin.math.sin
5653
object GriffinBurrows {
5754
val particleBurrows = hashMapOf<BlockPos, ParticleBurrow>()
5855
var lastDugParticleBurrow: BlockPos? = null
59-
val recentlyDugParticleBurrows: EvictingQueue<BlockPos> = EvictingQueue.create(5)
56+
val recentlyDugParticleBurrows = EvictingQueue.create<BlockPos>(5)
6057

6158
var hasSpadeInHotbar = false
6259

@@ -190,6 +187,11 @@ object GriffinBurrows {
190187
val burrow = particleBurrows.getOrPut(pos) {
191188
ParticleBurrow(pos, hasFootstep = false, hasEnchant = false)
192189
}
190+
if (burrow.type == -1 && type.isBurrowType) {
191+
if (Skytils.config.pingNearbyBurrow) {
192+
SoundQueue.addToQueue("random.orb", 0.8f, 1f, 0, true)
193+
}
194+
}
193195
when (type) {
194196
ParticleType.FOOTSTEP -> burrow.hasFootstep = true
195197
ParticleType.ENCHANT -> burrow.hasEnchant = true
@@ -255,8 +257,8 @@ object GriffinBurrows {
255257
BlockPos(x, y, z)
256258
}
257259

258-
protected abstract val waypointText: String
259-
protected abstract val color: Color
260+
abstract val waypointText: String
261+
abstract val color: Color
260262
fun drawWaypoint(partialTicks: Float, matrixStack: UMatrixStack) {
261263
val (viewerX, viewerY, viewerZ) = RenderUtil.getViewerPos(partialTicks)
262264
val renderX = this.x - viewerX
@@ -341,7 +343,7 @@ object GriffinBurrows {
341343
private val ItemStack?.isSpade
342344
get() = ItemUtil.getSkyBlockItemID(this) == "ANCESTRAL_SPADE"
343345

344-
private enum class ParticleType(val check: S2APacketParticles.() -> Boolean) {
346+
private enum class ParticleType(val check: S2APacketParticles.() -> Boolean, val isBurrowType: Boolean = true) {
345347
EMPTY({
346348
type == EnumParticleTypes.CRIT_MAGIC && count == 4 && speed == 0.01f && xOffset == 0.5f && yOffset == 0.1f && zOffset == 0.5f
347349
}),
@@ -354,10 +356,10 @@ object GriffinBurrows {
354356
}),
355357
FOOTSTEP({
356358
type == EnumParticleTypes.FOOTSTEP && count == 1 && speed == 0.0f && xOffset == 0.05f && yOffset == 0.0f && zOffset == 0.05f
357-
}),
359+
}, false),
358360
ENCHANT({
359361
type == EnumParticleTypes.ENCHANTMENT_TABLE && count == 5 && speed == 0.05f && xOffset == 0.5f && yOffset == 0.4f && zOffset == 0.5f
360-
});
362+
}, false);
361363

362364
companion object {
363365
fun getParticleType(packet: S2APacketParticles): ParticleType? {

0 commit comments

Comments
 (0)