// Generated by `wit-bindgen` 0.57.1. DO NOT EDIT! // // This code was generated from the following packages: // pumpkin:plugin@0.1.0 package pumpkin_plugin_event import ( "github.com/Pumpkin-MC/pumpkin-api-go/pkg/pumpkin_plugin_common" "github.com/Pumpkin-MC/pumpkin-api-go/pkg/pumpkin_plugin_player" "github.com/Pumpkin-MC/pumpkin-api-go/pkg/pumpkin_plugin_text" "github.com/Pumpkin-MC/pumpkin-api-go/pkg/pumpkin_plugin_world" witTypes "go.bytecodealliance.org/pkg/wit/types" ) type BlockPosition = witTypes.Tuple3[int32, int32, int32] type GameMode = pumpkin_plugin_common.GameMode type Hand = pumpkin_plugin_common.Hand type ItemStack = pumpkin_plugin_common.ItemStack type Position = witTypes.Tuple3[float64, float64, float64] type ClickType = pumpkin_plugin_common.ClickType type Player = pumpkin_plugin_player.Player type TextComponent = pumpkin_plugin_text.TextComponent type World = pumpkin_plugin_world.World const ( EventPriorityHighest uint8 = 0 EventPriorityHigh uint8 = 1 EventPriorityNormal uint8 = 2 EventPriorityLow uint8 = 3 EventPriorityLowest uint8 = 4 ) type EventPriority = uint8 type PlayerJoinEventData struct { Player *pumpkin_plugin_player.Player JoinMessage *pumpkin_plugin_text.TextComponent Cancelled bool } type PlayerLeaveEventData struct { Player *pumpkin_plugin_player.Player LeaveMessage *pumpkin_plugin_text.TextComponent Cancelled bool } type PlayerLoginEventData struct { Player *pumpkin_plugin_player.Player KickMessage *pumpkin_plugin_text.TextComponent Cancelled bool } type PlayerChatEventData struct { Player *pumpkin_plugin_player.Player Message string Recipients []*pumpkin_plugin_player.Player Cancelled bool } type PlayerCommandSendEventData struct { Player *pumpkin_plugin_player.Player Command string Cancelled bool } type PlayerPermissionCheckEventData struct { Player *pumpkin_plugin_player.Player Permission string PermissionResult bool } type PlayerMoveEventData struct { Player *pumpkin_plugin_player.Player FromPosition witTypes.Tuple3[float64, float64, float64] ToPosition witTypes.Tuple3[float64, float64, float64] Cancelled bool } type PlayerTeleportEventData struct { Player *pumpkin_plugin_player.Player FromPosition witTypes.Tuple3[float64, float64, float64] ToPosition witTypes.Tuple3[float64, float64, float64] Cancelled bool } type PlayerChangeWorldEventData struct { Player *pumpkin_plugin_player.Player PreviousWorld *pumpkin_plugin_world.World NewWorld *pumpkin_plugin_world.World Position witTypes.Tuple3[float64, float64, float64] Yaw float32 Pitch float32 Cancelled bool } type PlayerExpChangeEventData struct { Player *pumpkin_plugin_player.Player Amount int32 } type PlayerItemHeldEventData struct { Player *pumpkin_plugin_player.Player PreviousSlot uint8 NewSlot uint8 Cancelled bool } type PlayerChangedMainHandEventData struct { Player *pumpkin_plugin_player.Player MainHand pumpkin_plugin_common.Hand } type PlayerGamemodeChangeEventData struct { Player *pumpkin_plugin_player.Player PreviousGamemode pumpkin_plugin_common.GameMode NewGamemode pumpkin_plugin_common.GameMode Cancelled bool } type PlayerCustomPayloadEventData struct { Player *pumpkin_plugin_player.Player Channel string Data []uint8 } const ( PlayerFishStateFishing uint8 = 0 PlayerFishStateCaughtFish uint8 = 1 PlayerFishStateCaughtEntity uint8 = 2 PlayerFishStateInGround uint8 = 3 PlayerFishStateFailedAttempt uint8 = 4 PlayerFishStateReelIn uint8 = 5 PlayerFishStateBite uint8 = 6 ) type PlayerFishState = uint8 type PlayerFishEventData struct { Player *pumpkin_plugin_player.Player CaughtUuid witTypes.Option[string] CaughtType string HookUuid string State PlayerFishState Hand pumpkin_plugin_common.Hand ExpToDrop int32 Cancelled bool } type PlayerEggThrowEventData struct { Player *pumpkin_plugin_player.Player EggUuid string Hatching bool NumHatches uint8 HatchingType string Cancelled bool } const ( EntityInteractionActionInteract uint8 = 0 EntityInteractionActionAttack uint8 = 1 EntityInteractionActionInteractAt uint8 = 2 ) type EntityInteractionAction = uint8 const ( InteractActionLeftClickBlock uint8 = 0 InteractActionLeftClickAir uint8 = 1 InteractActionRightClickAir uint8 = 2 InteractActionRightClickBlock uint8 = 3 ) type InteractAction = uint8 type PlayerInteractEventData struct { Player *pumpkin_plugin_player.Player Action InteractAction ClickedPos witTypes.Option[witTypes.Tuple3[int32, int32, int32]] Block string Cancelled bool } type PlayerToggleSneakEventData struct { Player *pumpkin_plugin_player.Player IsSneaking bool Cancelled bool } type PlayerToggleFlightEventData struct { Player *pumpkin_plugin_player.Player IsFlying bool Cancelled bool } type PlayerToggleSprintEventData struct { Player *pumpkin_plugin_player.Player IsSprinting bool Cancelled bool } type PlayerInteractUnknownEntityEventData struct { Player *pumpkin_plugin_player.Player EntityId int32 Action EntityInteractionAction Cancelled bool } type InventoryClickEventData struct { Player *pumpkin_plugin_player.Player WindowType witTypes.Option[string] ClickType pumpkin_plugin_common.ClickType Slot int16 RawSlot int16 ClickedItem witTypes.Option[pumpkin_plugin_common.ItemStack] Cursor witTypes.Option[pumpkin_plugin_common.ItemStack] HotbarButton int32 Cancelled bool } type InventoryCloseEventData struct { Player *pumpkin_plugin_player.Player WindowType witTypes.Option[string] } type BlockRedstoneEventData struct { TargetWorld *pumpkin_plugin_world.World StateId uint16 BlockPosition witTypes.Tuple3[int32, int32, int32] OldCurrent int32 NewCurrent int32 Cancelled bool } type BlockBreakEventData struct { Player witTypes.Option[*pumpkin_plugin_player.Player] Block string BlockPosition witTypes.Tuple3[int32, int32, int32] Exp uint32 ShouldDrop bool Cancelled bool } type BlockBurnEventData struct { IgnitingBlock string Block string Cancelled bool } type BlockCanBuildEventData struct { BlockToBuild string Buildable bool Player *pumpkin_plugin_player.Player Block string Cancelled bool } type BlockGrowEventData struct { TargetWorld *pumpkin_plugin_world.World OldBlock string OldStateId uint16 NewBlock string NewStateId uint16 BlockPosition witTypes.Tuple3[int32, int32, int32] Cancelled bool } type BlockPlaceEventData struct { Player *pumpkin_plugin_player.Player BlockPlaced string BlockPlacedAgainst string BlockPosition witTypes.Tuple3[int32, int32, int32] CanBuild bool Cancelled bool } type ServerCommandEventData struct { Command string Cancelled bool } type SpawnChangeEventData struct { TargetWorld *pumpkin_plugin_world.World PreviousPosition witTypes.Tuple3[int32, int32, int32] PreviousYaw float32 PreviousPitch float32 NewPosition witTypes.Tuple3[int32, int32, int32] NewYaw float32 NewPitch float32 } type ServerBroadcastEventData struct { Message *pumpkin_plugin_text.TextComponent Sender *pumpkin_plugin_text.TextComponent Cancelled bool } const ( EventTypePlayerJoinEvent uint8 = 0 EventTypePlayerLeaveEvent uint8 = 1 EventTypePlayerLoginEvent uint8 = 2 EventTypePlayerChatEvent uint8 = 3 EventTypePlayerCommandSendEvent uint8 = 4 EventTypePlayerPermissionCheckEvent uint8 = 5 EventTypePlayerMoveEvent uint8 = 6 EventTypePlayerTeleportEvent uint8 = 7 EventTypePlayerChangeWorldEvent uint8 = 8 EventTypePlayerExpChangeEvent uint8 = 9 EventTypePlayerItemHeldEvent uint8 = 10 EventTypePlayerChangedMainHandEvent uint8 = 11 EventTypePlayerGamemodeChangeEvent uint8 = 12 EventTypePlayerCustomPayloadEvent uint8 = 13 EventTypePlayerFishEvent uint8 = 14 EventTypePlayerEggThrowEvent uint8 = 15 EventTypePlayerInteractUnknownEntityEvent uint8 = 16 EventTypePlayerInteractEvent uint8 = 17 EventTypePlayerToggleSneakEvent uint8 = 18 EventTypePlayerToggleFlightEvent uint8 = 19 EventTypePlayerToggleSprintEvent uint8 = 20 EventTypeInventoryClickEvent uint8 = 21 EventTypeInventoryCloseEvent uint8 = 22 EventTypeBlockRedstoneEvent uint8 = 23 EventTypeBlockBreakEvent uint8 = 24 EventTypeBlockBurnEvent uint8 = 25 EventTypeBlockCanBuildEvent uint8 = 26 EventTypeBlockGrowEvent uint8 = 27 EventTypeBlockPlaceEvent uint8 = 28 EventTypeServerCommandEvent uint8 = 29 EventTypeSpawnChangeEvent uint8 = 30 EventTypeServerBroadcastEvent uint8 = 31 ) type EventType = uint8 const ( EventPlayerJoinEvent uint8 = 0 EventPlayerLeaveEvent uint8 = 1 EventPlayerLoginEvent uint8 = 2 EventPlayerChatEvent uint8 = 3 EventPlayerCommandSendEvent uint8 = 4 EventPlayerPermissionCheckEvent uint8 = 5 EventPlayerMoveEvent uint8 = 6 EventPlayerTeleportEvent uint8 = 7 EventPlayerChangeWorldEvent uint8 = 8 EventPlayerExpChangeEvent uint8 = 9 EventPlayerItemHeldEvent uint8 = 10 EventPlayerChangedMainHandEvent uint8 = 11 EventPlayerGamemodeChangeEvent uint8 = 12 EventPlayerCustomPayloadEvent uint8 = 13 EventPlayerFishEvent uint8 = 14 EventPlayerEggThrowEvent uint8 = 15 EventPlayerInteractUnknownEntityEvent uint8 = 16 EventPlayerInteractEvent uint8 = 17 EventPlayerToggleSneakEvent uint8 = 18 EventPlayerToggleFlightEvent uint8 = 19 EventPlayerToggleSprintEvent uint8 = 20 EventInventoryClickEvent uint8 = 21 EventInventoryCloseEvent uint8 = 22 EventBlockRedstoneEvent uint8 = 23 EventBlockBreakEvent uint8 = 24 EventBlockBurnEvent uint8 = 25 EventBlockCanBuildEvent uint8 = 26 EventBlockGrowEvent uint8 = 27 EventBlockPlaceEvent uint8 = 28 EventServerCommandEvent uint8 = 29 EventSpawnChangeEvent uint8 = 30 EventServerBroadcastEvent uint8 = 31 ) type Event struct { tag uint8 value any } func (self Event) Tag() uint8 { return self.tag } func (self Event) PlayerJoinEvent() PlayerJoinEventData { if self.tag != EventPlayerJoinEvent { panic("tag mismatch") } return self.value.(PlayerJoinEventData) } func (self Event) PlayerLeaveEvent() PlayerLeaveEventData { if self.tag != EventPlayerLeaveEvent { panic("tag mismatch") } return self.value.(PlayerLeaveEventData) } func (self Event) PlayerLoginEvent() PlayerLoginEventData { if self.tag != EventPlayerLoginEvent { panic("tag mismatch") } return self.value.(PlayerLoginEventData) } func (self Event) PlayerChatEvent() PlayerChatEventData { if self.tag != EventPlayerChatEvent { panic("tag mismatch") } return self.value.(PlayerChatEventData) } func (self Event) PlayerCommandSendEvent() PlayerCommandSendEventData { if self.tag != EventPlayerCommandSendEvent { panic("tag mismatch") } return self.value.(PlayerCommandSendEventData) } func (self Event) PlayerPermissionCheckEvent() PlayerPermissionCheckEventData { if self.tag != EventPlayerPermissionCheckEvent { panic("tag mismatch") } return self.value.(PlayerPermissionCheckEventData) } func (self Event) PlayerMoveEvent() PlayerMoveEventData { if self.tag != EventPlayerMoveEvent { panic("tag mismatch") } return self.value.(PlayerMoveEventData) } func (self Event) PlayerTeleportEvent() PlayerTeleportEventData { if self.tag != EventPlayerTeleportEvent { panic("tag mismatch") } return self.value.(PlayerTeleportEventData) } func (self Event) PlayerChangeWorldEvent() PlayerChangeWorldEventData { if self.tag != EventPlayerChangeWorldEvent { panic("tag mismatch") } return self.value.(PlayerChangeWorldEventData) } func (self Event) PlayerExpChangeEvent() PlayerExpChangeEventData { if self.tag != EventPlayerExpChangeEvent { panic("tag mismatch") } return self.value.(PlayerExpChangeEventData) } func (self Event) PlayerItemHeldEvent() PlayerItemHeldEventData { if self.tag != EventPlayerItemHeldEvent { panic("tag mismatch") } return self.value.(PlayerItemHeldEventData) } func (self Event) PlayerChangedMainHandEvent() PlayerChangedMainHandEventData { if self.tag != EventPlayerChangedMainHandEvent { panic("tag mismatch") } return self.value.(PlayerChangedMainHandEventData) } func (self Event) PlayerGamemodeChangeEvent() PlayerGamemodeChangeEventData { if self.tag != EventPlayerGamemodeChangeEvent { panic("tag mismatch") } return self.value.(PlayerGamemodeChangeEventData) } func (self Event) PlayerCustomPayloadEvent() PlayerCustomPayloadEventData { if self.tag != EventPlayerCustomPayloadEvent { panic("tag mismatch") } return self.value.(PlayerCustomPayloadEventData) } func (self Event) PlayerFishEvent() PlayerFishEventData { if self.tag != EventPlayerFishEvent { panic("tag mismatch") } return self.value.(PlayerFishEventData) } func (self Event) PlayerEggThrowEvent() PlayerEggThrowEventData { if self.tag != EventPlayerEggThrowEvent { panic("tag mismatch") } return self.value.(PlayerEggThrowEventData) } func (self Event) PlayerInteractUnknownEntityEvent() PlayerInteractUnknownEntityEventData { if self.tag != EventPlayerInteractUnknownEntityEvent { panic("tag mismatch") } return self.value.(PlayerInteractUnknownEntityEventData) } func (self Event) PlayerInteractEvent() PlayerInteractEventData { if self.tag != EventPlayerInteractEvent { panic("tag mismatch") } return self.value.(PlayerInteractEventData) } func (self Event) PlayerToggleSneakEvent() PlayerToggleSneakEventData { if self.tag != EventPlayerToggleSneakEvent { panic("tag mismatch") } return self.value.(PlayerToggleSneakEventData) } func (self Event) PlayerToggleFlightEvent() PlayerToggleFlightEventData { if self.tag != EventPlayerToggleFlightEvent { panic("tag mismatch") } return self.value.(PlayerToggleFlightEventData) } func (self Event) PlayerToggleSprintEvent() PlayerToggleSprintEventData { if self.tag != EventPlayerToggleSprintEvent { panic("tag mismatch") } return self.value.(PlayerToggleSprintEventData) } func (self Event) InventoryClickEvent() InventoryClickEventData { if self.tag != EventInventoryClickEvent { panic("tag mismatch") } return self.value.(InventoryClickEventData) } func (self Event) InventoryCloseEvent() InventoryCloseEventData { if self.tag != EventInventoryCloseEvent { panic("tag mismatch") } return self.value.(InventoryCloseEventData) } func (self Event) BlockRedstoneEvent() BlockRedstoneEventData { if self.tag != EventBlockRedstoneEvent { panic("tag mismatch") } return self.value.(BlockRedstoneEventData) } func (self Event) BlockBreakEvent() BlockBreakEventData { if self.tag != EventBlockBreakEvent { panic("tag mismatch") } return self.value.(BlockBreakEventData) } func (self Event) BlockBurnEvent() BlockBurnEventData { if self.tag != EventBlockBurnEvent { panic("tag mismatch") } return self.value.(BlockBurnEventData) } func (self Event) BlockCanBuildEvent() BlockCanBuildEventData { if self.tag != EventBlockCanBuildEvent { panic("tag mismatch") } return self.value.(BlockCanBuildEventData) } func (self Event) BlockGrowEvent() BlockGrowEventData { if self.tag != EventBlockGrowEvent { panic("tag mismatch") } return self.value.(BlockGrowEventData) } func (self Event) BlockPlaceEvent() BlockPlaceEventData { if self.tag != EventBlockPlaceEvent { panic("tag mismatch") } return self.value.(BlockPlaceEventData) } func (self Event) ServerCommandEvent() ServerCommandEventData { if self.tag != EventServerCommandEvent { panic("tag mismatch") } return self.value.(ServerCommandEventData) } func (self Event) SpawnChangeEvent() SpawnChangeEventData { if self.tag != EventSpawnChangeEvent { panic("tag mismatch") } return self.value.(SpawnChangeEventData) } func (self Event) ServerBroadcastEvent() ServerBroadcastEventData { if self.tag != EventServerBroadcastEvent { panic("tag mismatch") } return self.value.(ServerBroadcastEventData) } func MakeEventPlayerJoinEvent(value PlayerJoinEventData) Event { return Event{EventPlayerJoinEvent, value} } func MakeEventPlayerLeaveEvent(value PlayerLeaveEventData) Event { return Event{EventPlayerLeaveEvent, value} } func MakeEventPlayerLoginEvent(value PlayerLoginEventData) Event { return Event{EventPlayerLoginEvent, value} } func MakeEventPlayerChatEvent(value PlayerChatEventData) Event { return Event{EventPlayerChatEvent, value} } func MakeEventPlayerCommandSendEvent(value PlayerCommandSendEventData) Event { return Event{EventPlayerCommandSendEvent, value} } func MakeEventPlayerPermissionCheckEvent(value PlayerPermissionCheckEventData) Event { return Event{EventPlayerPermissionCheckEvent, value} } func MakeEventPlayerMoveEvent(value PlayerMoveEventData) Event { return Event{EventPlayerMoveEvent, value} } func MakeEventPlayerTeleportEvent(value PlayerTeleportEventData) Event { return Event{EventPlayerTeleportEvent, value} } func MakeEventPlayerChangeWorldEvent(value PlayerChangeWorldEventData) Event { return Event{EventPlayerChangeWorldEvent, value} } func MakeEventPlayerExpChangeEvent(value PlayerExpChangeEventData) Event { return Event{EventPlayerExpChangeEvent, value} } func MakeEventPlayerItemHeldEvent(value PlayerItemHeldEventData) Event { return Event{EventPlayerItemHeldEvent, value} } func MakeEventPlayerChangedMainHandEvent(value PlayerChangedMainHandEventData) Event { return Event{EventPlayerChangedMainHandEvent, value} } func MakeEventPlayerGamemodeChangeEvent(value PlayerGamemodeChangeEventData) Event { return Event{EventPlayerGamemodeChangeEvent, value} } func MakeEventPlayerCustomPayloadEvent(value PlayerCustomPayloadEventData) Event { return Event{EventPlayerCustomPayloadEvent, value} } func MakeEventPlayerFishEvent(value PlayerFishEventData) Event { return Event{EventPlayerFishEvent, value} } func MakeEventPlayerEggThrowEvent(value PlayerEggThrowEventData) Event { return Event{EventPlayerEggThrowEvent, value} } func MakeEventPlayerInteractUnknownEntityEvent(value PlayerInteractUnknownEntityEventData) Event { return Event{EventPlayerInteractUnknownEntityEvent, value} } func MakeEventPlayerInteractEvent(value PlayerInteractEventData) Event { return Event{EventPlayerInteractEvent, value} } func MakeEventPlayerToggleSneakEvent(value PlayerToggleSneakEventData) Event { return Event{EventPlayerToggleSneakEvent, value} } func MakeEventPlayerToggleFlightEvent(value PlayerToggleFlightEventData) Event { return Event{EventPlayerToggleFlightEvent, value} } func MakeEventPlayerToggleSprintEvent(value PlayerToggleSprintEventData) Event { return Event{EventPlayerToggleSprintEvent, value} } func MakeEventInventoryClickEvent(value InventoryClickEventData) Event { return Event{EventInventoryClickEvent, value} } func MakeEventInventoryCloseEvent(value InventoryCloseEventData) Event { return Event{EventInventoryCloseEvent, value} } func MakeEventBlockRedstoneEvent(value BlockRedstoneEventData) Event { return Event{EventBlockRedstoneEvent, value} } func MakeEventBlockBreakEvent(value BlockBreakEventData) Event { return Event{EventBlockBreakEvent, value} } func MakeEventBlockBurnEvent(value BlockBurnEventData) Event { return Event{EventBlockBurnEvent, value} } func MakeEventBlockCanBuildEvent(value BlockCanBuildEventData) Event { return Event{EventBlockCanBuildEvent, value} } func MakeEventBlockGrowEvent(value BlockGrowEventData) Event { return Event{EventBlockGrowEvent, value} } func MakeEventBlockPlaceEvent(value BlockPlaceEventData) Event { return Event{EventBlockPlaceEvent, value} } func MakeEventServerCommandEvent(value ServerCommandEventData) Event { return Event{EventServerCommandEvent, value} } func MakeEventSpawnChangeEvent(value SpawnChangeEventData) Event { return Event{EventSpawnChangeEvent, value} } func MakeEventServerBroadcastEvent(value ServerBroadcastEventData) Event { return Event{EventServerBroadcastEvent, value} }