McSurvi.pl Network Serwery Minecraft 1.8
[Poradnik] Jak napisać plugin do Minecraft'a? - Wersja do druku

+- McSurvi.pl Network Serwery Minecraft 1.8 (http://mcsurvi.pl/forum)
+-- Dział: Forum Ogólne (http://mcsurvi.pl/forum/forumdisplay.php?fid=1)
+--- Dział: Poradniki (http://mcsurvi.pl/forum/forumdisplay.php?fid=127)
+--- Wątek: [Poradnik] Jak napisać plugin do Minecraft'a? (/showthread.php?tid=18081)



[Poradnik] Jak napisać plugin do Minecraft'a? - wiktorelex - 08-02-2018

Witajcie, jako iż jest to mój pierwszy poradnik to się przedstawię Smile Mam na imię Wiktor i interesuję się informatyką, mam 12 lat i programuje już od 2 lat.
W tym poradniku dowiesz się, jak napisać prosty plugin do Minecrafta
Jeśli palnę coś głupiego w tym poradniku, nie spalcie mnie w komentarzach Confused

1. Pobieranie podstawą sukcesu!
Aby jakkolwiek zacząć pracę z programowaniem musimy się zaopatrzyć w bezpłatny program do Javy Wink
2. Kliknij czarny guzik z napisem "Community".
3. Zainstaluj IntelliJ IDEA.


2. Zainstaluj środowisko Java dla programistów
1Wejdź w link http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html po czym kliknij "Accept License Agreement", następnie kliknij "jdk-8u161-windows-i586.exe" aby pobrać środowisko.

3. Instalujemy oba pliki
Przyszedł czas na.... właśnie, INSTALACJĘ Smile
Na początku zainstaluj IntelliJ IDEA akceptując każdą licencję napotkaną w instalatorze.
Gdy podczas instalacji pojawi się coś i ".java" lub ".groovy", zaznacz wszystko.
Następnie otwórz instalator pakietu Java, tak jak podczas instalacji IntelliJ... zaakceptuje wszystkie licencje użytkowania.

4. Przygotuj swoje stanowisko pracy!
Włącz IntelliJ idea i stwórz nowy projekt, po lewej stronie wybierz "Maven" i gdy na górze okna cię poprosi o coś takiego jak "SDK" to wybierz ścieżkę podobną do:

Cytat:C:\Program Files\Java\jdk-9.0.4

Następnie kliknij "Next".
I teraz nadchodzi pytanie "creepek! co teraz?! ja się na tym nie znam!!".
Już tłumaczę Smile
GroupID - jest to paczka, dzięki której Twój plugin będzie wiedział, gdzie znajduje się poszczególny kod.
ArtFactId - Jest to nazwa projektu, która będzie się pokazywała w IntelliJ IDEA.

WIęc tak, w GroupID naczęściej się pisze coś takiego: me.<twój nick>.<to co wpisałeś w ArtfactId>
A w ArtfactID? Po prostu nazwa pluginu. Oraz ponownie naciśnij nasz ulubiony klawisz... "Next", 2 razy Smile

5. Kodowanie...
W poprzednim kroku stworzyłeś projekt, brawo! Teraz zajmiemy się importowaniem bibliotek bukkita aby IntelliJ mógł wiedzieć do czego piszemy kod.
Po stworzeniu projektu powinieneś zobaczyć takie coś:


Kod:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>me.creepek.JakNapisacPlugin</groupId>
   <artifactId>JakNapisacPlugin</artifactId>
   <version>1.0-SNAPSHOT</version>


</project>
Jeśli zobaczyłeś coś podobnego do tego to gratuluję Smile
Po znaczniku <version> wstaw taki kod:

Kod:
   <repositories>
       <repository>
           <id>spigot-repo</id>
           <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
       </repository>
   </repositories>
   <dependencies>
       <dependency>
           <groupId>org.spigotmc</groupId>
           <artifactId>spigot-api</artifactId>
           <version>1.12.2-R0.1-SNAPSHOT</version>
           <scope>provided</scope>
       </dependency>
   </dependencies>
   <build>
       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>3.6.1</version>
               <configuration>
                   <source>1.8</source>
                   <target>1.8</target>
               </configuration>
           </plugin>
       </plugins>
   </build>
Teraz plik pom.xml powinien wyglądać tak:



Kod:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>me.creepek.JakNapisacPlugin</groupId>
   <artifactId>JakNapisacPlugin</artifactId>
   <version>1.0-SNAPSHOT</version>

   <repositories>
       <repository>
           <id>spigot-repo</id>
           <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
       </repository>
   </repositories>
   <dependencies>
       <dependency>
           <groupId>org.spigotmc</groupId>
           <artifactId>spigot-api</artifactId>
           <version>1.12.2-R0.1-SNAPSHOT</version>
           <scope>provided</scope>
       </dependency>
   </dependencies>
   <build>
       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>3.6.1</version>
               <configuration>
                   <source>1.8</source>
                   <target>1.8</target>
               </configuration>
           </plugin>
       </plugins>
   </build>

</project>
I klliknij "Import Changes" w prawym dolnym rogu.
Potem rozwiń strukturę drzewa w lewym górnym rogu, powinno wyglądać to tak:

[Obrazek: zFbpeba.png]

I dodaj package

[Obrazek: 2F4RX0C.png]

Package (paczkę) nazwij tak samo jak nazwałeś GroupId przy tworzeniu projektu Smile

Następnie w nowo stworzonym package tworzymy klasę i nazywamy ją "Main".

[Obrazek: CRYoccH.png]

Przechodzimy do "Main.java"
Po "Main dopisujemy "extends JavaPlugin"
Kod powinien teraz wyglądać tak:



Kod:
package me.creepek.JakNapisacPlugin;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{

}

Następnie dodajemy event "onEnable".
Kod w tej chwili wygląda tak:



Kod:
public class Main extends JavaPlugin{
   public void onEnable(){
       getLogger().info("Twój pierwszy plugin został włączony!");
   }
}

I następnie tworzymy komendę.
Kod teraz wygląda tak:



Kod:
public class Main extends JavaPlugin{
   public void onEnable(){
       getLogger().info("Twój pierwszy plugin został włączony!");
   }
   
   public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
       if (command.getName().equalsIgnoreCase("komenda")) {
           if ((sender instanceof Player)) {
               sender.sendMessage("To jest przykładowa komenda zrobiona w pluginie");
           }
       }
       return false;
   }
}

Teraz nie pozostało nic innego jak skompilowanie pluginu i wrzucenie, prawda?
Właśnie nie! Musimy jeszcze zrobić plik "plugin.yml" w którym wpiszemy informacje dzięki którymi nasz serwer będzie wiedzieć czy to plugin czy to nie jest plugin.
Klikamy prawym przyciskiem na "resources" i najedźmy na "New", następnie "File".
Plik nazwij "plugin.yml".

W wnętrznościach tego pliku musimy podać ten informacje, ale kurcze jakie one są? Już mówię
Nazwa pluginu, autorzy, wersja pluginu, plik który zawiera kod oraz komendy.

Cały plik wygląda tak:


Kod:
name: PierwszyPlugin
main: <package podany przy tworzeniu projektu>.Main
version: 1.0
author: <autor>

commands:
 <twoja komenda>:
   description: Opis komendy
   usage: Po prostu wpisz /<komenda>

To co się znajduje w nawiasach klamrowych, czyli < oraz > musisz wypełnić własnymi danymi
Na przykład:



Kod:
name: cDrop
main: me.creepek.cdrop.Main
version: 1.0
author: creepek

commands:
 drop:
   description: Pokazuje liste dropow ze stone
   usage: Po prostu wpisz /drop


6. Kompilowanie ścieżką do końca labiryntu.

W lewym górnym boku jest coś takiego jak "File".
Kliknij to, po czym  kliknij "Project Structure" po czym przejdź do zakładki "Artfacts", i kliknij to co jest widoczne na screenie.

[Obrazek: hs9L8VQ.png]

Wybierz "JAR > Empty"
W name wpisz nazwę pluginu i kliknij w razy na to:

[Obrazek: qGAyK3l.png]

Nastepnie kliknij ten + tylko że niżej i wybierz "Directory Content". I wybierz ścieżkę podobną do tej:


Cytat:C:\Users\Wikor\IdeaProjects\JakNapisacPlugin\src\main\resources

Kliknij, ok, potem znów OK i wszystko gotowe! Można teraz skompilować plugin!

Teraz ostatni krok, czyli kompilowanie.
Kliknij zakładkę Build na samej górze ekranu, następnie Build Artfacts i Build

Mam nadzieję, że poradnik się przydał, jeśli tak, możesz zostawić + i napisać miły komentarz Wink
Jeśli chcesz więcej takich poradników, napisz to w komentarzu Smile



[Poradnik] Jak napisać plugin do Minecraft'a? - _szumielxd_ - 08-02-2018

Przydaloby sie dokladniej opisac to co zrobiles chocby w ciele komendy. Malo kto zrozumie do czego sluzy dana linijka. Nawet nie jest wytlumaczone co oznaczaja dane eventy. Ale probsy za probe. Naprawde nie latwo sie zabrac za tlumaczenie programowania


RE: [Poradnik] Jak napisać plugin do Minecraft'a? - samodzielny66 - 18-03-2018

no właśnie ja nie bardzo mogłem zrozumieć...


RE: [Poradnik] Jak napisać plugin do Minecraft'a? - falak - 17-06-2018

podpinam sie


[Poradnik] Jak napisać plugin do Minecraft'a? - tygrysek208 - 17-06-2018

Wiadomość wygenerowana automatycznie !

[Obrazek: image.php?di=PT0G]

Ten wątek został zamknięty, jeśli nie zgadzasz się z tą decyzją
skontaktuj się z administracją McSurvi.pl
Pozdrawiamy!