Umfrageergebnis anzeigen: Wie fandet ihr das Tutorial?

Teilnehmer
5. Du darfst bei dieser Umfrage nicht abstimmen
  • Gut

    4 80,00%
  • Schlecht(Bitte Grund in den Thread)

    1 20,00%
  1. #1
    Avatar von rVs14
    Registriert seit
    18.11.2011
    Beiträge
    985
    Thanked 513 Times in 338 Posts

    Standard [Minecraft] Mein Bukkitserver - Die Plugin Programmierung

    Die Programmierung von Plugins


    Hallo und herzlich willkommen zu meinem ich glaube mittlerweile fünften Tutorial zu Bukkit, wie wir wohl alle hoffentlich wissen, basiert die Bukkit Serversoftware auf Java, das heißt wir müssen auch in Java coden und eine Entwicklungsumgebung nutzen welche auch Java unterstütz, daher nehme ich Eclipse.
    Da ich euch in diesem Tutorial ich euch nicht Java beibringen möchte, empfehle ich euch die Tutorials von Brotcrunsher.

    Nun fangen wir mal an, ich entschuldige mich jetzt schon einmal das dass Tutorial evtl. zu kurz raten wird.

    BILD ANZEIGEN [Warum wird das Bild nicht angezeigt?]
    - Bukkit Server
    - Eclipse(32 Bit, 64 Bit)
    - Bukkit Development Libary(Hier erhalten wir immer die Neuste)

    BILD ANZEIGEN [Warum wird das Bild nicht angezeigt?]
    Zu erst erstellen wir einen neuen Order auf unserem Desktop welchen wir bspw. Bukkit Dev nennen. Dort ziehen wir folgendes rein: Eclipse Verknüpfung und die Bukkit Libary. Nun starten wir Eclipse, nun müsst ihr Standartmäßig eure Workspace auswählen, dort wählen wir unseren zuvor erstellten Ordner: Bukkit Dev auf dem Desktop aus.

    BILD ANZEIGEN [Warum wird das Bild nicht angezeigt?]
    Nun erstellen wir ein neues Java Projekt, dafür drücken wir oben auf "New" -> "Java Projekt" und passen alles an, dazu im Spoiler 2 Screens.
    Spoiler:

    Hier erstellen wir ein neues Projekt



    Hier passen wir die Einstellungen so an:



    Dazu erstellen wir noch ein Package von welchem der Name folgendermaßen aufgebaut ist:
    Bsp: me.rvs14.MyPlugin
    Muss so bleiben, nicht ändern!
    Developername
    Plugin Name/Projekt Name
    PS: Ein Package ist in der gleichen Liste wie "Java Projekt"!

    BILD ANZEIGEN [Warum wird das Bild nicht angezeigt?]
    Nun erstellen wir eine neue Klasse in unserem eben gerade erstelltem Package mit dem Pluginname in meinem Fall MyPlugin.
    Screen:
    Spoiler:

    Nun wird es auch Zeit die Bukkit Libary zu importieren. Dies machen wir folgendermaßen: ihr macht Rechtsklick auf euren Projektnamen, dort steht dann: Properties, dann wählt ihr im Menü an der Seite : Java Build Path aus.
    Jetzt müsste das Ganze so bei euch aussehen:
    Spoiler:


    Dort klickt ihr auf "Add External Jars", sucht eure vorher heruntergeladene Libary raus und klickt auf OK.

    Wir fangen nun an zu coden.
    Ich habe die Klasse bereits fertig gecodet, aber ich habe sie Dokumentiert!
    Hier der Code:
    Spoiler:
    PHP-Code:
    package me.rvs14.MyPlugin;

    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.PlayerInventory;
    import org.bukkit.plugin.java.JavaPlugin// Achtung ist ein manueller Import!

    public class MyPlugin extends JavaPlugin // Hier muss extens JavaPlugin hinzugefügt werden, nun werdet ihr einen Fehler bekommen das ihr etwas importieren müsst, daher klickt ihr auf die Glühbirne mit dem roten X und klickt dort auf Import Java Plugin. 
         
    @Override
         
    public void onDisable() { // Methode welche aufgerufen wird wenn der Server bzw. das Plugin gestoppt wird
            
    System.out.println("[MyPlugin] MyPlugin wurde deaktiviert!"); // Wird ausgegeben wenn der Server bzw. das Plugin gestoppt wird(in der Console!)
            
         
    }
         
         @
    Override
         
    public void onEnable() { // Methode welche aufgerufen wird wenn der Server bzw. das Plugin gestartet wird
        
    System.out.println("[MyPlugin] MyPlugin wurde aktiviert!"); // Wird ausgegeben wenn der Server bzw. das Plugin gestartet wurde(in der Console)
         
    }
      
         public 
    boolean onCommand(CommandSender senderCommand cmdString cmdLabelString [] args) { // Hier muss wieder viel Importiert werden, dieser Boolean muss immer da sein!
             
    {
                 
    boolean succes false// Da hier der Command noch nicht ausgeführt wird, wird der Boolean False(falsch/unwahr) gemacht, dann wird ein Fehler geworfen.
                 
    Player player = (Player)sender// Wieder importieren, hier wird der Spieler(Client) welcher den Command ausführt in die Variable eingespeichert.
                 
    PlayerInventory playerinventar player.getInventory(); // Wieder importieren, hier wird das Inventar von dem zuvor deklaierten Spieler in eine Variable eingespeichert.
                
    ItemStack zugebeneitems = new ItemStack(Material.DIAMOND_AXE63); // Wieder importieren, das Itemstack sollte jeder erfahrene Minecraft Spieler kennen, hier füllen wir diesen ItemStack mit 63 Diamantaxen.
                
    if(cmd.getName().equalsIgnoreCase("test")) { // Wenn der Command /MyPlugin lautet, kommt eine Aktion welche im weiteren Code auftaucht. MyPlugin kann auch durch euren eigenen Command ersetzt werden.
                    
    playerinventar.addItem(zugebeneitems); // Hinzufügen des Itemstack ins Spielerinventar
                    
    player.sendMessage(ChatColor.GREEN "Du hast soebenen 63 Diamant Axen erhalten!"); // Eine Nachricht an den Benutzer senden, dass er die Nachricht erhalten hat.
                    
                    
                    
                    
                    
    succes true// Erfolg auf wahr/richtig setzen
                
    }else { // wenn ein Fehler aufgetreten ist
                    
    succes false// Erfolg auf falsch/unwahr setzen
                
    }
                return 
    succes// Boolean übergeben
             
    }
         }



    BILD ANZEIGEN [Warum wird das Bild nicht angezeigt?]
    Nun müssen wir noch in unserem src Ordner eine neue File erstellen, das machen wie mit dem Java Projekt, nur wie wählen halt File und geben dort als Name plugin.yml ein.
    Bitte bearbeitet diese Datei in Eclipse, dafür müsst ihr die Datei oben über das Editorfeld ziehen.
    Diese füllen wir folgendermaßen:
    PHP-Code:
    nameMyPlugin
    version
    1.0
    main
    me.rvs14.MyPlugin.MyPlugin
    author
    rvs14
    website
    http://www.mein-craft.net
    commands:
         
    test:
              
    descriptionEin testplugin
              usage
    : /<command
    Das sollte alles selbsterklärend sein. Bei Commands steht "test", dort tragt ihr den Command von eurem Plugin ein!
    BILD ANZEIGEN [Warum wird das Bild nicht angezeigt?]

    Nun sind wir mit dem Coding fertig und müssen unser Plugin nurnoch exportieren.
    Dies machen wir folgendermaßen, wir klicken auf den Namen unseres Projektes und drücken dort auf "Export".
    Das müsste nun so aussehen:
    Spoiler:


    Hier wählen wir nun Jar File aus,dann drücken wir auf "Next", danach passen wir alles wie hier an:
    Spoiler:

    Den JarFile Pfad selber wählen und als Name euren PluginName wählen.

    Ich hoffe euch hat das Tutorial gefallen, und es war nicht zu schwer verständlich, bei Fehlern bitte ich euch hier in den Thread zu schreiben, aber bitte bedenkt das ich noch selber Anfänger bin.

    €: Gerade failt das Plugin, die plugin.yml ist wahrscheinlich nicht korrekt, ich fixxe das gleich, muss erstmal weg!
    €²: Geht nun alles wieder
    Geändert von rVs14 (12.05.2012 um 18:38 Uhr)

  2. The Following User Says Thank You to rVs14 For This Useful Post:

    Gangstersheep (25.05.2012)

Ähnliche Themen

  1. [Minecraft] Mein Bukkitserver - Der Anfang
    Von rVs14 im Forum Minecraft
    Antworten: 5
    Letzter Beitrag: 11.01.2013, 16:56
  2. [Minecraft] Mein Bukkitserver - Die Plugins
    Von rVs14 im Forum Minecraft
    Antworten: 2
    Letzter Beitrag: 26.05.2012, 21:53
  3. Antworten: 0
    Letzter Beitrag: 24.04.2012, 18:56
  4. Antworten: 0
    Letzter Beitrag: 10.04.2012, 11:01
  5. Antworten: 0
    Letzter Beitrag: 08.04.2012, 13:02
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.