Scrieți un plugin simplu pentru bukkit - blogul dmitriymx

Scrieți un plugin simplu pentru Bukkit

Scrieți un plugin simplu pentru bukkit - blogul dmitriymx

Ei bine, de la vorbe la fapte. Să mergem!

pregătire

Pentru a scrie plugin-ul, avem nevoie de:

Doar au nevoie de cunoștințe de bază de Java. Dacă nu, aici este un link pentru „ridicarea de calificare“:

Instalarea și configurarea Eclipse

Dacă sunteți deja familiarizați cu Eclipse sau uvas un alt IDE, apoi sări peste această secțiune.

Probleme cu instalarea Eclipse vozniktut nu ar trebui: pur și simplu decomprima într-un dosar și a alerga Ljuboja. Imediat după aceasta, Eclipse vă solicită să indicați care spațiul de lucru (spațiu de lucru) este acum deschis. Acesta este dosarul în care să continue toate proiectele începute și în cazul în care acesta este amplasat - decizia ta personală. Dacă vseranvo, apoi se lasă la asta. Dacă doriți să schimbați brusc prostranstro de lucru, nu vă faceți griji: în timpul lansării următoare, Eclipse a cerut din nou ai spațiului de lucru. Aceste spații pot face unele la fel de mult cât este necesar și fiecare poate fi configurat în mod diferit, pentru un anumit scop. De exemplu, am două spații de lucru: pentru a scrie obișnuite Java-aplicații și plug-in-uri pentru a scrie o „găleată“. Dacă dintr-o dată te-ai plictisit de acest mesaj, există un marcaj de selectare «Utilizați ca implicit și nu întreba din nou», care vă permite să specificați spațiul de lucru prestabilit.

După ce ați selectat locurile și boot-Eclipse, veți vom vedea fila Invitational ... care se închide imediat. Nu este nici un folos.

Scrieți un plugin simplu pentru bukkit - blogul dmitriymx
Scrieți un plugin simplu pentru bukkit - blogul dmitriymx

Acum vom vedea spațiul de lucru Eclipse. Din toate acestea, avem nevoie doar de următoarele tipuri de panouri:

  • Pachetul Explorer
    Aici vor fi afișate proiectele dvs., pachete (despre ele mai târziu) și toate tipurile de fișiere plugins noastre buduyuschih.
  • probleme
    Acest soclu folosim rar (sau deloc la ea este vorba), dar să spun despre ea în valoare. Acesta va arăta erori în cod, precum și avertismente cu privire la posibilele erori sau inexactități.
  • schiță
    Vor fi afișate direct pe codul de navigare Java open source.

Ultimele două panouri pot fi descrise în general, rola, deoarece le folosim foarte rar.

Locul de muncă este aproape gata. Rămâne doar pentru a pune un alt semn de validare în 2 setări.

Du-te la fereastra de meniu -> Preferințe, și mai mult de-a lungul arborelui General -> Editor -> editoare de text și a stabilit un «numere de linie» Arată tick, pentru a permite afișarea numerelor de linie. Acum du-te la General -> Spațiu de lucru, cât și în grupul de «Text Encoding fișier» expune codificarea UTF-8, stabilind astfel codificarea implicită.

Scrieți un plugin simplu pentru bukkit - blogul dmitriymx
Scrieți un plugin simplu pentru bukkit - blogul dmitriymx

Cu instalarea și configurarea este terminată. Acum, voi explica cum de a crea un nou proiect pentru plugin. Acest lucru poate fi realizat pe larg considerate ca fiind unul din cele 3 moduri:

  • Meniu File -> New -> Project Java
  • butonul Bara de instrumente
  • Faceți clic dreapta în pachetul Explorer

Înainte de a deschide fereastra New Project Java. În numele proiectului Indică numele proiectului nostru

Scrieți un plugin simplu pentru bukkit - blogul dmitriymx

În fereastra care apare, mergeți la fila Biblioteci, faceți clic pe butonul Adăugați JARs externe și selectați API-ul descărcat Bukkit.

Scrieți un plugin simplu pentru bukkit - blogul dmitriymx

În partea stângă, în pachetul Explorer, pentru a arăta proiectul nostru în dosarul src pentru a stoca codul nostru sursă. Acum, crearea unei noi clase. Acest lucru se face în același mod ca și cu Proiectul Java.

