• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot Eigene Reload-Funktion

LuxLP

Minecrafter
Mitglied seit
9 Februar 2016
Beiträge
8
Alter
17
Hallo,
Ich programmiere zurzeit ein eigenes System für einen Server und möchte, dass ich anhand eines Befehls ("/systemreload"), das Plugin neu laden kann, statt immer den ganzen Server neu zu laden. Wie kann ich dass nun in das System einbauen?
Bedanke mich bereits im Voraus für sämtliche Antworten zu diesem Thread.

Mit freundlichen Grüßen
- LuxLP
 

Avankziar

Redstoneengineer
Osterei Experte
Mitglied seit
12 Februar 2018
Beiträge
48
Alter
26
Minecraft
Avankziar
Ist relative einfach
Code:
Main plugin = (Main) Bukkit.getServer().getPluginManager().getPlugin("Pluginname"); //Main = deine Mainklasse
plugin.getPluginLoader().disablePlugin(plugin);
plugin.getPluginLoader().enablePlugin(plugin);
 

❤️可愛いちゃん️❤️

Enderdragonjäger
Osterei Experte
Mitglied seit
19 Mai 2014
Beiträge
1.093
Alter
2
Ist relative einfach
Code:
Main plugin = (Main) Bukkit.getServer().getPluginManager().getPlugin("Pluginname"); //Main = deine Mainklasse
plugin.getPluginLoader().disablePlugin(plugin);
plugin.getPluginLoader().enablePlugin(plugin);
Und absoluter Bullshit.

Zuerst entspricht das nicht einem /reload, dieser instanziert nämlich die Plugininstanz neu. Desweiteren ist offensichtlich, dass @LuxLP keine Ahnung hat was dabei zu beachten ist, wenn man z.B. statische Felder nutzt, hat man ein Problem.

Die richtige Antwort ist daher eigentlich ziemlich simpel: Du musst ALLES was dein Plugin tut rückgängig machen. Jeden Task abbrechen, jeden Listener entfernen, etc. Vor allem wenn du irgendwo static benutzt, musst du dir genau überlegen, ob es schlimm ist, wenn beim nächsten Mal der Wert nicht neu gesetzt wird. Je nach dem wie groß dein Projekt zur Zeit ist, kannst du es ja vielleicht mal den Quellcode als Zip hochladen und dann kann man gucken, ob dir jemand alle Punkte aufzeigt, an denen du auf Probleme stößen wirst.

Das ganze korrekt zu implementieren ist überhaupt nicht trivial und erfordert eine saubere Softwarearchitektur. Aus diesem Grund ist der /reload Befehl auch so verhasst: Es gibt fast keine Plugins, die sauber entwickelt wurden und sich wirklich spurlos ausklinken. Bukkit/Spigot bekommt es ja schon selbst nicht hin...
 
Allgemein
Hilfe Benutzer
  • Stern☆ Stern☆:
    Verheizen das ich im Winter schön warm hab.. was denkst du .....
  • HardSoul HardSoul:
    Wie war das mit den knappen Opfern gestern?
  • Stern☆ Stern☆:
    Tja.. brauche so auch was zum heizen..
  • Stern☆ Stern☆:
    sonst gibt’s kein warmwasser :D
  • HardSoul HardSoul:
    Kannst du sie nicht erst opfern und dann die Überreste als Brennstoff nutzen? Sodass sie sogar nach ihrem tot einen Zweck haben? Oder braucht du einfach die Schmerzschreie?
  • Stern☆ Stern☆:
    Da bleibt ja nie was übrig!!!
  • Matthias Matthias:
    Guten Morgen
  • SirYwell SirYwell:
    Guten Morgen
  • realMaxW realMaxW:
    Guten Morgen
  • realMaxW realMaxW:
    @Matthias, wann stehst du denn auf das du immer so früh Guten Morgen schreiben kannst? :O
  • SirYwell SirYwell:
    7 Uhr
    +1
  • maybeto maybeto:
    Matthias macht das clever, er lässt morgens seine Frau "guten Morgen" schreiben und pennt selbst bis um 12.....
  • LottaXL LottaXL:
    Moin, moin =)
  • HardSoul HardSoul:
    Moinsen!
  • Matthias Matthias:
    Ich steh vor meiner Frau auf ;)
  • HardSoul HardSoul:
    Gute Nacht!
  • Stern☆ Stern☆:
    gn8^^
  • realMaxW realMaxW:
    Guten Morgen <3:cow:
  • maybeto maybeto:
    guten Morgen....
  • Matthias Matthias:
    Guten Morgen
  • Matthias Matthias:
    heut mal richtig lang geschlafen
  • HardSoul HardSoul:
    Guten Morgen
  • LottaXL LottaXL:
    Moin, moin =)
    LottaXL LottaXL: Moin, moin =)
    Oben