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

Ocena poradnika  

92 użytkowników zagłosowało

  1. 1. Co uważasz o tym poradniku?

    • Jest genialny, dokładnie taki jakiego było mi potrzeba!
    • Jest dobry, ale nie najlepszy.
    • Czy ja wiem... Coś tam tłumaczysz, ale więcej złego niż dobrego
    • Praktycznie niczego się nie nauczyłem, napraw to puki masz czas!
    • Całkowicie z**bany poradnik, na to juz nie ma ratunku, Ty wgl nie umiesz tłumaczyć!
  2. 2. Jaki teram obtać w kolejnym poradniku?

    • Java desktop
    • Java mobile (android)
    • C++ desktop
    • php
    • MySQL
    • Inny (napisz jaki, ale pamiętaj: nie obiecuję, że dam radę, nie umiem wszystkiego!)
    • Żadnym. Nie pisz.

Rekomendowane odpowiedzi

  • Odpowiedzi 175
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

Opublikowano

Super biore sie za robienie pluginka :D

eJxzSSxKSc1OzVPQVQgpzy9KTlQITi0qzy_nCsgvmca.png


Ten, który z demonami walczy, winien uważać, by samemu nie stać się jednym z nich. - Fryderyk Nietzsche

Opublikowano (edytowane)

Nie no... ja siępoddaję! Nie jestem w stanie czegokolwiek napisać nawet dlatego, ze zamiast polskich liter mam jakieś krzaczki, a spoilery mi nie działają. Nie mogę nawet otworzyć zwykłego pełnego edytora, tylko otwiera mi się taki ubogi... LUDZIE...! ja się poddaję, do kiedy nic nie wymyślę nie jestem w stanie rozwijać poradnika, przepraszam!

 

@Edit

 

Powiedzmy, że o tyle o ile działa, ale nie wiem jak to bedzie dalej wyglądało.... jakby co to za wszystkie usterki przepraszam ale powstajaz winy edytora tekstu forum MPC

Edytowane przez andych1
Opublikowano

TuT staranie wykony, all wytłumaczone a nie kopiuj i wklej i się człowiek cieszy ze napisał plugin...
Zal ciśnie dupę jak wiedzę takie poradniki kopiuj i wklej a tu, jakiś normalny, bardzo mi się podoba zasługuje na LIKE.

Sygnatura.png?i_dim=1920x1200&app_id=web

  • 5 miesięcy temu...
Opublikowano (edytowane)

MEGA PORADNIK. Dziś biorę się do pisania :D Mam nadzieję, że wreszcie się porządnie nauczę. Jeśli grafika potrzebna jestem do usług Dx

 

 

//EDIT

Ej czuofjek weś pomusz

 

(klasa Komenda.java)

To jest ukryta treść, proszę

(klasa Poradnik.java - główna?)

To jest ukryta treść, proszę

Kilka pozamieniałem, bo mi eclipse wywalał błędy :c Mam wersję SDK :c

Edytowane przez Rynichu

3foc.png

Szukam sponsora na prawdopodobnie jeden z najlepszych serwerów RolePlay jaki powstanie. Na razie tylko zarys.

Opublikowano (edytowane)

@up

To jest ukryta treść, proszę
ta linijka to powinny być dwie tylko Ci się zlepiły, powinno być:

To jest ukryta treść, proszę
i drugi błąd to nie wiem czemu CI wyszło

To jest ukryta treść, proszę
skoro u mnie w poradniku jest, ze ma być

To jest ukryta treść, proszę
i trzeci błąd w linijce
To jest ukryta treść, proszę
gdzie

To jest ukryta treść, proszę
powinno być pod resztą juz za klamrą otwierającą

i czwarty błąd w linijce

To jest ukryta treść, proszę
co to za slowo "private"? jego nei powinno tu być!

btw e_komenda to Twoja nazwa i może byc jaka chcesz ^^

Edytowane przez andych1
Opublikowano

