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

Problem z komendą w moim plugine!


Rekomendowane odpowiedzi

Opublikowano

Witam serdecznie! Od razu przejdę do rzeczy... Mam problem z komendą w swoim pluginie. Jest to komenda na zmianę Gamemode... wszystko działa idealnie poza jedną małą rzeczą. Gdy wpisuję komendę /gamemode bez argumentów to wywala mi błąd Caused by: ArrayIndexOutOfBoundsException: 1

Tu macie kod... Jestem początkującym i uczę się dopiero... jak mogę to naprawić? Lub jeśli jest ktoś tak uprzejmy i miły i byłby w stanie poprawić moją Class to byłbym niezmiernie wdzięczny... naprawdę liczę na was! Nie chcę waszych Class chcę abyście pomogli mi z moją i wytłumaczyli co jest nie tak, a co jest ok

 

xXXXXxxXXxxxxXXXxxX

 

TheMinecraft

#LetsPlayOnceAgain

#TheMinecraft

Śledź nas na FaceBook/TheMinecraftpl!

 

 

Opublikowano

1. lepiej by to wygladalo w paste bin .

2. nie podales gdzie sypie blad

				if(args.length <= 2) {

  ?? jesli jest mniejszy badz rowny 2 ,, 0 < 2 i to pewno winowajca :l 

			p.sendMessage(Messages.convertMessage("&c&k&l!&4&l%cz%cz%cz&c&k&l! &7- &9Nie posiadasz uprawnienia &6(gamemode.core)&9, aby wykonac ta komende!"));

skoro to sa wiadomosci statyczne :/ mozesz je zapisac w static string lub po prostu string < o ile tak chcesz , jesli nie to i tak ladniej by bylo zapisac ChatColor zamiast "&x"

z drugiej strony napisales 2 razy ten sam kod a mozna by bylo zrobić to bardziej elegancko tzn

tworzysz zmienna Player gracz;

if (args.lenght == 2) {

gracz = Bukkit.getPlayer.....

if (gracz == null) {

nie znaleziono gracza

}

}

else {

gracz  = (Player) sender;

potem twoj paciorek z ifami

Opublikowano

@damianq20

 

Dnia 17.01.2018 o 14:57, damianq20 napisał:

1. lepiej by to wygladalo w paste bin .

2. nie podales gdzie sypie blad


				if(args.length <= 2) {

  ?? jesli jest mniejszy badz rowny 2 ,, 0 < 2 i to pewno winowajca :l 


			p.sendMessage(Messages.convertMessage("&c&k&l!&4&l%cz%cz%cz&c&k&l! &7- &9Nie posiadasz uprawnienia &6(gamemode.core)&9, aby wykonac ta komende!"));

skoro to sa wiadomosci statyczne :/ mozesz je zapisac w static string lub po prostu string < o ile tak chcesz , jesli nie to i tak ladniej by bylo zapisac ChatColor zamiast "&x"

z drugiej strony napisales 2 razy ten sam kod a mozna by bylo zrobić to bardziej elegancko tzn

tworzysz zmienna Player gracz;

if (args.lenght == 2) {

gracz = Bukkit.getPlayer.....

if (gracz == null) {

nie znaleziono gracza

}

}

else {

gracz  = (Player) sender;

potem twoj paciorek z ifami

Odp. do 1. 

Fakt może byłoby lepiej :PP XXX

Odp do 2.

tu jest błąd

R6D0yJSITrOOuXjaixI6pA.png

Odp. do 3. Co do messages to wolę żeby to jednak tak zostało :PP Po prostu mi to nie zawadza i lepiej mi się czyta kod :P Co do ColorChat to mam osobną klasę z zamienianiem & oraz § na kolor z czatu ;p

Problem leży w wykonywaniu komendy /gamemode bez żadnego argumentu :P

TheMinecraft

#LetsPlayOnceAgain

#TheMinecraft

Śledź nas na FaceBook/TheMinecraftpl!

 

 

Opublikowano

podalem ci gdzie jest najpewniej blad :l

Cytat

				if(args.length <= 2) {

  ?? jesli jest mniejszy badz rowny 2 ,, 0 < 2 i to pewno winowajca :l 

zakladam ze znasz podstawy java i wiesz co to jest lista , wiesz zapewne też ze jesli nie podajesz argumentu tzn /komenda oznacza to ze liczba argumentow w tablicy bedzie rowna 0 , wiec jesli tablica == 0 to spelnione jest 0 <= 2 ... dodatkowo blad ArrayIndexOutOfBoundsException: 1

co samo w sobie mowi co sypie a sypie proba uzyskania elementu o indeksie 1 ze zbyt malej tablicy tzn tablica jest mniejsza od 2 elementow np posiada 0 lub 1 element a ty chcesz sie dobrac do nieistniejacego 2 elementu o w tym oto fragmencie

					Player other = Bukkit.getServer().getPlayer(args[1]);

 

Odp. do 3. Co do messages to wolę żeby to jednak tak zostało :PP Po prostu mi to nie zawadza i lepiej mi się czyta kod :P Co do ColorChat to mam osobną klasę z zamienianiem & oraz § na kolor z czatu ;p

nie jest to moze blad ale , lepiej jednak to zapisac do pola :l skoro i tak tego nie zmieniasz i wysyla zawsze to samo , a jak rozbudujesz plugin i zechce ci sie dodawac konfiguracje bedzie ci o wiele latwiej tym zarządzac bez zbednego grzebania w kodzie , dobry nawyk.

 

Opublikowano

Czyli jak dokładnie muszę zmienić tą linijkę Player other??? Co muszę spełnić?

25 minut temu, damianq20 napisał:

podalem ci gdzie jest najpewniej blad :l

zakladam ze znasz podstawy java i wiesz co to jest lista , wiesz zapewne też ze jesli nie podajesz argumentu tzn /komenda oznacza to ze liczba argumentow w tablicy bedzie rowna 0 , wiec jesli tablica == 0 to spelnione jest 0 <= 2 ... dodatkowo blad ArrayIndexOutOfBoundsException: 1

co samo w sobie mowi co sypie a sypie proba uzyskania elementu o indeksie 1 ze zbyt malej tablicy tzn tablica jest mniejsza od 2 elementow np posiada 0 lub 1 element a ty chcesz sie dobrac do nieistniejacego 2 elementu o w tym oto fragmencie


					Player other = Bukkit.getServer().getPlayer(args[1]);

 

Odp. do 3. Co do messages to wolę żeby to jednak tak zostało :PP Po prostu mi to nie zawadza i lepiej mi się czyta kod :P Co do ColorChat to mam osobną klasę z zamienianiem & oraz § na kolor z czatu ;p

nie jest to moze blad ale , lepiej jednak to zapisac do pola :l skoro i tak tego nie zmieniasz i wysyla zawsze to samo , a jak rozbudujesz plugin i zechce ci sie dodawac konfiguracje bedzie ci o wiele latwiej tym zarządzac bez zbednego grzebania w kodzie , dobry nawyk.

 

więc co muszę spełnić jeśli chodzi o Player other? jaki argument?

TheMinecraft

#LetsPlayOnceAgain

#TheMinecraft

Śledź nas na FaceBook/TheMinecraftpl!

 

 

Opublikowano

napisałem ci co zmienić, napisałem ci gdzie, a ty szukasz frajera ktory zrobi to za ciebie abys sie mógł pod tym podpisać i cieszyć "autorskim" pluginem ...

https://www.dobre-ksiazki.com.pl/java-podstawy-p635246.html?utm_source=google&utm_medium=cpc_product&gclid=EAIaIQobChMIk8H1zInn2AIVCRIbCh06sQGkEAQYAyABEgK99vD_BwE

skoro problem pozostał proponuje dalej szukać błędu tym razem w braku podstawowej wiedzy z zakresu jezyka java , a ksiązka powinna znacząco pomóc

Opublikowano

@damianq20

Jesteś do nieczego ;) To co mówiłeś że może być owym błędem było totalnym niezrozumieniem kodu ;) Pozdrawiam pseudo programistę ;) ktoś kto by się znał rozwiązał by to w 10 sekund ;) 

Do zamknięcia! 

@Zamykam

Problem rozwiązany :) 

TheMinecraft

#LetsPlayOnceAgain

#TheMinecraft

Śledź nas na FaceBook/TheMinecraftpl!

 

 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...