package legacypacket import ( "github.com/akmalfairuz/legacy-version/legacyver/proto" "github.com/go-gl/mathgl/mgl32" "github.com/sandertv/gophertunnel/minecraft/protocol" "github.com/sandertv/gophertunnel/minecraft/protocol/packet" ) // CameraAimAssist is sent by the server to the client to set up aim assist for the client's camera. type CameraAimAssist struct { // Preset is the ID of the preset that has previously been defined in the CameraAimAssistPresets packet. Preset string // Angle is the maximum angle around the playes's cursor that the aim assist should check for a target, // if TargetMode is set to protocol.AimAssistTargetModeAngle. Angle mgl32.Vec2 // Distance is the maximum distance from the player's cursor should check for a target, if TargetMode is // set to protocol.AimAssistTargetModeDistance. Distance float32 // TargetMode is the mode that the camera should use for detecting targets. This is currently one of // protocol.AimAssistTargetModeAngle or protocol.AimAssistTargetModeDistance. TargetMode byte // Action is the action that should be performed with the aim assist. This is one of the constants above. Action byte // ShowDebugRender specifies if debug render should be shown. ShowDebugRender bool } // ID ... func (*CameraAimAssist) ID() uint32 { return packet.IDCameraAimAssist } func (pk *CameraAimAssist) Marshal(io protocol.IO) { if proto.IsProtoGTE(io, proto.ID766) { io.String(&pk.Preset) } io.Vec2(&pk.Angle) io.Float32(&pk.Distance) io.Uint8(&pk.TargetMode) io.Uint8(&pk.Action) if proto.IsProtoGTE(io, proto.ID827) { io.Bool(&pk.ShowDebugRender) } }