Człowieku wielllki LIKE.

Widać ogrom pracy jaki w to włożyłeś.

Wszystko pokazane i wytłumaczone,

mimo iż nie twoże pluginu to miło się czyta :)

Yes...

Opublikowano

@up

To jest ukryta treść, proszę
ta linijka to powinny być dwie tylko Ci się zlepiły, powinno być:

To jest ukryta treść, proszę
i drugi błąd to nie wiem czemu CI wyszło

To jest ukryta treść, proszę
skoro u mnie w poradniku jest, ze ma być

To jest ukryta treść, proszę
i trzeci błąd w linijce
To jest ukryta treść, proszę
gdzie

To jest ukryta treść, proszę
powinno być pod resztą juz za klamrą otwierającą

i czwarty błąd w linijce

To jest ukryta treść, proszę
co to za slowo "private"? jego nei powinno tu być!

btw e_komenda to Twoja nazwa i może byc jaka chcesz ^^

 

Tam troszku się pozmieniało, bo Eclipse wywalał błędy. Poza tym w poradniku było @Overridepublic :c

 

Może zawsze na koniec poradnika pokazuj jak powinien wyglądać kod? To by mi znacznie ułatwiło naukę ;)

3foc.png

Szukam sponsora na prawdopodobnie jeden z najlepszych serwerów RolePlay jaki powstanie. Na razie tylko zarys.

Opublikowano

@UP

1. Zauważyłem w poradniku, faktycznie jest tam tam taki błąd, jednak go w najbliższym czasie naprawię, to na prawdę ma być w dwóch linijkach.


2. Jeżeli getCommand("poradniczek").setExecutor(e_komenda); wywala Ci jakikolwiek błąd (błąd jest na czerwono, na żółto są ostrzezenia, można je zignorować) to mi go tu napisz, jeżeli się na tym nie znasz nie próbuj go samodzielnie naprawiać.


3. O ile dobrze wiem to tak jak teraz napisałeś to wchodzisz w dziedziczenie z innych klas, sam tego JESZCZE nie ogarniam w JAVIE ale na pewno na tym etapie tak nie ma być. Zrób wg poradnika, ja to piszę na bieżąco u mnie i działa.


4. To samo, zaczynasz dziedziczyć, tylko tu są meody. prawidłowy zapis metody to TYP NAZWA(){...}, pomiędzy nawiasem a klamrami NIE MOŻE SIĘ NIC ZNLEŹĆ!


btw, jak coś napisałem w pordniku to wcześniej 2 tygodnie myślałem jak to napisać w eclipse, żeby w końcu zadzaiałało, potem 2 dni testowania, żeby było idealnie, czyli mój kod MUSI działać. Jeżeli nie działą jest informacja jak w temacie o nasłuchiwaniu serwera. Jeżeli kod skopiowany z poradnika nie działa wina jest po Twojej stronie.

Poza tym wersja Eclipse jak się okazuje nie ma zbytnio znaczenia, EE jest p prostu uboższa

Opublikowano (edytowane)

Logika XXI wieku:

Stworzyłem linijkę wyżej zmienną którą mogę wykorzystać, ale po co?

To jest ukryta treść, proszę

;_;

Wypadałoby przeczytać poradnik jeszcze raz przed wysłaniem go.

 

Aha, i jeszcze jedno (cytat z postu powyżej):

To jest ukryta treść, proszę

Nie ogarniasz dziedziczenia, a piszesz poradniki w których z dziedziczenia korzystasz? Dobrze wiedzieć.

 

BTW. Nie jestem złośliwy, ale osoby które piszą poradniki, a nawet nie znają podstaw danego języka są według mnie idiotami.

 

Em, dalej:

To jest ukryta treść, proszę

Nie łatwiej wykorzystać metodę "entity.getEntityType()"? Jest o wiele czytelniejsza dla początkującego.

To jest ukryta treść, proszę

