Hologramy jako ArmorStandy: Wiadomości czatu są wyświetlane nad głową gracza jako hologramy. Do ich tworzenia używamy ArmorStandów z wyłączoną widocznością i grawitacją oraz z ustawioną nazwą (custom name).
Automatyczne Usuwanie: Każdy hologram ma określony czas życia (w tickach, np. 80 ticków = 4 sekundy). Po upływie tego czasu hologram zostaje usunięty. Dodatkowo, w komendzie /rpgchat clear oraz przy starcie serwera wykonywana jest dodatkowa kontrola – iteracja po wszystkich światach w celu usunięcia ewentualnych pozostałości (ArmorStandy z metadanymi „rpgchat_owner”).
2. System Efektów Particle
ParticleEffectManager: Ta klasa odpowiada za wyświetlanie efektów cząsteczkowych (particle) w pobliżu hologramów. Umożliwia to dodatkową wizualizację, która może być dostosowywana poprzez ustawienia w configu (np. typ efektu, liczba cząsteczek, przesunięcia, dodatkowy rozrzut).
Konfiguracja: W pliku config.yml możesz określić, który efekt ma być używany (np. "smoke", "spell", "crit" lub "none" – co wyłącza efekty) oraz inne parametry.
3. System Prywatnych Wiadomości
PrivateMessageManager: Pozwala graczom wysyłać prywatne wiadomości. Gdy gracz, trzymając Shift, kliknie prawym przyciskiem myszy (PPM) na innego gracza lub hologram (ArmorStand z odpowiednimi metadanymi), plugin przełącza tryb – następująca wiadomość w czacie będzie traktowana jako prywatna.
Prywatna wiadomość jest następnie wyświetlana jako hologram tylko u docelowego gracza. Inni gracze nie widzą tego hologramu, gdyż zostaje on ukryty za pomocą metody hideEntity.
4. Formatowanie Wiadomości – MessageFormatter
Personalizacja Wyglądu: Dodana została nowa klasa MessageFormatter, która umożliwia pełne formatowanie wiadomości wyświetlanych nad głową gracza.
W configu możesz ustawić ciąg formatujący (np. z placeholderami takimi jak {MESSAGE}, {DISPLAYNAME}, {USERNAME} itd.), co pozwala na całkowitą personalizację wyglądu wiadomości.
Klasa ta zastępuje placeholdery odpowiednimi wartościami pobranymi z gracza (np. nazwa, świat, drużyna) oraz tłumaczy kody kolorów (używając symbolu &).
Przykładowy Format: Przykładowy ciąg formatujący z configu wygląda następująco:
yaml format: '{DISPLAYNAME} &6>>&r {MESSAGE}'
Możesz go dowolnie modyfikować, aby osiągnąć pożądany wygląd (np. dodając ramki lub dodatkowe informacje).
5. Konfiguracja i Komendy
config.yml: W pliku config.yml definiujesz wszystkie główne ustawienia, takie jak czas wyświetlania hologramu, offset nad graczem, odstępy między hologramami, maksymalna długość linii oraz ustawienia efektów particle i format wiadomości.
plugin.yml: Plik plugin.yml zawiera wszystkie niezbędne dane o pluginie (nazwa, wersja, główna klasa, komendy, uprawnienia, itp.).
Komenda /rpgchat: Plugin udostępnia komendę /rpgchat z podkomendami:
toggle: Przełącza widoczność hologramów dla gracza.
clear: Usuwa wszystkie hologramy – zarówno te zarządzane przez plugin, jak i ewentualne pozostałości w świecie.
reload: Przeładowuje konfigurację (w tym ustawienia cenzury, particle, formatowania wiadomości itp.).
6. Integracja z PlaceholderAPI
Dynamiczne Placeholdery: Jeśli na serwerze jest zainstalowana PlaceholderAPI, plugin automatycznie korzysta z jej funkcji, umożliwiając dynamiczne zastępowanie placeholderów w wiadomościach (np. aktualne statystyki gracza, informacje o świecie itp.).