Jeśli chodzi o samą wersję MC, to wszystko masz tutaj: https://forums.skunity.com/threads/get-players-version.8030/
Launchera raczej nie da się wykryć pluginem, tym bardziej skryptem, aczkolwiek mogę się mylić.
Fakt, Purpur czy Tuinity lepiej sobie radzą na 1.17, jednak nie jest prawdą to, że nie ma Papera pod tę wersję. Proszę, nie wprowadzaj ludzi w błąd. Purpur oraz Tuinity są forkami Papera, więc wychodzą dopiero po tym, jak wyjdzie odpowiednia wersja Papera.
Możesz zrobić zapis czasu do zmiennej (np. {dostep::%player%}), a następnie loopować wszystkie zmienne tego typu (np. loop {dostep::*}). W pętli sprawdzasz czy różnica czasu jest większa od np. 6h i odbierasz dostęp do regionu oraz clearujesz zmienną.
Tutaj masz spoko poradnik, który pokaże ci jak to zrobić krok po kroku: https://forums.skunity.com/threads/on-tab-completer.12240/ (oczywiście po angielsku).
Jako item wrzuć skull of ("nick" parsed as offlineplayer), a jako nazwę nick gracza. Następnie po kliknięciu po prostu wyświetl nazwę klikniętego itemu. Jeśli nie chcesz, aby ten nick był widzoczny w GUI możesz spróbować podziałać coś na zmiennych, np przypisać nick do zmiennej z danym slotem (np {gui::1} - slot 1) i po kliknięciu wyświetlać tą właśnie zmienną. Przykład:
on load:
set {gui::0} to "nick1"
set {gui::1} to "nick2"
command test:
open chest inventory with 1 row named "Test" for player
set slot 0 of player's current inventory to skull of ({gui::0} parsed as offlineplayer) named "&8"
set slot 1 of player's current inventory to skull of ({gui::1} parsed as offlineplayer) named "&8"
on inventory click:
inventory name of event-inventory is "Test"
cancel event
send "%{gui::%clicked slot%}%"