Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Klasa Gamemode, nie wyswietla graczowi p ze zmienil tryb gry graczowi p2


Bartol_

Rekomendowane odpowiedzi

Opublikowano

Hej, potrzebuje pomocy. W wolnym czasie coś sobie tworze w Javie i mam kod klasy GameModeCommand:

https://pastebin.com/KejynTBg

Problem w tym ze działa wszystko, wyświetla się dla gracza p ze zmieniono tryb gry i wgl ale gry chce zmienić komuś innnemu to nie wyświetla się ze zmieniłem. Wyświetla się jakby ze zmieniono tylko mi.

Opublikowano

1. Nie nazywaj zmiennych jedną literą, bo komplikujesz przez to kod. Kod powinien być samo opisujący się. Nazwij te zmienne np player i target.

 

2. Castujesz sendera do Player, ale nie sprawdzasz czy on faktycznie nim jest. Co jak senderem jest konsola/command block/rcon?

 

3. Sprawdzasz uprawnienie... Ale jeżeli robisz to prawidłowo to uprawnienia sprawdzi już Bukkit. Nie musisz sam tego sprawdzać, to powielanie funkcjonalności i dodatkowy boiler plate kodu.

 

4. Nie rób odpowiedzi w title. Użytkownik wprowadza komendę na chat więc to tam spodziewa się odpowiedzi na swoją akcję. To jest w tym momencie zbędne komplikowanie interfejsu. Nie twórz nowych standardów gdy istniejące są dobre.

 

5. Powielasz kod, to nie trzyma się zasady DRY (nie powtarzaj kodu). Powinieneś sobie zrobić metodę która z argumentu (stringu) będzie ci zwracała GameMode, albo null/Optional.empty().

 

6. Jak postawisz kod to łatwiej znajdziesz gdzie leży problem, bo wszystko będzie znacznie uproszczone 😉

Q8eOMob.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...