Kolejna rzecz która wkurza mnie u wszystkich młodych "programistów" to to, że nazywają zmienne, metody, klasy itp. po polsku - po jaką cholerę?

To że wy piszecie po polsku i wiecie co to oznacza, nie znaczy że ktoś kto pobralby ten plugin i chciałby go naprawić, albo zaktualizować - A NIE JEST POLAKIEM/NIE MÓWI PO POLSKU nie będzie wiedział co tam jest napisane.

Dlatego nazywajcie METODY, ZMIENNE, KLASY PO ANGIELSKU.

 

To tylko moja rada na przyszłość.

 

Oh i dopiero teraz zauważyłem:

To jest ukryta treść, proszę

Chyba pomyliłeś się ze static, a raczej na pewno pomyliłeś się ze "static".

 

...

To jest ukryta treść, proszę

Czemu nie

To jest ukryta treść, proszę

?

 

...

To jest ukryta treść, proszę

To tak jakby zadawać zadanie domowe z II wojny światowej, kiedy na lekcji było mówione o romantyźmie.

...

I co do @Rynichu:

Nie zauważyłeś że masz błąd jakim jest wpisanie "implements JavaPlugin" zamiast "extends JavaPlugin".

Edytowane przez shooly
Opublikowano

1. To co napisałem nie ma uczyć pisać optymalnie, ma uczyć myśleć logicznie. na dobrą sprawę dały algorytm tp moge zamknąć w jednej linijce ale po co?


2. Dobra, nie bedę okłamywał, że dziedziczenie różni się pomiędzy ęzykami tak jak same języki, umiem dziedziczenie stosunkowo dobrze w C/C++, ale JAVA rządzi się własnymi prawami, a ja mówiąc "dziedziczenie" mam na myśli typ dziedziczenia, sekcję "protected", virtualność, klasy abstrakcyjne, coś czego na tym etapie nie znam w JAVIE, ale znam logikę.[hr[

3. Każdy popełnia błędy. Tym bardziej doceniam, że mi o nich powiedziałeś. Ja nie twierdzę, że znam JAVĘ BARDZO dobrze, ale umiem sporo napisać pod kątem języka a nie API bukkita.


4. Nie, nie łatwiej entity.getEntityType(); bo w 1.7 TEGO JUŻ NIE MA!


5. Tu masz rację, ja w 100% podzielam Twoje zdanie co do nomenklatury klas, metod, zmiennych, sam nie lubiepolskich ale piszę polskie, żeby ludzim było się łatwiej odnaleźć, jeżeli ktoś nie lubi polskich to sobie je zmieni. Rada jak najbardziej trafna, jak bedę miał wenę przepiszę poradnik, bo masz w sumie dużo racji.


6. codo @public - pisałęm to dawno nie do końca wiedząc co to jest i teraz sam stwierdzam, że to najdebilniejsza deficinia public jaką widziałem, jak będę edytował to i to napiszę na nowo. Bo tutaj dziedziczenie, prawo do użycia i wgl...


7. Czemu cmd.getName() zamiast label? bo w nawiasie było pierwsze i po prostu sprawdziłęm czy jest i było. nigdy na dobrą sprawę nie zastanawiałęm się nad label, i przyznaję siębez bicia, nie wiem za co odpowiada.


8. Trochę w tym racji jest, nawet dużo... do zmiany...



Dzięki za krytykę :)

Opublikowano (edytowane)

@UP

 

Ad.1. Jeśli będziesz uczył ludzi jak pisać tak żeby działało, a nie tak żeby było dobrze zoptymalizowane I DZIAŁAŁO to na MPC, BukkitDev itp. pojawi się milion pluginów które nie będą używane z prostej przyczyny - będą zbytnio obciążały serwer.

To jest ukryta treść, proszę
To jest ukryta treść, proszę

"Po co korzystasz z 2 - bardziej czytelniejszego, oraz szybszego sposobu - skoro pierwszy również działa?" - tak ludzie będą myśleć, jeśli tak nauczymy ich myśleć.

 

Ad.4. Jest - entity.getType() ;) (nie możliwe żeby nie było bo użyłem tego w swoim pluginie który napisałem dzisiaj rano pod Bukkita 1.7 :D)

 

