JAVA BUKKIT PROGRAMMIERUNG: Plugin erst laden wenn anderes plugin geladen wurde!?

2 Antworten

Ich kenne mich mit Bukkit nicht wirklich aus, aber wenn ich die (magere) Doku richtig verstehe, wird jedesmal wenn ein Plugin geladen wurde, folgendes Event gesendet:

org.bukkit.event.server.PluginEnableEvent

Also könntest du beim Enable deines Plugins dich als Listener registrieren:

import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.server.PluginEnableEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class A extends JavaPlugin implements Listener
{

  public final Logger log = Logger.getLogger("Minecraft");
  public void onEnable()
  {
    log.info("Robot enabled");
    Bukkit.getServer().getPluginManager().registerEvents(this, this);
   
  }

  public void onDisable()
  {
    log.info("Robot disabled");
   
   
  }

  @EventHandler
  public void onPluginEnableEvent(PluginEnableEvent e){
    if(e.getPlugin() == ...) {
        //start your plugin
    }
  }
   

}

JoschyPrivat 
Beitragsersteller
 25.03.2018, 22:52

bin auf die Idee gekommen statt e.getPlugin soll er einfach überprüfen ob multiverse in der plugin list ist

0
JoschyPrivat 
Beitragsersteller
 25.03.2018, 22:40

Ich probiere dass mal aus... bzw. Warte mal: Wenn Multiverse z.B.: vor meinem plugin geladen wird funktioniert das so nicht... :(

0

Dafür gibt es "depend" und "softdepend" in der plugin.yml:

https://www.spigotmc.org/wiki/plugin-yml/


JoschyPrivat 
Beitragsersteller
 25.03.2018, 22:34

Hast zwar geholfen hab aber jetzt folgende fehler meldung:

[22:33:46 ERROR]: Could not load 'plugins\plugin.jar' in folder 'plugins'

org.bukkit.plugin.UnknownDependencyException: MultiverseCore

       at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:219) [server.jar:git-Spigot-db6de12-18fbb24]

       at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292) [server.jar:git-Spigot-db6de12-18fbb24]

       at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:739) [server.jar:git-Spigot-db6de12-18fbb24]

       at org.bukkit.Bukkit.reload(Bukkit.java:535) [server.jar:git-Spigot-db6de12-18fbb24]

       at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [server.jar:git-Spigot-db6de12-18fbb24]

       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [server.jar:git-Spigot-db6de12-18fbb24]

       at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) [server.jar:git-Spigot-db6de12-18fbb24]

       at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(CraftServer.java:627) [server.jar:git-Spigot-db6de12-18fbb24]

       at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:412) [server.jar:git-Spigot-db6de12-18fbb24]

       at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:375) [server.jar:git-Spigot-db6de12-18fbb24]

       at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [server.jar:git-Spigot-db6de12-18fbb24]

       at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [server.jar:git-Spigot-db6de12-18fbb24]

       at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]

weist du wass zu tun ist?

0
FireEraser  25.03.2018, 23:04
@FireEraser

Da du es anscheinend nicht gemerkt hast: Bei dir fehlt im Pluginname der Bindestrich.

0
JoschyPrivat 
Beitragsersteller
 25.03.2018, 22:29

Danke hast was gut genau das habe ich gesucht!

0