package net.hareworks.ghostdisplays.api.click import net.hareworks.ghostdisplays.api.DisplayController import org.bukkit.entity.Entity import org.bukkit.entity.Player import org.bukkit.event.player.PlayerInteractEntityEvent import org.bukkit.inventory.EquipmentSlot enum class ClickPriority { HIGH, NORMAL, LOW } enum class ClickSurface { DISPLAY, INTERACTION } data class DisplayClickContext( val player: Player, val hand: EquipmentSlot?, val clickedEntity: Entity, val surface: ClickSurface, val controller: DisplayController<*>, val event: PlayerInteractEntityEvent ) fun interface DisplayClickHandler { fun handle(context: DisplayClickContext) } fun interface HandlerRegistration { fun unregister() }