BTW. Gdy tak popatrzyłem na ten skrypt:

To jest ukryta treść, proszę

Czemu nie:

To jest ukryta treść, proszę

?

Wszystko jest przecież zrozumiałe nawet dla początkującego, a pobieranie lokalizacji gracza którą potem całkowicie się zmienia jest.. bez sensu.

Edytowane przez shooly
Opublikowano

@Up


ok, spoko, rozumiem co masz na myśli, to ja mam prośbę, wypisz mi wszystkie (Twoim zdaniem) Błędy które popełniłem a jutro z samego rana powalczę z MPC i to wszytsko pozmieniam, bo zależy mi, żeby poranik był przyjazny dla zwykłego usera, który dopiero się uczy :)

Opublikowano (edytowane)

Ooooo.... nie widziałam tego poradnika, a już taki stary! Czaj na moje zdanie! xD

Wyjątkowo zaczne od końca...

Gratuluje że ci się chciało to wszystko pisać i wyjaśniać.

 

 

No doba, straczy tego miłego :P

(kolejność według tego co czytam, więc raz jest coś ważnego raz nie)

1. Jak już robiłeś instalacje środowiska, mogłeś też pokazać jak zrobić debuger który znacznie ułatwia testowanie pluginów :)

 

2. Paczki nazywamy naszą domeną lub jak nie mamy domeny to np adresem e-mail, com.ja.mojplugin.jakasTamPaczka com.gmail.ja.mojplugin.jakasTamPaczka

 

3. Nie napisałeś nic o javadocs dla bukkita.

 

4. Nie napisałeś że powinno pisać się pod Bukkita a nie CraftBukkita (można pod oba, ale jak się jest początkującym to tylko narobisz sobie problemów)

 

5. kilka opisów z działu 3... jak wyjaśniasz podstawy nie zapominaj o najważniejszym, "static" bo co z tego że ktoś da public jak i tak nie może tego użyć tak jak ty to opisałeś, i nie wie dlaczego :D No i ogólnie prawie nic nie wyjaśniłes.

 

6. w plugin.yml powinieneś napisać że należy podac paczkę i nazwę klasy głównej a nie "NAZWAAUTORA.NAZWAPLUGINU.NAZWAKLASYGŁóWNEJ" Dla jasności.

 

7.

To jest ukryta treść, proszę

Zamiast tego lepiej w nawiasie podać new <pełna ścieżka dostępu>()

Jest to wygodniejsze (nie ma importu, a jak się rejestruje np 200 komend to miałbyś 200 importów (no chyba że polecisz grupowo)

i nie trzeba robić zmiennej komendy skoro nie jest nam potrzebna...

 

8. Nie wyjaśniłeś różnicy pomiędzy float a Float, int a Integer itp :)

I ogólnie dlaczego zwykle jest duża litera a w przypadku kilku typów jakimś cudem jest mała :P

 

9. const? WTF? to nie C, tutaj z jakiegoś powodu mamy tylko "final"

Słowo tylko istnieje w jave, ale nie ma żadnego zastosowania... Więc nie pierdziel bezsensowych rzeczy!

 

10. Zapomniałeś dodać że w tablicach/lisach jak kto tam zwał nie trzeba ustalać liczby miejsc

int[] ciastko = new int[];

int[] ciastko = new int[]{5,6,3,6,2,5,7,78,4,3};

int[][] ciastki = new int[][]{{46,3,5,3,2}, {33,5,6,2,5,}, {43,6,7,3,2,5}};

 

 

11.

To jest ukryta treść, proszę

nie prościej Location loc = new Location(x,y,z,inne pierdoly...);

 

