Preskoči na sadržaj
Ista raja. Nova runda.
GAMERZ.ba — REBORN
Diskusija

[MC] Bukkit Plugin Tutorial #1 - Osnove i prvi plugin

189 pregleda · 13 odgovora · otvorena 06.05.2014. u 00:15

Napomena: Pokušao sam objasniti sve što sam pisao, ako sam nešto zaboravio, uporedite tut sa source codom na dnu tutoriala možda i jesam nešto zaboravio te mi pošaljite u GB da nadodam 

Lijep pozdrav svima. Odlučio sam pokrenuti seriju par tutoriala, koji će pomoći onima koji bi željeli da počnu praviti Bukkit plugine.

Vlasnik GAMERS.ba Minecrafta Brix je već pisao tutoriale za Jython, tj. Java + Python koji su radili pomoću PyLoadera, no on više ne radi kako treba na novijim verzijama Bukkita .. Naravno, bilo bi dobro da pročitate te tutoriale jer imaju neke stvari koje bi vas mogle uvest u pravo Java programiranje/kodiranje..


Potrebne stvari:
► Eclipse - Program koji ćemo koristiti kao editor za plugine ..
► CraftBukkit - Ja ću koristiti 1.7.2 R0.3 - Inače, craftbukkit.jar je potreban kako bi importovali library od bukkita u naš plugin ..
► Predznanje u Javi..
► Sama Java - služi za compileanje plugina (OBVEZNO INSTALIRATI)
(svi linkovi za preuzimanje će biti na kraju teme)

// Početak


1. Otvorite 'eclipse' program.. Na početku svakog pokretanja izbacit će vam sljedeće:

Ovdje namještamo gdje se nalaze naši projekti. Najbolje je ostaviti po defaultu ..


2. Napravit ćemo novi projekat:
File -> New -> Java project



Da objasnim:

Project Name - Ime vašeg plugina
Use Default Location:
Checkirano - Fajlovi za projekt se kreiraju u default folderu (workspaceimeplugina)
Un-Checkirano - Određujete lokaciju za projekat ..

JRE - Odabir Jave na koju ćemo compileat naš plugin.. Ako server koristi Javu 7, onda je najbolje compileati na Java SE 1.7. Ovo je važno, jer ako compileate plugin sa Java SE 1.7 i ubacite ga na server sa Java 6, dobit će te 'Unsupported major.minor version 51.0' error u konzoli, te plugin neće raditi..

Ostalo nećemo dirati, samo kliknite Finish


3. Zadnja stvar, odabrat ćemo naš projekt sa lijeve strane i Desni klik -> Properties
Odabrat ćemo Java Build Path, te ćemo kliknuti na Add External JARs. Tu ćemo odabrati naš craftbukkit.jar


Ovim smo napravili Project, te završava dio // Početak ovog tuta.. Slijedi:

► Pravljenje packagea
► Pravljenje class fajlova
► Kodiranje osnovnih komanda
► Kreiranje plugin.yml fajla !
// Priprema za kodiranje
Cestitke, stvarno si se potrudio uradio sve objasnio.
Poslat cu ti svoj pokušaj 
NOXA je napisao/la:
Cestitke, stvarno si se potrudio uradio sve objasnio.
Poslat cu ti svoj pokušaj 
Slobodno postavi na temu 

btw. ako neko bude probao napravit, i dobio neki error, nek pošalje meni u poruku ili ovdje na temu log errora i source code, da znamo u čemu je belaj 

Post dobio aplauz od Enis

Oh dear friend...

Uz malo angazmana proradi i Python loader na novijoj verziji.

Koristi logiku. Server nam ima creative pointse koje je kodirao brix u pythonu a verzija je 1.7.9


Tako da smo jedini server koji postoji sa python loaderom koji radi na 1.7.9 verziji a i na buducim verzijama 


Medjutim fin tut, svaka cast za trud javi se za aplauza 
ViTALiTY je napisao/la:
Oh dear friend...

Uz malo angazmana proradi i Python loader na novijoj verziji.

Koristi logiku. Server nam ima creative pointse koje je kodirao brix u pythonu a verzija je 1.7.9


Tako da smo jedini server koji postoji sa python loaderom koji radi na 1.7.9 verziji a i na buducim verzijama 


Medjutim fin tut, svaka cast za trud javi se za aplauza 
Oh bruda 

