Gelöst ServerPlugin Klasse eines Plugins in einem anderen Ordner ausführen [SOLVED]

Dieses Thema im Forum "Programmierung" wurde erstellt von HardcorePvP, 12. April 2016.

  1. HardcorePvP
    Offline

    HardcorePvP

    Registriert seit:
    3. September 2012
    Beiträge:
    92
    Ort:
    München
    Minecraft:
    blooditor
    Hallo,

    ich möchte mit einem Mod im mods Ordner eine Methode eines Plugins im plugins Ordner ausführen (Cauldron).
    Das Plugin ist importiert, nur kann der Mod das Plugin nicht finden, da es im Plugins Ordner ist. Ich müsste also den Pfad des Plugins mitgeben.
    Weiß jemand, wie dies möglich ist?

    Vereinfachter Quelltext im Mod:

    import me.blooditor.plugin.Bspclass;
    public class Klasse{
    public void test(){
    Bspclass bsp = new me.blooditor.plugin.Bspclass(); //Pfad nicht angegeben
    bsp.methode();
    }
    }

    Danke im Voraus!
     
    #1
  2. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    #2
  3. HardcorePvP
    Offline

    HardcorePvP

    Registriert seit:
    3. September 2012
    Beiträge:
    92
    Ort:
    München
    Minecraft:
    blooditor
    Bitte genau lesen, das ist nicht das Problem. Das Problem ist, dass das Plugin in einem anderen Ordner ist und somit dann für die Mod nicht vorhanden bzw. erreichbar.
     
    #3
  4. 可愛い
    Offline

    可愛い

    Registriert seit:
    19. Mai 2014
    Beiträge:
    657
    Ich verstehe dein Problem nicht, es hört sich jedoch ein bisschen so an als ist dir nicht klar, wie die JVM funktioniert. Erklär es vielleicht mal ausführlicher.
     
    #4
    MiCrJonas gefällt das.
  5. HardcorePvP
    Offline

    HardcorePvP

    Registriert seit:
    3. September 2012
    Beiträge:
    92
    Ort:
    München
    Minecraft:
    blooditor
    Okay also nochmal genauer.
    Ich habe einen Cauldron Server, kann also Forge Mods und Bukkit Plugins laden. Nun möchte ich einen Mod, der Serverside funktioniert mit einem Plugin kombinieren, weil ich einerseits Forge-Funktionen und andererseits Bukkit-Funktionen benötige. Ich habe also in meinem Serverordner einen Servermod im mods Ordner und ein Bukkit Plugin im plugins Ordner. Nun möchte ich mit dem Mod eine Methode des Plugins verwenden.
    Das Problem dabei ist, dass der Mod die Methode/Klasse nicht finden kann, obwohl ich sie importiert habe. Meine Vermutung ist, dass das Plugin für den Mod sozusagen nicht erreichbar ist, so gut kenne ich mich dann aber auch nicht aus mit Java...
     
    #5
  6. 可愛い
    Offline

    可愛い

    Registriert seit:
    19. Mai 2014
    Beiträge:
    657
    Das hört sich für mich so an als bekommst du das Plugin nicht mal kompiliert. Damit du im Quellcode eine Klasse aus einer anderen Jar Datei referenzieren kannst musst du die Jar-Datei in deine IDE einbinden (so, wie du auch die bukkit.jar eingebunden hast). Ich vermute mal, du nutzt Eclipse, dann geht das ungefähr so: http://stackoverflow.com/questions/3280353/how-to-import-a-jar-in-eclipse

    Falls dein Problem aber erst bei der Ausführung als Exception auftritt kann ich dir nicht weiterhelfen, da wirds dann spezieller und man müsste wissen, wie Cauldron die Plugins läd, das glaub ich aber fast nicht, ich denk du hast die Jar Datei nicht über deine IDE importiert.
     
    #6
    MiCrJonas gefällt das.
  7. HardcorePvP
    Offline

    HardcorePvP

    Registriert seit:
    3. September 2012
    Beiträge:
    92
    Ort:
    München
    Minecraft:
    blooditor
    Natürlich habe ich diese eingebunden... naja trotzdem danke...
     
    #7
  8. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    665
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Also da es soweit ich es verstanden habe nicht gerade einfach sein würde, würde ich dir einfach vorschlagen einen Befehl zu erstellen den du via Mod dann einfach ausführst.
    Edit: Alternativ kannst du auch via Packets arbeiten ist jedoch unter umständen aufwendiger.
     
    #8
  9. HardcorePvP
    Offline

    HardcorePvP

    Registriert seit:
    3. September 2012
    Beiträge:
    92
    Ort:
    München
    Minecraft:
    blooditor
    Das geht leider nicht, da ich bestimmte Bukkit-Funktionen benötige...
    Mit Packets kenne ich mich wenig aus, sollte eig. auch nicht funktionieren, da ich Methoden mit Rückgabewert verwenden möchte.
     
    #9
  10. JTK222
    Online

    JTK222

    Registriert seit:
    5. September 2013
    Beiträge:
    665
    Ort:
    Planet Erde
    Minecraft:
    JTK222
    Was möchtest du denn machen kann dir dann evtl. mit den Packets helfen.
    Damit geht recht viel auch frage Antwort zeug wobei das mit Befehl noch am besten wäre wenn die Mod und das Plugin beide auf dem server sind.
     
    #10
  11. HardcorePvP
    Offline

    HardcorePvP

    Registriert seit:
    3. September 2012
    Beiträge:
    92
    Ort:
    München
    Minecraft:
    blooditor
    Ich habe es jetzt mit einem sehr umständlichen Weg über Textdateien gelöst. Danke trotzdem für eure Hilfe ;)
     
    #11