• 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!

PlugIn Plugin funktioniert plötzlich nicht mehr

abcabc

Redstoneengineer
Registriert
2 Mai 2018
Beiträge
35
Diamanten
250
Hallo,

Ich grade ein bisschen verzweifelt. Mein Plugin lässt sich einfach nicht mehr laden und funktioniert so gut wie
gar nicht mehr. Das Plugin ist ein ServerSystem (Reallife) das bisher reibungs geklappt hat bis jetzt. Ich kann kurz erläutern was ich vor dem Fehler
gemacht habe. - Intelli installiert.
- Intelli deinstalliert (Falsches Programm: Community)
- Projekt importiert
- Mit vielen Fehlern versucht das Plugin einzurichten
- Intelli deinstalliert
- Plugin exportiert und...
Es hat nicht mehr funktioniert. Folgender Fehler wird ausgeführt wenn man das Plugin laden lässt.
Fehlermeldung:
[23:35:42 INFO]: Reallife: Plugin wurde deaktiviert
[23:35:42 ERROR]: Error occurred while disabling ServerSystem v2.0 (Is it up to date?)
java.lang.ExceptionInInitializerError: null
        at me.nicitoni.Main.onDisable(Main.java:154) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:266) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:361) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:422) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at me.nicitoni.Main.onEnable(Main.java:76) [ban.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:403) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:381) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:330) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:422) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:383) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:338) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:272) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_231]
Caused by: java.lang.NullPointerException
        at anticheat.ReportCommand.<clinit>(ReportCommand.java:26) ~[?:?]

Nun ich habe wirklich überall gesucht. Und ich weiss ürbigens was ne NPE ist...
Ich vermute es hat was mit der Main zu tun.

Ich sende jetzt noch folgende Dokumente:
- Main
- ReportCommand Klasse
- PluginYML
Main:
package me.nicitoni;

import anticheat.*;
import anticheat.Error;
import fessel.Command;
import fessel.FesselListener;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import net.milkbowl.vault.chat.Chat;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
import prefix.PrefixListener;
import rp.PayDay;
import system.ReloadPlugin;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;

public class Main extends JavaPlugin {


    public static File messageFILE;
    public static HashMap<String, String> messageData = new HashMap<String, String>();
    private static Economy econ = null;
    private static Permission perms = null;
    private static Chat chat = null;
    private static Main plugin;
    private static YamlConfiguration message;
    public int taskID;
    String chatN = "§f[§5Security]§f:";

    public static Main getPlugin() {
        return plugin;
    }

    public static Economy getEconomy() {
        return econ;
    }

    public static Permission getPermissions() {
        return perms;
    }

    public static Chat getChat() {
        return chat;
    }

    public static void save() {
        getPlugin().reloadConfig();
        getPlugin().saveConfig();

    }

