Skip to content

Commit fa6b0e9

Browse files
fix: Use correct method of getting Skull ID
1 parent 6501524 commit fa6b0e9

File tree

1 file changed

+6
-4
lines changed
  • mod/src/main/kotlin/gg/skytils/skytilsmod/features/impl/misc

1 file changed

+6
-4
lines changed

mod/src/main/kotlin/gg/skytils/skytilsmod/features/impl/misc/MiscFeatures.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ import net.minecraft.entity.projectile.FishingBobberEntity
8484
import net.minecraft.text.ClickEvent
8585
import net.minecraft.text.HoverEvent
8686
import net.minecraft.block.Blocks
87+
import net.minecraft.component.DataComponentTypes
8788
import net.minecraft.entity.boss.WitherEntity
8889
import net.minecraft.item.Items
8990
import net.minecraft.screen.GenericContainerScreenHandler
@@ -95,6 +96,7 @@ import net.minecraft.text.Text
9596
import java.awt.Color
9697
import java.time.Duration
9798
import java.time.Instant
99+
import java.util.UUID
98100
import kotlin.jvm.optionals.getOrDefault
99101
import kotlin.jvm.optionals.getOrNull
100102

@@ -273,20 +275,20 @@ object MiscFeatures : EventSubscriber {
273275
}
274276
}
275277

278+
private val trickOrTreat = UUID.fromString("f955b4ac-0c41-3e45-8703-016c46a8028e")
276279
fun onJoin(event: EntityJoinWorldEvent) {
277280
val player = mc.player
278281
if (!Utils.inSkyblock || player == null || mc.world == null) return
279282
if (event.entity is ArmorStandEntity) {
280283
tickTimer(5) {
281284
val entity = event.entity as ArmorStandEntity
282285
val headSlot = entity.getEquippedStack(EquipmentSlot.HEAD)
283-
val headNbt = headSlot?.toNbt(player.registryManager)?.asCompound()?.getOrNull() ?: return@tickTimer
284-
if (Skytils.config.trickOrTreatChestAlert && mc.player != null && headSlot.item === Items.PLAYER_HEAD && !headNbt.isEmpty && entity.squaredDistanceTo(
286+
val headUUID = headSlot?.get(DataComponentTypes.PROFILE)?.id?.getOrNull() ?: return@tickTimer
287+
if (Skytils.config.trickOrTreatChestAlert && mc.player != null && headSlot.item === Items.PLAYER_HEAD && entity.squaredDistanceTo(
285288
mc.player
286289
) < 10 * 10
287290
) {
288-
if (headNbt.getCompound("SkullOwner").getOrNull()?.get("Id")?.asString()?.getOrNull() == "f955b4ac-0c41-3e45-8703-016c46a8028e"
289-
) {
291+
if (headUUID == trickOrTreat) {
290292
createTitle("§cTrick or Treat!", 60)
291293
}
292294
}

0 commit comments

Comments
 (0)