Skocz do zawartości

Enormi

Użytkownik
  • Liczba zawartości

    3
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Ostatnia wygrana Enormi w dniu 19 Kwietnia 2018

Użytkownicy przyznają Enormi punkty reputacji!

Ostatnie wizyty

638 wyświetleń profilu

Enormi's Achievements

Nowy

Nowy (1/14)

2

Reputacja

  1. Enormi

    POMOZCIE !

    ponieważ nie istnieje plik startowy o nazwie: enderchest_minecraft.jar
  2. Ponieważ uważam, że używanie mavena w tak małych projektach jest bez sensu. Uczywiście jave powinna znać chociaż w minimalnym stopniu każda osoba, która chce zacząć pisać pluginy. Każdy preferuje co innego. Ja w eclipse pisze już dość długi czas i nie chce przyzwyczajać się do nowego interfejsu, oraz całkowicie nowego IDE. Jeśli chcesz to mogę zrobić kolejną cześć poradnika z użyciem mavena i JetBrains IDE. Pozdrawiam, Enormi
  3. Witam serdecznie, z tej strony Enormi, jest tu mój pierwszy wpis na tym forum Dziś przedstawie wam jak stworzyć swój pierwszy plugin na serwer 1.Zacznijmy od pobrania IDE, pewnie zapytasz -Enormi, ale co to jest ide? -IDE (ang.integrated development environment) jest to ziintegrowane środowisko programistyczne, najczęściej używanymi IDE do pisania pluginów są "JetBrains Intellij", oraz "Eclipse" Oczywiście istnieje wiele mniej znanych IDE, ale już nie chce się już zagłebiać w szczegóły. Osobiście preferuje Eclipse. 2.Po zainstalowaniu IDE: a) Pobieramy silnik, pod który chcemy pisać plugin i fajnie byłoby, gdybyśmy jeszcze pobrali API silnika. Ja pisze pod spigot 1.12.2 R0.1, oraz API spigotApi 1.12.2 R0.1 Pewnie znowu zadasz mi pytanie -Emormi, ale czekaj co to jest api? -API (ang. application programming interface) tłumaczać jest to interfejs programistyczny aplikacji. b)Po pobraniu silnika uruchamiamy IDE, w moim przypadku to Eclipse . * Tworzymy teraz nowy projekt javy, nazywamy go jak chcemy. W moim przypadku nazwa projektu to "mpspot" Nastepnie klikamy "next" Wchodzimy w zakładkę libraries, klikamy "Add externars Jars" i dodajemy nasz silnik, oraz jego API Następnie klikamy "Otwórz" i gotowe. * Teraz tworzymy nowy package, możemy go nazwać me.autor.nazwa_wtyczki w moim przypadku to będzie me.enormi.mcspot I klikamy "Finish" *Teraz tworzymy główną klasę pluginu w tym package`u. Klasę główną powinniśmy nazwać według zaleceń bukkita czyli Nazwa_PluginuJavaPlugin w moim przypadku to będzie MpspotJavaPlugin (Pamiętaj, by klasa nazywała się z dużej litery) Teraz rozszerzamy naszą klasę o JavaPlugin, w tym momencie operujemy na kodzie, więc screenshot`y nie bedą potrzebne. Robimy to przez dopisanie do klasy "extends JavaPlugin". W moim przypadku wyglądać to bedzie nastepująco: public class MpspotJavaPlugin extends JavaPlugin{ } Pewnie powiesz -Emorni, tu jest błąd! -Musisz teraz zaimportować "JavaPlugin" -No, ale jak to zrobić? -Kliknij na bład i wybierz "import org.bukkit(...)", lub dopisz na górze "import org.bukkit.plugin.java.JavaPlugin;" *Teraz tworzymy metodę void onEnable() Teraz kilka wyjaśnien Metoda - Jest to zbiór instrukcji. Metoda void to metoda, która wykonuje kod, ale zwraca żadnej wartości. Metoda boolean to metoda, która wykonuje kod i zwraca wartosc przez return wartosc;. Więc zacznijmy od dopisania do klasy "Public void onEnable(){ }" Klasa wygląda następująco: package me.enormi.mcspot; import org.bukkit.plugin.java.JavaPlugin; public class MpspotJavaPlugin extends JavaPlugin{ public void onEnable(){ } } No tylko co nam z metody, która się wykona, ale nic w niej nie będzie? Zatem wyślijmy wiadomość do konsoli. Użyjemu do tego loggera, który daje nam bukkit, więc dopisujemy w środku bloku ({ }) metody "Bukkit.getLogger().log(Level.INFO, "Hello world!");" "Hello world!" to tekst, który zostanie wyświetlony w konsoli INFO to rodzaj wiadomości wyświetlony w konsoli Teraz powinniśmy zaimportować import java.util.logging.Level; import org.bukkit.Bukkit; *No dobra, ale co nam z pluginu, który tylko wyświetla wiadomośc do konsolii? Zatem stwórzmy komende! Zacznijmy od stworzenia nowego package "commands", żeby kod był schludny i na swoim miejscu. Teraz klikamy "finish" i tworzymy nową klase, która nazywamy jak chcemy. Pamietaj, by po nazwie klasy można było się domyślić co w niej się znaduje. Ja ją nazwe "HelloCommand" Teraz zaimplementujemy do klasy CommandExecutor i zaimportujmy "import org.bukkit.command.CommandExecutor;" Obecnie całą klasa wygląda tak: package me.enormi.mcspot.commands; import org.bukkit.command.CommandExecutor; public class HelloCommand implements CommandExecutor{ } Teraz IDE może wyrzucić nam błąd "The type HelloCommand must implement the inherited abstract method CommandExecutor.onCommand(CommandSender, Command, String, String[])" Musimy stworzyć metodę boolean public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { return false; } następnie musimy coś zrobić w tej metodzie, dajmy na to, że jesli gracz wyśle komende, która podamy w plugin.yml i klasie głównej dostanie wiadomość "Hello world" Więc wyślijmy do sendera wiadomość, możemy zrobić to tak: "sender.sendMessage("Hello world);" Kod wygląda następująco: package me.enormi.mcspot.commands; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; public class HelloCommand implements CommandExecutor{ public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { sender.sendMessage("Hello world"); return true; } } Teraz w klasie głównej definiujemy tą komende w następujący sposób this.getCommand("komenda").setExecutor(new Klasa()); Cała klasa będzie wyglądać tak package me.enormi.mcspot; import java.util.logging.Level; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; import me.enormi.mcspot.commands.HelloCommand; public class MpspotJavaPlugin extends JavaPlugin{ public void onEnable(){ Bukkit.getLogger().log(Level.INFO, "Hello world!"); this.getCommand("hello").setExecutor(new HelloCommand()); } } Teraz tworzymy plik yaml (plugin.yml) Podajemy w nim takie wartości jak: main: ścieżka do klasy głównej version: wersja pluginu author: autor pluginu name: nazwa pluginu commands: komenda: Więc zaczynamy od I podajmy wartości i klucze w pliku Zawartość pliku w moim przypadku wygląda następująco name: testmpspot author: enormi main: me.enormi.mcspot.MpspotJavaPlugin version: 1.0 commands: hello: Teraz eksportujemy plugin File > export Jar file > next Teraz wybieramy nasz plugin, podajemy lokacje pliku gdzie go chcemy i "finish" I to na tyle. W razie problemów zapraszam do komentowania. Pozdrawiam, Enormi
×
×
  • Dodaj nową pozycję...