Results 1 to 2 of 2

Thread: [TuT] Kako napraviti Bukkit/Spigot plugin

  1. #1
    Kapetan
    Join Date
    Nov 2011
    Location
    Београд
    Age
    24
    Posts
    460
    Karma
    30

    [TuT] Kako napraviti Bukkit/Spigot plugin

    Pozdrav, u ovom uputstvu cu vas nauciti kako da napravite plugin/e za Bukkit/Spigot.
    Prvo bih da se osvrnemo na neke osnove i alate koji ce nam biti potrebni.
    Plugini se rade u jeziku Java i pomocu Bukkt/Spigot API-ja.
    Da napomenem da vas necu uciti Javom, Javu morate da naucite sami, preporucujem: Solo Learn android aplikaicju i sajt.
    Prvo je instalacija JRE-a (Java Runtime Enviroment) i JDK-a (Java Development Kit), to mozete naci na zvanicnom sajtu jave, u ovom tutorijalu cemo koristiti verziju 1.8.*.
    Sledece je izbor IDE-a (Integrated development environment), tj. editora.
    Ljudi najvise koriste Eclipse i Intellij Idea, oba editora su veoma dobra i imaju svoje prednosti i mane, ali to je domen neke druge teme/rasprave, mi cemo koristiti Eclipse.
    Po mom misljenju Eclipse je bolji za pocetnike, tako da cu u ovom tutorijalu koristiti Eclipse, ali to vas ne sprecava da koristite neki editor koji vama odgovara, samo opcije i raspored opcija ce vam biti drugacije/i.
    Sledeci korak je da izaberete verziju Bukkit/Spigot API-a koju planirate da koristite, ja cu u ovom uputstvu koristiti naj noviju verziju 1.11.2.

    Linkovi:
    - Instalacija JRE i JDK: https://www.youtube.com/watch?v=_YmuR4aw9pM
    - Eclipse: https://eclipse.org/downloads/
    - Intellij Idea (za one koji hoce da koriste): https://www.jetbrains.com/idea/
    - Bukkit/Spigot API: https://getspigotmc.org/

    NAPOMENA: Slike ce biti sakrivene, da ih prikazete kiklinite na Show spoiler.
    Prvo cu vam pokazati kako da napravite prosti Hello World plugin i kako da koristite Eclipse, zatim posle toga cu obljasniti kako taj kod funcionise i navescu neke shotcutove za laksi rad u Eclipseu.


    Nakon sto ste instalirali JRE, JDK, Elcipse, Bukkit/Spigot vreme je da pocnemo.
    Prvi korak je da pokrenemo elcipse, zatim kada vas pita da izaberete workspace kliknite ok.
    Trebalo bi da vam se otvori sledece, slika:


    Sada trebamo da napravimo novi projektat, pa idemo: File -> New -> Java Project
    Slika:


    Zatim u polje Project name kucamo ime naseg projekta, ja cu kao primer ukucati: Moj prvi plugin i onda kliknemo Next.
    Slika:


    Zatim kliknemo na karticu Libraries i kliknemo na opciju Add External JARs i izaberemo jar koji smo skinuli sa sajta i kliknemo na dugme Finish.
    Slike:


    Sada trebamo da napravimo novi package, to cemo uraditi desnim klikom na folder src -> New -> Package.
    Slika:


    Sad treba da imenujemo nas package, nas package cemo nazvati neki.plugin, ljudi obicno stavljaju username.github.io, obrunti link od njigovog repository-a.
    Nije toliko bitno kako cete nazvati vas package, samo nemojte koristit specijalne karaktere i brojeve.
    Slika:


    Zbog lepseg izgleda raporeda paketa i klasa, izabracemo Hierarhical prikaz (Ovo je opcionalni korak):
    Slika:


    Sada cemo napraviti nasu klasu gde ce se nalaziti kod plugina, dakle idemo desni klik na package koji smo napraviili, u ovom slucaju: neki.plugin
    Zatim idemo na New -> Class
    Slika:


    U polje name ukucamo ime nase klase, ljudi obicno za glavnu klasu koriste Main, tako da ce mo je mi nazvati Main.
    U polje Superclass cemo uneti: org.bukkit.plugin.java.JavaPlugin i kliknti na dugme Finish.
    Slike:


    Kada udjemo u klasu Main.java trebalo bi da nam izgleda ovako:


    Sada cemo izbrisati postojeci kod i uneti sledeci kod:
    Code:
    package plugin.neki;
    
    import org.bukkit.ChatColor;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin {
    	public void onEnable( ) {
    		getServer( ).getConsoleSender( ).sendMessage( ChatColor.GREEN + "Hello World" );
    	}
    }
    Slika:


    Ali milutinke, ja ne znam sta ovaj kod radi?
    Ne brinite se, korak po korak, sada vam pokazujem kako da koristite Eclipse, posle vam obljasniti sta koj deo koda radi.


    Posto smo napisali prvi plugin, vreme je da omogucimo serveru da ga ucita.
    Bukkit/Spigot koristi YAML sistem za ucitavanje podataka plugina, tako da moramo da napravimo datoteku: plugin.yml u glavnom direktorijumu/folderu projekta. (Slike ispod)
    Idemo desni klik na Moj prvi plugin folder -> New -> File
    Zatim kao ime upisemo: plugin.yml
    Sada kao sadrzaj datoteke upisemo sledeci tekst:
    Code:
    name: HelloWorld
    version: 1.0
    author: Milutinke (ByM)
    description: Prints Hello World
    main: plugin.neki.Main
    Obljasnjenje za svaki parametar:
    name: Ovo je ime plugina -> Ne sme imati razmak i specijalne karaktere, obicno se koristi donja crta umesto razmaka. Primer: Hello_World
    version: Ovo je verzija plugina
    author: Ime autora
    description: Kratki opis, sta plugin radi.
    main: Putanja do Main klase. Format: ImePaketaOvde.ImeFajlaSaMainKlasom - Da se nas paket zvao milutinke.github.com a klasa Glavna onda bi main parametar bio: miluitnke.github.com.Glavna

    Bez ove datoteke server nece moci da prepozna plugin i da ga ucita tako da plugin nece raditi ako ovo izostavite ili ako pogresite putanju da main klase.
    Tako da voidte racuna da vam je putanja u parametru main ispravna.


    Slike:


    Sledeci korak je da mi Izvezemo/Exportujemo (Kompajlujemo) plugin, to cemo uraditi tako sto cemo kliknuti na File -> Export:
    Slika:


    Zatim cemo izabrati Java -> JAR file i klinuti na dugme Next.
    Slika:


    Sada cemo sitklirati/cekirati kvadratic da bude crn kao na slici i izabrati putanju gde cemo da izvezemo plugin, kada izaberemo putanju gde cemo sacuvati plugin kliknemo dugme Finish.
    Moj savet je da sacuvate plugin u folderu pugins od vaseg servera da mozemo odmah da ga testiramo.
    Slike:


    Kada smo Izvezli/Exportovali (Komajlovali) plugin, sada mozemo da ga testiramo.
    Sledeci korak je da pokrenemo server.
    Kada se server pokrenuo tebalo bi da dobijete sledeci rezultat.


    Nastavak u izradi...
    Last edited by milutinke; 23.01.17 at 12:53.

  2. #2
    Kapetan
    Join Date
    Nov 2011
    Location
    Београд
    Age
    24
    Posts
    460
    Karma
    30

    Re: [TuT] Kako napraviti Bukkit/Spigot plugin

    Rezervisano.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •