27 lines
1.1 KiB
Go
27 lines
1.1 KiB
Go
|
|
package session
|
||
|
|
|
||
|
|
import (
|
||
|
|
"github.com/df-mc/dragonfly/server/world"
|
||
|
|
"github.com/sandertv/gophertunnel/minecraft/protocol/packet"
|
||
|
|
)
|
||
|
|
|
||
|
|
// ServerBoundDiagnosticsHandler handles diagnostic updates from the client.
|
||
|
|
type ServerBoundDiagnosticsHandler struct{}
|
||
|
|
|
||
|
|
// Handle ...
|
||
|
|
func (h *ServerBoundDiagnosticsHandler) Handle(p packet.Packet, _ *Session, _ *world.Tx, c Controllable) error {
|
||
|
|
pk := p.(*packet.ServerBoundDiagnostics)
|
||
|
|
c.UpdateDiagnostics(Diagnostics{
|
||
|
|
AverageFramesPerSecond: float64(pk.AverageFramesPerSecond),
|
||
|
|
AverageServerSimTickTime: float64(pk.AverageServerSimTickTime),
|
||
|
|
AverageClientSimTickTime: float64(pk.AverageClientSimTickTime),
|
||
|
|
AverageBeginFrameTime: float64(pk.AverageBeginFrameTime),
|
||
|
|
AverageInputTime: float64(pk.AverageInputTime),
|
||
|
|
AverageRenderTime: float64(pk.AverageRenderTime),
|
||
|
|
AverageEndFrameTime: float64(pk.AverageEndFrameTime),
|
||
|
|
AverageRemainderTimePercent: float64(pk.AverageRemainderTimePercent),
|
||
|
|
AverageUnaccountedTimePercent: float64(pk.AverageUnaccountedTimePercent),
|
||
|
|
})
|
||
|
|
return nil
|
||
|
|
}
|