Skocz do zawartości

Emormi

Użytkownik
  • Zawartość

    16
  • Wysłane wiadomości na chacie

    24
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    2

Ostatnia wygrana Emormi w dniu 22 Kwiecień

Użytkownicy przyznają Emormi punkty reputacji!

Reputacja

8 Neutralny

O Emormi

  • Tytuł
    Użytkownik
  • Urodziny 1 Październik

Dodatkowe

  • Hobby
    Java
  • Strona www
  • Adres serwera minecraft
    7day.pl
  • Discord
    sfuty #0593
  • Nick w Minecraft
    lil_sewer

Ostatnie wizyty

249 wyświetleń profilu
  1. Emormi

    Pochwal się czymś!

    zdałem
  2. Emormi

    Seweryn

    Czesc wszystkim, jak w temacie jestem Seweryn i mam 15 lat. W minecrafta gram od 2014r. wolny czas spedzam na amatorskim programowaniu w javie, czasem pod API bukkita, takze pisanie pluginow pod serwery minecrafta nie jest mi obce. Rowniez lubie jezdzic na rowerze, a w trakcie tych czynnosci sluchac muzyki glownie rap i trap (Tutaj zostawie znicz dla x`a [*]). Czasami rowniez tworze jakies proste strony oparte o html, css i php, z czasem bede chcial ogarnac js`a, co nie powinno byc dla mnie problemem, aczkolwiek na ten moment uwazam ze nie jest mi do niczego potrzebny. Pozdrawiam, Seweryn
  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
  4. Emormi

    ODRZUCONE Rekrutacja - ivall

    W sumie mimo tego co sie dzialo moge polecic uzytkownika. Widac, ze sie stara i zalezy mu na randze. Jestem na tak. Pozdrawiam i zycze powodzenia
  5. Emormi

    Kuba, 13 lat, zajmuje się fotografią, spełniam wymogi

    Tak neutralnie, tymbardziej ze nie piszesz na forum zbyt duzo
  6. Emormi

    Rekord srv

    Akurat mialem to samo, wpadlem na pomysl, by zrobic cos takiego _minecraft._tcp.7day.pl. SRV 0 5 25565 s158988.enmc.pl ale tez nic specjalnie to nie dalo, masz moze jeszcze jakis pomysl?
  7. Emormi

    Rekord srv

    lvlup, panel directadmin
  8. Emormi

    Rekord srv

    Witam serdecznie, jak w temacie mam problem z przekierowaniem rekordu srv dla uslugi minecraft. Obecnie wyglada to tak: _minecraft._tcp.7day.pl. SRV 0 5 26946 151.80.111.31. I nie dziala, porzadanym dla mnie efektem jest przekierowanie z adresu 7day.pl na 151.80.111.31:26946 Pozdrawiam, Sfuty
  9. Emormi

    Plotsquared i worldedit

    Problem rozwiązany. W konfigu FAWE dokładnie w linijce 228 jest opcja maksymalnej ilości bloków do zmiany.
  10. Witam serdecznie, ○chciałbym skierować małe pytanko do osób, które miały styczność z tymi dwoma pluginami na jednym serwerze i jakoś je łączyły. Generalnie potrzebuje pomocy z tym, aby osoba posiadająca postęp do komendy //set, /walls i do zaznaczania pozycji siekierką, mogły to robić tylko i wyłącznie na swojej działce. Wiem, że istnieje uprawnienie plots.worldedit.bypass, ale jakoś specjalnie mnie to nie zadowala chociażby dlatego, że gracz może zaznaczyć teren na działce, do której został dodany i na swojej, co pozwala mu na zmianę terenu na czyjeś działce. ○Ewentualnie prosiłbym o jakiś plugin, nadający maksymalny limit zmiany bloków. Oczywiście każda odpowiedź coś wnosząca będzie nagradzana należytym lajkiem. Na odpowiedzi, które będą odbiegały od tematu nie reaguje. Pozdrawiam
  11. Emormi

    Dwa napisy html naprzeciw siebie

    Po co mam robic kolejny temat, skoro mam problem z ta sama rzecza, tylko bardziej skomplikowana?
  12. Emormi

    Dwa napisy html naprzeciw siebie

    Dzieki za wszystko, ogolnie moglibyscie pomoc z jeszcze z umieszczeniem : <li><a href="#home"><i class="material-icons">home</i></a></li> w: <span style="float: left">Lewo</span> tzn mam juz taki kod <span style-"float: left"><a href="#contact"><i class="material-icons">person</i></a></span> I chce z gornej czesci wyciagnac same hiper lacze (chyba tak to sie nazywa chodzi mi o href) i ikonke,. Gdy zwyczajnie wkleje pierwsza linijke do srodka pierwszej, to jest ok, ale jak wlasnie zostawie href i ikonke, to juz leci w lewo
  13. Emormi

    Dwa napisy html naprzeciw siebie

    Wytlumacz dokladnie, co masz na mysli. Nie znam sie zbytnio tzn. ucze sie pisac strony od kilku dni, nie wiecej niz tydzien
  14. Witam serdecznie, kolejny raz przychodze z problemem w html. Tym razem nie wiem, jak zrobic dwa napisy naprzeciwko siebie. Obecny kod: <p align="right">prawo</p> <p align="left">lewo</p> Generalnie, to niby dziala, ale przy tym powieksza sie div i prawy napis idze w gore. Oczywiscie kazda sensowna jest nagradzana lajkiem. Dzieki
  15. Emormi

    Wypelnienie tla strony danym kolorem

    Dziekuje, za pomoc. Niestety nie wiem czy cos zle zrobilem, ale nie chcialo mi to dzialac, ale przynamniej pokazales, jak mniej wiecej to powinienem zrobic. Generalnie powininno byc tak. bynajmniej u mnie to dziala <body bgcolor="yellow"> i usunac tego diva, jak mowiles. Dzieki
×