12. Temat 6 to jakaś jebana bajka... po uj używać pexa, zawsze używamy vault, bo inaczej nasz plugin jest zacnie chujowy i działa tylko z pexem... a nie wszyscy go mają

I od kiedy kurwa player.hasPermission("permisja") to wymaga pexa? od kiedy ja się pytam? permissions jest wspierane przez czystego bukkita..., jak by nie bylo... to... pex by był magikiem, dodał nowa metode do istniejącego już kodu! magia (no tak właściwe to się da... ale to inna sprawa)!
Ten temat mnie rozwalił...

 

13. Temat 7... hp działa świetnie, tylko że jest w double....

 

14. LivingEntity killer = entity.getKiller(); killer na 100% musi być graczem, albo gracz, albo null innej opcji nie ma.

Player killer = entity.getKiller();

Czyli to jest bez sensu...

To jest ukryta treść, proszę

15. Czas na kolejny debilizm...

 

 

Czyli możemy napisać najpierw
To jest ukryta treść, proszę
To służy temu, byśmy mieli w zmiennej nazwa nazwę (masło maślane) zabitego entity. Ich nazwa to "CraftANGIELSKANAZWA" czyli np. CraftCreeper, CraftSpider. normalnie napisalibyśmy
To jest ukryta treść, proszę

a nie prościej entity.getType(); ?

To jest ukryta treść, proszę

Szybsze, bezpieczniejsze, wygodniejsze.... a nie bezsensowne pobieranie nazwy klassy...

 

16. Ufff koniec

 

 

Brawo że ci się chciało to robić ale jednak niezbyt ci to wyszlo :D

 

 

EDIT: oo widze że ktoś już kilka błędów tez napisał, ale wcześniej

Edytowane przez Karolina_666

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

powiem tak... wszytko co mi zarzucono poprawię bo jak pisałem ten temat ma być przyjazny dla najbardziej poczatkujących... ale dopiero kiedy edytor MPC zacznie z łaski swojej działać... bo na serio nie chce mi się poprawiać czegoś takiego:

1av8.png

Jednak ja osobiście proszę o wyjasnienie nomenklatury paczek, gdyż można nazwać w sposób przeze mnie opisany i nie ma to wpływu na plugin a nie ukrywam, nie siedzę w tym jakos bardzo długo, więc nie do końca wiem czym to się je. Więc proszę o rozwianie moich wątpliwosci na ten temat, dziękuję :).

Opublikowano (edytowane)

powiem tak... wszytko co mi zarzucono poprawię bo jak pisałem ten temat ma być przyjazny dla najbardziej poczatkujących... ale dopiero kiedy edytor MPC zacznie z łaski swojej działać... bo na serio nie chce mi się poprawiać czegoś takiego:

1av8.png

Jednak ja osobiście proszę o wyjasnienie nomenklatury paczek, gdyż można nazwać w sposób przeze mnie opisany i nie ma to wpływu na plugin a nie ukrywam, nie siedzę w tym jakos bardzo długo, więc nie do końca wiem czym to się je. Więc proszę o rozwianie moich wątpliwosci na ten temat, dziękuję :).

Czyste konwencje javy, nie jest to wymagane do życia, ale jednak każdy powinien przynajmniej starać się ich używać :D

Sama często zrobie coś nie koniecznie jak się powinno, ale co tam, dalej się uczę, bo nikim wielkim nie jestem :P

 

PS: jak szukacie wielkich to polecam zobaczyć jak wygląda plugin ProtocolLib :) tam to dopiero jest bajka :D I edycja kodu bukkita w runtime...

 

PS2: jak piszezsz na gg... to napisz a nie zapraszasz :D ja w zaproszenia nie wchodzę, za dużo tego.

 

 

i taki link:

 

To jest ukryta treść, proszę
To jest ukryta treść, proszę
To jest ukryta treść, proszę
Edytowane przez Karolina_666

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...