1package org.jire.runehiveps.event.npc
3import com.runehive.game.world.World
4import com.runehive.game.world.entity.mob.data.PacketType
5import com.runehive.game.world.entity.mob.npc.Npc
6import com.runehive.game.world.entity.mob.player.Player
7import kotlin.jvm.optionals.getOrNull
12interface NpcClickEvent : NpcEvent {
16 override fun canHandle(player: Player) = super.canHandle(player)
17 && !player.locking.locked(PacketType.CLICK_NPC)
19 override fun handle(player: Player) {
20 val npc = World.getNpcBySlot(slot).getOrNull() ?: return
21 if (!npc.isValid) return
23 val position = npc.position
24 val region = World.getRegions().getRegion(position)
25 if (!region.containsNpc(position.height, npc)) return
27 handleNpc(player, npc)
30 fun handleNpc(player: Player, npc: Npc) {}