    public static void error(Player p, String errormessage) {
        p.playSound(p.getLocation(), Sound.BLOCK_NOTE_PLING, 100, 1);
        p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent("§c➥  §e" + errormessage));
    }

    public static void actionBar(Player p, String msg) {
        p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(msg));
    }

    public void onEnable() {

        if (!setupEconomy()) {

            getServer().getPluginManager().disablePlugin(this);
            return;
        }
        setupPermissions();
        setupChat();

        plugin = this;
        System.out.println("[Reallife] Plugin wurde geladen");
        getCommand("artzt").setExecutor(new Medic());
        getCommand("medic").setExecutor(new Krankenwagen());
        getCommand("buss").setExecutor(new Stationen());
        getCommand("timer").setExecutor(new Timer());
        getCommand("report").setExecutor(new ReportCommand());
        getCommand("artzt").setPermission("artzt.run");
        getCommand("punish").setExecutor(new BanManager());
        getCommand("reason").setExecutor(new Reasons());
        getCommand("error").setExecutor(new Error());
        getCommand("token").setExecutor(new TokenCommand());
        getCommand("clearchat").setExecutor(new ClearChat());
        getCommand("clearchat").setPermission("power.mod");
        getCommand("fessel").setExecutor(new Command());
        getCommand("prl").setExecutor(new ReloadPlugin());
        getCommand("pgui").setExecutor(new BanGUI());
        getCommand("spectate").setExecutor(new Spectate());


        File f = new File(getDataFolder() + File.separator + "messages.yml");
        if (!f.exists()) {
            try {
                f.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        setMessage("bill", "§f[§4Server§f]: Ihnen wurde soeben ihre Rechnung abgezogen. Der Betrag beträgt: ");


        FileConfiguration config = YamlConfiguration.loadConfiguration(f);
        for (String message : config.getConfigurationSection("").getKeys(false)) {
            messageData.put(message, config.getString(message));


        }


        PluginManager pm = getServer().getPluginManager();

        pm.registerEvents(new KrangenwagenListener(), this);
        pm.registerEvents(new HealerListener(), this);
        pm.registerEvents(new HandcuffListener(), this);
        pm.registerEvents(new ReportInv(), this);
        pm.registerEvents(new PrefixListener(), this);
        pm.registerEvents(new DistanceListener(), this);
        pm.registerEvents(new TNTProtecterListener(), this);
        pm.registerEvents(new FesselListener(), this);
        pm.registerEvents(new CPSListener(), this);
        pm.registerEvents(new BanGuiListener(), this);


        for (int i = 0; i < Bestrafungen.values().length; i++) {
            Bestrafungen[] b = Bestrafungen.values();
            BanGUI.add(b[i].getBanName().toString(), b[i].getId().toString());
            System.out.println(b[i].getId().toString());
        }

        for (Player ich : Bukkit.getOnlinePlayers()) {

            ich.showPlayer(ich);
        }
        PayDay p = new PayDay();
        p.startRunnbale();

    }

    public void onDisable() {
        System.out.println("Reallife: Plugin wurde deaktiviert ");

        ReportCommand.saveHashMap(ReportCommand.contentMap);
        getPlugin().saveConfig();
    }

    private void setMessage(String name, String message) {
        File f = new File(getDataFolder() + File.separator + "messages.yml");
        FileConfiguration config = YamlConfiguration.loadConfiguration(f);
        if (!config.isSet(name)) {
            config.set(name, message);
            try {
                config.save(f);
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }

    private boolean setupEconomy() {
        if (getServer().getPluginManager().getPlugin("Vault") == null) {
            return false;
        }
        RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
        if (rsp == null) {
            return false;
        }
        econ = rsp.getProvider();
        return econ != null;
    }

    private boolean setupChat() {
        RegisteredServiceProvider<Chat> rsp = getServer().getServicesManager().getRegistration(Chat.class);
        chat = rsp.getProvider();
        return chat != null;
    }

    private boolean setupPermissions() {
        RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class);
        perms = rsp.getProvider();
        return perms != null;
    }


}
ReportCommand:
package anticheat;

import me.nicitoni.Main;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
import presets.Presets;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ReportCommand implements CommandExecutor {
    public static Map<Player, ItemStack> contentMap = new HashMap<>();
    public static List<Player> loggedMods = new ArrayList<>();
    static FileConfiguration cfg = Main.getPlugin().getConfig();
    public int id;

    public static ItemStack[] getContentMap() {
        return contentMap.values().toArray(new ItemStack[contentMap.size()]);
    }

    public static void setContentMap(Map<Player, ItemStack> contentMap) {
        ReportCommand.contentMap = contentMap;
    }

    public static void add(Player hacker, Player reporter, String grund, String zeit, int id) {
        ItemStack is = new ItemStack(Material.SKULL_ITEM, 1, (byte) 3);
        SkullMeta meta = (SkullMeta) is.getItemMeta();
        meta.setOwner(hacker.getName());
        meta.setDisplayName(hacker.getName());
        List<String> lore = new ArrayList<>();
        lore.add("§eReportet von §4" + reporter.getName() + "§e wegen §4" + grund);
        lore.add("§e" + zeit);
        lore.add("§eID " + id);
        meta.setLore(lore);
        is.setItemMeta(meta);

        contentMap.put(hacker, is);
        cfg.set("reports", getContentMap());
        Main.getPlugin().saveConfig();
    }

    public static void errorMSG(Player p, String message) {
        p.sendMessage("§4 " + message);
    }

    public static void sendAlert(String hacker, String message) {
        for (Player reporter : Bukkit.getOnlinePlayers()) {
            if (loggedMods.contains(reporter)) {
                reporter.sendMessage(message);
                Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "tellraw " + reporter.getName()
                        + " [\"\",{\"text\":\"Klick hier f§r weitere Infos\",\"color\":\"green\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/report info "
                        + hacker + "\"}}]");

            }
        }
    }

    public static void saveHashMap(Map<Player, ItemStack> hm) {
        cfg.set("hashmap", hm);
        System.out.println("SAVED");

        Main.getPlugin().getConfig();

    }

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {

        Player reporter = (Player) sender;

        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
        LocalDateTime now = LocalDateTime.now();
        if (sender.hasPermission("report.send")) {
            if (args[0].equals("list")) {

                Inventory i = Bukkit.getServer().createInventory(reporter, 54, "§4Reports");
                i.setContents(getContentMap());
                reporter.openInventory(i);

                System.out.println(cfg.get("reports"));
            } else if (args[0].equals("clear")) {

            } else if (args[0].equals("remove")) {
                if (args[2] != null) {
                    Player spieler = Bukkit.getPlayer(args[1]);
                    if (spieler != null) {
                        id--;
                        contentMap.remove(Bukkit.getPlayer(args[1]));
                        sender.sendMessage(
                                "§aDas Ticket vom dem Spieler " + args[1] + "§a wurde erfolgreich geschlossen.");
                        cfg.set("reports.geschlossen." + args[1], args[1] + " " + args[2]);
                        Main.save();
                        sendAlert(Bukkit.getPlayer(args[1]).getName(),
                                "§5[§fReportSystem§5]§c: Der Spieler §e[" + args[1]
                                        + "] §cwurde von der Reportliste entfernt wegen §e[" + args[2]
                                        + "] §cgemeldet.");
                    } else {
                        errorMSG((Player) sender, "Leider existiert  Spieler nicht");
                    }
                } else {
                    errorMSG((Player) sender, "Bitte gib einen Grund ein");
                }

            } else if (args[0].equals("reload")) {
                sender.sendMessage("§aDie Config wurde erfolreich neugeladen");
                Main.getPlugin().reloadConfig();
                Bukkit.getServer().getPluginManager().getPlugin("Reallife").reloadConfig();
                Main.getPlugin().reloadConfig();
                Main.save();

            } else if (args[0].equals("info")) {
                Player target = Bukkit.getPlayer(args[1]);
                sender.sendMessage("§c - " + target.getName() + "§4 -");
                sender.sendMessage("§c Displayname " + target.getDisplayName() + "§4 -");
                sender.sendMessage("§c UUID " + target.getUniqueId() + "§4 -");
                sender.sendMessage("§c Addresse " + target.getAddress() + "§4 -");

            } else if (args[0].equals("login")) {
                Player sp = (Player) sender;
                if (sp.hasPermission(Presets.PERMMOD)) {
                    if (!loggedMods.contains(sp)) {
                        loggedMods.add(sp);
                        sender.sendMessage(Presets.PREFIX + "§a Du bist nun eingeloggt");
                        sender.sendMessage(Presets.PREFIX + "§cAktuell sind §e" + loggedMods.size() + "§c Moderatoren online");
                    } else
                        Main.error((Player) sp, "§e Du bist bereits eingeloggt");
                } else
                    Main.error((Player) sp, Presets.NOPERMISSION);
            } else if (args[0].equals("logout")) {
                Player sp = (Player) sender;
                if (sp.hasPermission(Presets.PERMMOD)) {
                    System.out.println(Presets.PERMMOD);
                    if (loggedMods.contains(sp)) {
                        loggedMods.remove(sp);
                        sp.sendMessage(Presets.PREFIX + "§a Du bist nun ausgeloggt");
                    } else
                        Main.error((Player) sp, "§e Du bist bereits ausgeloggt");
                } else
                    Main.error((Player) sp, Presets.NOPERMISSION);
            } else {
                Player hacker = Bukkit.getPlayer(args[0]);
                String grund = args[1];

                if (hacker != null) {
                    if (reporter instanceof Player) {
                        if (sender != hacker) {
                            if (cfg.isSet("report.reason")) {
                                List<String> grunde = (List<String>) cfg.get("report.reason");
                                if (grunde.contains(grund)) {
                                    add(hacker, reporter, grund, "§4" + dtf.format(now), id);
                                    sendAlert(hacker.getName(), "§5[§fReportSystem§5]§c: Der Spieler §e["
                                            + hacker.getName() + "] §cwurde wegen §e[" + grund + "] §cgemeldet.");
                                    reporter.sendMessage("§4Vielen Dank f§r deine Mitthilfe");
                                    id++;

                                } else {
                                    sender.sendMessage("§4Error: Diesen Grund gibt es nicht");
                                }
                            } else {
                                List<String> reasons = new ArrayList<>();
                                reasons.add("HACKING");
                                reasons.add("BUGUSING");
                                reasons.add("CHAT");
                                reasons.add("TEAMING");
                                reasons.add("EXMAPLE1");
                                reasons.add("EXAMPLE2");
                                cfg.set("report.reason", reasons);

                                Main.getPlugin().saveConfig();
                                List<String> grunde = (List<String>) cfg.get("report.reason");
                                if (grunde.contains(grund)) {
                                    add(hacker, reporter, grund, "§4" + dtf.format(now), id);
                                    reporter.sendMessage("§4Vielen Dank f§r deine Mitthilfe");
                                    sendAlert(hacker.getName(), "§5[§fReportSystem§5]§c: Der Spieler §e["
                                            + hacker.getName() + "] §cwurde wegen §e[" + grund + "] §cgemeldet.");

                                    id++;

                                    Main.getPlugin().saveConfig();
                                } else {
                                    sender.sendMessage("§4Error: Diesen Grund gibt es nicht");
                                }

                            }

                        } else
                            Main.error((Player) sender, " Du kannst du nicht selbst reporten.");

                    }
                }
            }

        }

        return false;
    }

    public HashMap<Player, ItemStack> loadHashMap() {
        HashMap<Player, ItemStack> hm = new HashMap<Player, ItemStack>();

        return hm;
    }

}
Plugin YML:
name: ServerSystem
version: 2.0
main: me.nicitoni.Main
commands:
  artzt:
  medic:
  buss:
  timer:
  report:
  punish:
  reason:
  error:
  token:
  clearchat:
  fessel:
  prl:
  pgui:
  spectate:

Ich wäre bereit das Plugin (Eclipse Projekt & Exportierte Datei) zu senden.
~NiciToni
 

Malfrador

Threadripper
Registriert
16 Juni 2013
Beiträge
1.473
Diamanten
396
Minecraft
Malfrador
Die Fehlermeldung tritt auf, beim Versuch das Plugin zu disablen. An diesem Punkt ist es schon kaputt, so das der Server versucht es wieder zu disablen.
Interessanter wäre die Fehlermeldung die auftritt wenn das Plugin enabled wird. Diese ist wahrscheinlich direkt darüber.
 

abcabc

Redstoneengineer
Registriert
2 Mai 2018
Beiträge
35
Diamanten
250
Ganzer Fehler:
[10:45:59 INFO]: [ServerSystem] Enabling ServerSystem v2.0
[10:45:59 INFO]: [ServerSystem] Disabling ServerSystem v2.0
[10:45:59 INFO]: Reallife: Plugin wurde deaktiviert
[10:45:59 ERROR]: Error occurred while disabling ServerSystem v2.0 (Is it up to date?)
java.lang.ExceptionInInitializerError: null
        at me.nicitoni.Main.onDisable(Main.java:154) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:266) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:361) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:422) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at me.nicitoni.Main.onEnable(Main.java:76) [ban.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:403) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:381) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:330) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:422) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:383) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:338) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:272) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) [spigot.jar:git-Spigot-dcd1643-e60fc34]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_231]
