W dzisiejszej lekcji stworzymy nasz pierwszy plugin – podstawową komendę którą będziemy wpisywać na czacie. Dodatkowo dodamy do niego informacje o włączeniu i wyłączeniu pluginu która będzie się wyświetlać w konsoli.

![](http://i42.tinypic.com/2h57m9f.jpg)Bukkit Plugins – Pierwszy plugin, podstawy
Na koniec zajmiemy się tworzeniem pliku plugin.yml oraz kompilacją pluginu aby działał na serwerze. Zapraszam do rozwinięcia lekcji. Dzisiejszy wpis będzie podstawą dla wszystkich pozostałych lekcji.
![](http://greensneaky.com/hookscreen/lekcja_2_2.png)

W pierwszej kolejności dopisujemy do naszej klasy rozszerzenie JavaPlugin, bo właśnie taki „bukkit plugin” piszemy.

![](http://i43.tinypic.com/6z7bxy.jpg)Kod
`public class TutorialMinecraft extends JavaPlugin`
Jak widać na poniższym screenie prgoram podkreślił nam „Java Plugin” na czerwono – oznacza to błąd. W tym przypadku muismy zaimportować do naszej klasy to rozszerzenie. Uczynimy to najeżdzając na zaznaczono na czerwono element i importujemy.

![](http://i43.tinypic.com/6z7bxy.jpg)Kod
` public final Logger naszlogger = Logger.getLogger("Minecraft");`public static TutorialMinecraft plugin;public void onDisable() { PluginDescriptionFile naszPlik = this.getDescription(); this.naszlogger.info(naszPlik.getName() + ” zostal wylaczony!”); }public void onEnable() { PluginDescriptionFile naszPlik = this.getDescription(); this.naszlogger.info(naszPlik.getName() + ” wersja” + naszPlik.getVersion() + ” zostal wlaczony”); }
Powyższy kod jest głównie odpowiedzialny za wyświetlanie naszych wiadomości w konsoli. Do znaczników OnEnable i OnDisable dodajemy kod który ma się uaktywniać gdy włączymy i wyłączymy nasz plugin.
![](http://i43.tinypic.com/6z7bxy.jpg)Kod
`public boolean onCommand(CommandSender sender, Command cmd, String commandLable, String[] args) { // 1`Player gracz = (Player) sender; // 2if (commandLable.equalsIgnoreCase(„naszakomenda”)) { // 3 gracz.sendMessage(ChatColor.RED + „Nasza wiadomosc do wyslania”); // 4 } return false; //5}
1. Kod komendy, możemy tu zmieniać atrybuty etc. 2. Definiujemy że nasz gracz z minecrafta jest wysyłającym komendę . 3. W javie za pomocą equalsIgnoreCase porównujemy stringi 4. Używamy wcześniejszej definicji, zwróć uwagę na ogromną możliwość opcji po wpisaniu gracz – my na początek użyjemy tylko sendMessage. Pojawił się tutaj również kolor wiadomości, cała lista kolorów ukaże nam się w menu podczas pisania kodu. Zwróć uwagę w jaki sposób łączymy zmienne 5. Bez powyższej linijki kodu boolean będzie niepoprawny
![](http://greensneaky.com/hookscreen/lekcja_2_5.png)

Klikamy na nasz projekt i upewniamy się że jest zaznaczony, i klikamy PPM na wolną przestrzeń obok nazwy naszej paczki. Następnie New -> File

Wpisujemy nazwę plugin.yml i zapisujemy

![](http://i43.tinypic.com/6z7bxy.jpg)Kod
 

name: TutorialMinecraft main: ja.SeeRazo.TutorialMinecraftpl.TutorialMinecraft version: 1.0 description: >              Plugin na potrzeby tutoriala minecraft.pl ! commands:     naszakomenda:         description: Nasza pierwsza komenda

![](http://greensneaky.com/hookscreen/lekcja_2_9.png)

Pierwszym krokiem będzie zaznaczenie naszego projektu prawym przyciskiem myszy i w otwartym menu wybieramy opcje Eksport

Z dostępnych rozszerzeń otwieramy katalog Java i następnie wybieramy JAR file

Upewniamy się że zaznaczyliśmy nasz projekt oraz wszystkie dopisane do niego pliki po prawej stronie

Wybieramy miejsce zapisu naszego plugina, oraz wpisujemy jego nazwę, następnie klikamy Finish

![](http://greensneaky.com/hookscreen/lekcja_2_7.png)

Tak wygląda efekt końcowy w konsoli:

a tak w grze

Pełny kod pluginu dla leniwych :P

A w następnej wersji zajmiemy się zmianą craftingu dla przedmiotów w grze. Np. siodła etc.