Nisam ni znao da GBAMC ima Python Loader, reko mi samo Brix neki dan da ne radi PyLoader xD

Samo mi reci, jel još uvijek ima onaj bug sa PermGen ? Prije sa nekoliko reloada ode sve u helać, i lagalo je prije sa PyLoaderom  Valjda ste fixali vi ono što pravi developer plugina nije hahaha (Y)

fala na aplauzu 

Post dobio aplauz od Winry

iDentity je napisao/la:
Oh bruda 

Nisam ni znao da GBAMC ima Python Loader, reko mi samo Brix neki dan da ne radi PyLoader xD

Samo mi reci, jel još uvijek ima onaj bug sa PermGen ? Prije sa nekoliko reloada ode sve u helać, i lagalo je prije sa PyLoaderom  Valjda ste fixali vi ono što pravi developer plugina nije hahaha (Y)

fala na aplauzu 
Sve fercera jos uvijek, za bug nisam siguran.

Quick tip; Reload je jedna najveca pogreska u bukkitu za server preko 10tak plugina. Svaki plugin hoce da se reloada u isto vrijeme i napravi cijelu konfuziju servera i sve ujebe.

Stop dah server and start it up clean.
ViTALiTY je napisao/la:
Sve fercera jos uvijek, za bug nisam siguran.

Quick tip; Reload je jedna najveca pogreska u bukkitu za server preko 10tak plugina. Svaki plugin hoce da se reloada u isto vrijeme i napravi cijelu konfuziju servera i sve ujebe.

Stop dah server and start it up clean.
Znam za reload, jeste greška pogotovo ako imaš više plugina, no opet razmisli, imaš 20 igrača na serveru, našao si ogroman bug, moraš ili reload ili restart, bolje reload nego da izgubiš igrača i da te more po GBu šta bi sa serverom etc. 

Nećemo više kvarit temu 

Post dobio aplauz od Enis

Furka tut, mozda probam na kompu. Pogotovo mi se svidja sto je ovo objektno programiranje, mada za ovo trebaju neke osnove programiranja(varijable, sintaksa..).
Keep it up 
A za ovo da flappy bird nije puno linija koda cu se samo slatko nasmijati, vidi se da nisi nikad radio nešto komplikovanije...

Sto se tiče tuta nije los, mada imam par zamjerki tipa, spomenuo si provjeravanje broja argumenata, ali toga na paatebin kodu nema, takodjer, provjerio si da li je dužina argumenata 1, ali nemaš else statement koji bi označio u protivnom...

Post dobio aplauz od Elysium

Brix je napisao/la:
A za ovo da flappy bird nije puno linija koda cu se samo slatko nasmijati, vidi se da nisi nikad radio nešto komplikovanije...

Sto se tiče tuta nije los, mada imam par zamjerki tipa, spomenuo si provjeravanje broja argumenata, ali toga na paatebin kodu nema, takodjer, provjerio si da li je dužina argumenata 1, ali nemaš else statement koji bi označio u protivnom...
J**o flappy

Da za argumente sam poceo pisati kad sam napisao plugin sa else funkcijom. Onda sam skontao da pravim simple plugin pa ostao pri if funkciji, al zaboravio izbrisat xD
iDentity je napisao/la:
J**o flappy

Da za argumente sam poceo pisati kad sam napisao plugin sa else funkcijom. Onda sam skontao da pravim simple plugin pa ostao pri if funkciji, al zaboravio izbrisat xD
Okej  ma sve je to lijepo, ali python je python  creativepoints u pythonu ima 1300 lineova dok bi u javi imao minimalno 2500, a nema ama bas nikakve razlike... 
Što te brix naruži.

e: šamar za offtopic, btw trebao bi naučiti šta je to kontruktivna kritika 

znam ja sta je konstruktivna kritika, nema potrebe da mi ti govoris 

Post dobio šamar od Brix

Asylah je napisao/la:
Što te brix naruži.

e: šamar za offtopic, btw trebao bi naučiti šta je to kontruktivna kritika 

znam ja sta je konstruktivna kritika, nema potrebe da mi ti govoris 
Znaš sad kad si progooglao, no poentu u Brixovom citiranju nisi shvatio ..
iDentity je napisao/la:
Znaš sad kad si progooglao, no poentu u Brixovom citiranju nisi shvatio ..
kad sam proguglao kazes 

Prijavi se da bi odgovorio/la na ovu temu.