RuneHive-Game
Loading...
Searching...
No Matches
ItemOnPlayerEvent.kt
Go to the documentation of this file.
1package org.jire.runehiveps.event.player
2
3import com.runehive.game.event.impl.ItemOnPlayerEvent
4import com.runehive.game.plugin.PluginManager
5import com.runehive.game.world.World
6import com.runehive.game.world.entity.mob.player.Player
7import com.runehive.net.packet.out.SendMessage
8import org.jire.runehiveps.event.Event
9import kotlin.jvm.optionals.getOrNull
10
11/**
12 * @author Jire
13 */
14class ItemOnPlayerEvent(
15 val interfaceId: Int,
16 val item: Int,
17 val itemSlot: Int,
18 val slot: Int
19) : Event {
20
21 override fun handle(player: Player) {
22 val used = player.inventory[itemSlot] ?: return
23 if (!used.matchesId(item)) return
24
25 val other = World.getPlayerBySlot(slot).getOrNull() ?: return
26
27 player.walkTo(other) {
28 player.face(other.position)
29 if (!PluginManager.getDataBus().publish(player, ItemOnPlayerEvent(other, used, itemSlot))) {
30 player.send(SendMessage("Nothing interesting happens."))
31 }
32 }
33 }
34
35}