Caused by: java.lang.NullPointerException
        at anticheat.ReportCommand.<clinit>(ReportCommand.java:26) ~[?:?]
        ... 16 more

Es gibt dort keine weitere Fehlermeldung
 

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
Du deaktivierst dein Plugin in Zeile 76 der Main, daraufhin verwendest du die ReportCommand-Klasse, die aus irgendeinem Grund nicht richtig initialisiert werden kann, weil in Zeile 26 des ReportCommands Main.getPlugin() aufgerufen, was null zurückgibt, schließlich wird diese Variable erst in Zeile 82 der Main gesetzt und zwar nur, wenn die setupEconomy()-Methode true zurückgibt.
Wenn du ein solches Konstrukt nutzen möchtest, sollte die Zuweisung plugin = this als erstes ausgeführt werden.

Edit: Dass du dein Plugin deaktivierst, ohne irgendeine Begründung zu loggen, ist natürlich unvorteilhaft.
 
Zuletzt bearbeitet:

abcabc

Redstoneengineer
Registriert
2 Mai 2018
Beiträge
35
Diamanten
250
Hi,
Danke für deine schnelle Rückmeldung.
Ich habe das plugin = this jetzt hoch gesetzt aber das Plugin deaktiviert sich immer noch von selber...
Und ohne eine Fehlermeldung

