public void DoTick() { List <int> removedKeys = new List <int>(); bool isContentAlreadyVisible = false; foreach (int priorityKey in _popupContentQueue.Keys) { string visibleContent = ProcessContentQueue(_popupContentQueue[priorityKey]); if (visibleContent == null) { removedKeys.Add(priorityKey); } else if (!isContentAlreadyVisible) { string content; if (_player.GameMode == GameMode.Creative) { content = $"{visibleContent}"; } else { content = $"{visibleContent}"; } _player.SendMessage(content, MessageType.Popup); isContentAlreadyVisible = true; } } foreach (int priorityKey in removedKeys) { _popupContentQueue.Remove(priorityKey); } removedKeys.Clear(); isContentAlreadyVisible = false; foreach (int priorityKey in _barContentQueue.Keys) { string visibleContent = ProcessContentQueue(_barContentQueue[priorityKey]); if (visibleContent == null) { removedKeys.Add(priorityKey); } else if (!isContentAlreadyVisible) { _player.SendTitle("", TitleType.AnimationTimes, 6, 6, 20); string content; if (_player.GameMode == GameMode.Creative) { content = $"§f\n§f\n§f\n{visibleContent}"; } else { content = $"§f\n{visibleContent}\n§f\n§f"; } _player.SendTitle(content, TitleType.ActionBar); isContentAlreadyVisible = true; } } foreach (int priorityKey in removedKeys) { _barContentQueue.Remove(priorityKey); } }