În clasa Java Noua, avem nevoie doar următoarele coloane:

  • pachet
    Specifică pachetul, care va conține clasa noastră. Formatul numelui trebuie să fie ceva de genul: ru.dmitriymx.bukkit.tutorial.
    Într-o coajă de nucă și degetele, apoi pachetele în Java - este spațiul de nume (namespace) sau „foldere virtuale“, care sunt plasate în clase. Mai multe informații despre acest lucru poate fi găsit aici: [1]. [2]. [3].
  • nume
    specificați numele clasei (am avea DmxFirstPlugin)

Toate celelalte elemente sunt lăsate ca atare și faceți clic pe Finish.

Acum vom merge direct la codul.

Scrieți un plugin simplu

Odată ce am creat o nouă clasă, privirea noastră prezintă un șablon gol gata

Este doar o clasă goală, care este absolut inutil în viața de zi cu zi. Să-l repara. Schimbați această: la această

Eclipse va sublinia JavaPlugin nostru, arătând o eroare în codul. Dacă mutați mouse-ul pentru acest cod subliniat, se va deschide o fereastră cu o descriere a erorii și cum să-l rezolve. În acest caz, avem nevoie de a importa clasa de API-ul Bukkit, ceea ce alegem punctul «Import«JavaPlugin»(org.bukkit.plugin.java)».

Scrieți un plugin simplu pentru bukkit - blogul dmitriymx

observa imediat cum toate liniei noastre de cod se potrivesc

Material ușor teoretic. Plugin-ul are 3 metode principale: onEnable (), onDisable () și onload (). Primele două sunt responsabile pentru activarea și dezactivarea plugin-ul, iar acesta din urmă este declanșat atunci plugin-ul este încărcat direct în memoria de server. Din aceasta rezultă că onLoad executat primul, dar plugin-ul începe să funcționeze doar după apel pe partea de server onEnable. Pentru oprirea sau repornirea serverului, a cauzat metoda onDisable.

Cu „puncte de intrare-ieșire“ clare. Hai acum scrie ceva mai mult sau mai puțin funcțional. Prezentăm un cod de clasă generală de a forma următoare:

Faptul că suntem acum scrise - gata de conectare. Tot ce face - se spune într-un chat la sosire și lăsând player-ul la server. Pentru a înțelege lucrarea lui va fi pe ordinea (ce altceva?).

Aceasta este urmată de 2 onjoin () handler-ul nostru eveniment și onQuit (). Prima corespunde unui jucător introduce un eveniment pe server, iar al doilea - pentru îngrijirea. Cu metoda event.getPlayer (). SendMessage (), putem trimite un mesaj la jucatorul care a declanșat evenimentul (în acest caz, jucătorul care a plecat). Static clasa ChatColor păstrează o culoare constantă pentru vopsire. Cred că modul de utilizare este deja evident din exemplul. De asemenea, ambele noastre obrabotchka notifica ceilalți jucători de pe server pe evenimente proizoshetshih, dar o fac în mod diferit. În onjoin () folosind metoda event.setJoinMessage () vom schimba mesajul de obicei «jucător a intrat în joc» la orice alta. Și onQuit () facem altfel (de exemplu, în scopuri): Eliminat mesaj de avertizare cu privire la a merge afară și informați despre aceasta prin getServer () broadcastMessage metoda (), care pur și simplu trimite toți jucătorii de pe un server de mesaje specificat ..

Cazul a rămas pentru mici: Scrierea importante plugin.yml l-am găsit și ambalaj totul într-un borcan-fișier.

plugin.yml - acest plug descriere fișier. Acesta este definit de numele plugin-ul, clasa principală, descrierea și ce comenzi pentru a înregistra un plugin pentru (mai mult pe aceasta mai târziu), etc. În acest caz, un fișier ar trebui să arate astfel:

TYK dreapta pe folderul src -> Export. În arborele de dosare, deschideți Java și selectați fișierul JAR și faceți clic pe Următorul. De la golochek lasa doar «la export fișiere și resurse de clasă» și «Comprimați conținutul fișierului JAR». În fișierul JAR indică unde va salva dopul rezultat. După ce faceți clic pe Finish, plugin-ul poate fi pus în folderul plugin-uri, porniți serverul și verificați funcționarea acestuia.

Scrieți un plugin simplu pentru bukkit - blogul dmitriymx

Vezi tu? Este destul de simplu. Cu practica vei ridica mai multă experiență și va fi capabil de a face plugin-uri mai reci, chiar și cum ar fi WorldEdit legendarul și WorldGuard.

In timp ce scriam articolul, m-am gândit dobovlenii plugin simplu este funcție foarte utilă: retragerea operatorului (admin) ip jucător Conectat. Va trebui să adăugați grupul la org.bukkit.entity.Player de import de import;. dar în final metoda onjoin (), după cum urmează: