diff --git a/server/player/handler.go b/server/player/handler.go index 6631c6cc1..5bb5578dc 100644 --- a/server/player/handler.go +++ b/server/player/handler.go @@ -141,6 +141,8 @@ type Handler interface { // HandleTransfer handles a player being transferred to another server. ctx.Cancel() may be called to // cancel the transfer. HandleTransfer(ctx *Context, addr *net.UDPAddr) + // HandleTick handles player tick. + HandleTick(p *Player, tx *world.Tx, tick int64) // HandleCommandExecution handles the command execution of a player, who wrote a command in the chat. // ctx.Cancel() may be called to cancel the command execution. HandleCommandExecution(ctx *Context, command cmd.Command, args []string) @@ -171,6 +173,7 @@ func (NopHandler) HandleToggleSprint(*Context, bool) func (NopHandler) HandleToggleSneak(*Context, bool) {} func (NopHandler) HandleCommandExecution(*Context, cmd.Command, []string) {} func (NopHandler) HandleTransfer(*Context, *net.UDPAddr) {} +func (NopHandler) HandleTick(p *Player, tx *world.Tx, tick int64) {} func (NopHandler) HandleChat(*Context, *string) {} func (NopHandler) HandleSkinChange(*Context, *skin.Skin) {} func (NopHandler) HandleFireExtinguish(*Context, cube.Pos) {} diff --git a/server/player/player.go b/server/player/player.go index 23b80865a..bbd22ee6f 100644 --- a/server/player/player.go +++ b/server/player/player.go @@ -2349,6 +2349,7 @@ func (p *Player) Latency() time.Duration { // Tick ticks the entity, performing actions such as checking if the player is still breaking a block. func (p *Player) Tick(tx *world.Tx, current int64) { + p.Handler().HandleTick(p, tx, current) if p.Dead() { return }