Hilfe beim Programmieren nur kleine Frage!

Dieses Thema im Forum "Programmierung" wurde erstellt von MineForce, 29. August 2013.

  1. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Hallo, Liebe Community

    Ich möchte:
    Einen Ordner mit einer Klasse drin die folgendes kann:
    In der Klasse sollen alle Befehle die es gibt drin sein mit ihren jeweiligen Dingen die sie können.
    Nur was muss ich schreiben/programmieren das das funktioniert und von der Hauptklasse abgeleitet wird..

    Vielen Dank vorraus:D

    - - - Aktualisiert - - -


    PS: Kurz und Knapp ich möchte nicht alles in der Hauptklasse drin haben..
     
    #1
  2. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Mit einem CommandExecutor, bsp :
    Und in die Main Klasse (OnEnable Methode) :

     
    #2
  3. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Du verstehst das falsch!

    Ich möchte folgendes:
    - Ich trage etwas in der Hauptklasse ein.
    - Dann erstelle ich in meinen Plugin einen neuen Ordner.
    - Dorthinein eine Klasse.
    - Und in diese Klasse kommen die Befehle rein und ihre Methoden der rest soll in den Hauptklassen sein.
     
    #3
  4. Chrisliebaer
    Online

    Chrisliebaer

    Du willst, dass du das, was die Befehle machen sollen einfach nachträglich ändern kannst, wenn die .jar Datei schongepackt ist? Das geht nicht. Dafür müsstest du den Code während der Laufzeit kompilieren.

    Und ansonsten ist ein CommandExecutor genau das, was du willst.
     
    #4
  5. MineForce
    Offline

    MineForce Gesperrt

    Registriert seit:
    17. Oktober 2012
    Beiträge:
    122
    Nein mir geht es um Ordentlichkeit das heißt ich möchte für die Befehle einen Extra ordner mit extra klasse aber wo ich nix anderes reinschreibe als die befehle
     
    #5
  6. ChunkNorris
    Online

    ChunkNorris

    Wenn ich das richtig verstehe, dann willst du sowas wie ein kleines CommandFramework. Am besten schreibst du dir eine Methode, die über Reflection die Klassen aus dem command-package holt und dann die Commands bei Bukkit registriert. Damit dein Framework weiß welche Befehle eine Klasse hat, kannst du zB. Annotations nutzen.
     
    #6
  7. Chrisliebaer
    Online

    Chrisliebaer

    Exakt das hat dir MrOAriO gepostet. Eine Klasse pro Kommando mit eigenen Package
    http://wiki.bukkit.org/Plugin_Tutorial#Using_a_separate_CommandExecutor_class
     
    #7
  8. Jorre222
    Offline

    Jorre222

    Registriert seit:
    11. Juli 2013
    Beiträge:
    22
    Minecraft:
    Gambero77
    Beispielcode

    So hier einmal für dich ein kleiner Beispielcode.
    Auch hier gilt mal wieder: "Dieser Code ist aus dem Kopf geschrieben! Daher können Zeichen falsch gesetzt sein oder ein Groß/Klein schreib Fehler da sein!"
     
    #8
  9. ThunderFlo
    Offline

    ThunderFlo

    Registriert seit:
    22. September 2013
    Beiträge:
    53
    Ich weiß jetzt nicht kannst genau was du meinst, aber wenn du die Klassen mit deinen Commands woanders haben möchtest und nicht immer in dem gleichem Packet dann solltest du das hier machen bei dem onEnable Teil in deiner Hauptklasse:

    Code (Text):
    1.     @Override
    2.     public void onEnable() {
    3.        
    4.         //DeinCode
    5.         this.getCommand("CommandName").setExecutor(new KlassenName());
    Der KlassenName wird dir dann noch rot unterterstrichen da du dann noch dein Packege importieren musst mit der Klasse und wenn du das dann gemacht hast sollte es funktionieren.
     
    #9