From 015a3967b28978411dd9b288ae3736d70a27fce3 Mon Sep 17 00:00:00 2001 From: FDUTCH Date: Sun, 9 Feb 2025 23:25:58 +0100 Subject: [PATCH 1/3] add HandleTick to *Player --- server/player/handler.go | 6 +++++- server/player/player.go | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/server/player/handler.go b/server/player/handler.go index 6631c6cc1..5c68f5fee 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) @@ -161,7 +163,8 @@ type NopHandler struct{} // Compile time check to make sure NopHandler implements Handler. var _ Handler = NopHandler{} -func (NopHandler) HandleItemDrop(*Context, item.Stack) {} +func (NopHandler) HandleItemDrop(*Context, item.Stack) {} + func (NopHandler) HandleHeldSlotChange(*Context, int, int) {} func (NopHandler) HandleMove(*Context, mgl64.Vec3, cube.Rotation) {} func (NopHandler) HandleJump(*Player) {} @@ -171,6 +174,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 (h 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 } From aa2bde92657d866dddbb727e1366685b0639cc5c Mon Sep 17 00:00:00 2001 From: FDUTCH Date: Sun, 9 Feb 2025 23:34:16 +0100 Subject: [PATCH 2/3] format --- server/player/handler.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server/player/handler.go b/server/player/handler.go index 5c68f5fee..784c00508 100644 --- a/server/player/handler.go +++ b/server/player/handler.go @@ -163,8 +163,7 @@ type NopHandler struct{} // Compile time check to make sure NopHandler implements Handler. var _ Handler = NopHandler{} -func (NopHandler) HandleItemDrop(*Context, item.Stack) {} - +func (NopHandler) HandleItemDrop(*Context, item.Stack) {} func (NopHandler) HandleHeldSlotChange(*Context, int, int) {} func (NopHandler) HandleMove(*Context, mgl64.Vec3, cube.Rotation) {} func (NopHandler) HandleJump(*Player) {} From 371648d441da3c20a2f7e44eb5ebdc99ba930c9d Mon Sep 17 00:00:00 2001 From: FDUTCH Date: Sun, 9 Feb 2025 23:35:49 +0100 Subject: [PATCH 3/3] small fix --- server/player/handler.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/player/handler.go b/server/player/handler.go index 784c00508..5bb5578dc 100644 --- a/server/player/handler.go +++ b/server/player/handler.go @@ -173,7 +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 (h NopHandler) HandleTick(p *Player, tx *world.Tx, tick int64) {} +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) {}