Meine Main:
Main:
package me.nicitoni;

import anticheat.*;
import anticheat.Error;
import fessel.Command;
import fessel.FesselListener;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import net.milkbowl.vault.chat.Chat;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;
import prefix.PrefixListener;
import rp.PayDay;
import system.ReloadPlugin;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;

public class Main extends JavaPlugin {


    public static File messageFILE;
    public static HashMap<String, String> messageData = new HashMap<String, String>();
    private static Economy econ = null;
    private static Permission perms = null;
    private static Chat chat = null;
    private static Main plugin;
    private static YamlConfiguration message;
    public int taskID;
    String chatN = "§f[§5Security]§f:";

    public static Main getPlugin() {
        return plugin;
    }

    public static Economy getEconomy() {
        return econ;
    }

    public static Permission getPermissions() {
        return perms;
    }

    public static Chat getChat() {
        return chat;
    }

    public static void save() {
        getPlugin().reloadConfig();
        getPlugin().saveConfig();

    }

    public static void error(Player p, String errormessage) {
        p.playSound(p.getLocation(), Sound.BLOCK_NOTE_PLING, 100, 1);
        p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent("§c➥  §e" + errormessage));
    }

    public static void actionBar(Player p, String msg) {
        p.spigot().sendMessage(ChatMessageType.ACTION_BAR, new TextComponent(msg));
    }

    public void onEnable() {
        plugin = this;
        if (!setupEconomy()) {

            getServer().getPluginManager().disablePlugin(this);
            return;
        }
        setupPermissions();
        setupChat();
        System.out.println("[Reallife] Plugin wurde geladen");
        getCommand("artzt").setExecutor(new Medic());
        getCommand("medic").setExecutor(new Krankenwagen());
        getCommand("buss").setExecutor(new Stationen());
        getCommand("timer").setExecutor(new Timer());
        getCommand("report").setExecutor(new ReportCommand());
        getCommand("artzt").setPermission("artzt.run");
        getCommand("punish").setExecutor(new BanManager());
        getCommand("reason").setExecutor(new Reasons());
        getCommand("error").setExecutor(new Error());
        getCommand("token").setExecutor(new TokenCommand());
        getCommand("clearchat").setExecutor(new ClearChat());
        getCommand("clearchat").setPermission("power.mod");
        getCommand("fessel").setExecutor(new Command());
        getCommand("prl").setExecutor(new ReloadPlugin());
        getCommand("pgui").setExecutor(new BanGUI());
        getCommand("spectate").setExecutor(new Spectate());


        File f = new File(getDataFolder() + File.separator + "messages.yml");
        if (!f.exists()) {
            try {
                f.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        setMessage("bill", "§f[§4Server§f]: Ihnen wurde soeben ihre Rechnung abgezogen. Der Betrag beträgt: ");


        FileConfiguration config = YamlConfiguration.loadConfiguration(f);
        for (String message : config.getConfigurationSection("").getKeys(false)) {
            messageData.put(message, config.getString(message));


        }


        PluginManager pm = getServer().getPluginManager();

        pm.registerEvents(new KrangenwagenListener(), this);
        pm.registerEvents(new HealerListener(), this);
        pm.registerEvents(new HandcuffListener(), this);
        pm.registerEvents(new ReportInv(), this);
        pm.registerEvents(new PrefixListener(), this);
        pm.registerEvents(new DistanceListener(), this);
        pm.registerEvents(new TNTProtecterListener(), this);
        pm.registerEvents(new FesselListener(), this);
        pm.registerEvents(new CPSListener(), this);
        pm.registerEvents(new BanGuiListener(), this);


        for (int i = 0; i < Bestrafungen.values().length; i++) {
            Bestrafungen[] b = Bestrafungen.values();
            BanGUI.add(b[i].getBanName().toString(), b[i].getId().toString());
            System.out.println(b[i].getId().toString());
        }

        for (Player ich : Bukkit.getOnlinePlayers()) {

            ich.showPlayer(ich);
        }
        PayDay p = new PayDay();
        p.startRunnbale();

    }

    public void onDisable() {
        System.out.println("Reallife: Plugin wurde deaktiviert ");

      
    }

    private void setMessage(String name, String message) {
        File f = new File(getDataFolder() + File.separator + "messages.yml");
        FileConfiguration config = YamlConfiguration.loadConfiguration(f);
        if (!config.isSet(name)) {
            config.set(name, message);
            try {
                config.save(f);
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }

    private boolean setupEconomy() {
        if (getServer().getPluginManager().getPlugin("Vault") == null) {
            return false;
        }
        RegisteredServiceProvider<Economy> rsp = getServer().getServicesManager().getRegistration(Economy.class);
        if (rsp == null) {
            return false;
        }
        econ = rsp.getProvider();
        return econ != null;
    }

    private boolean setupChat() {
        RegisteredServiceProvider<Chat> rsp = getServer().getServicesManager().getRegistration(Chat.class);
        chat = rsp.getProvider();
        return chat != null;
    }

    private boolean setupPermissions() {
        RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class);
        perms = rsp.getProvider();
        return perms != null;
    }


}

Und meine Konsolenausgabe:

Konsole:
[13:02:12 INFO]: [ServerSystem] Enabling ServerSystem v2.0
[13:02:12 INFO]: [ServerSystem] Disabling ServerSystem v2.0
[13:02:12 INFO]: Reallife: Plugin wurde deaktiviert
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Ist das ein Code? Du solltest doch wissen unter welchen Bedingungen dein eigener Code sich deaktiviert. Also entweder hast du das einfach zusammenkopiert und keine Ahnung was du tust oder das ist nicht dein Code.

Außerdem hat @SirYwell dir sogar geschrieben welche Methode dafür verantwortlich ist. Guck dir doch einfach mal an, was dein Code da tut.
 
Oben