public void AddPosition(float distance = 5f) { MaintainCache(); if (Cache.Any(p => DateTime.UtcNow.Subtract(p.RecordedAt).TotalMilliseconds < 250)) { return; } var myPosition = Core.Player.Position; if (Cache.Any(p => p.Position.Distance(myPosition) < distance)) { return; } if (myPosition == Vector3.Zero) { return; } RecentPositions.Add(myPosition); Cache.Add(new PositionHistory()); }