• 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 Config.yml - Probleme

Graf_Tec

Minecrafter
Registriert
28 April 2020
Beiträge
25
Diamanten
252
Minecraft
Graf_Tec
Hallo Leute,
Ich bin im moment da bei ein Lizenzsystem für minecraft plugins in form einer Api zu basteln. Die Api funktioniert so weit, allerdings will ich das sich eine Lizenz.yml erstllt in der man seine Lizenz eintragen soll.
Lizenz.yml:
#Lizenssystem von Graf_Tec |
#Dieses Plugin darf nicht weitergegeben werden!
Lizenz: 'DeineLizenz'
Allerding wenn ich es mit Bukkit.getConsoleSender().sendMessage(Lizenssystem.cfg.getString("Lizenz") + " Das ist deine Lizenz!"); aufrufe kommt in der Konsole nur null
Plugin:
public class Lizenssystem extends JavaPlugin {
    public String DeineLizenz;
    public String lizenz;
    public boolean onoff;
    private static Lizenssystem plugin;

    public static File file;
    public static FileConfiguration cfg;

    public void onEnable() {
       saveDefaultConfig();
           Lizenssystem.file = new File("plugins/Lizenzsystem", "Lizenz .yml");
           Lizenssystem.cfg = YamlConfiguration.loadConfiguration(Lizenssystem.file);
               Bukkit.getConsoleSender().sendMessage("§4§lDie Lizenz-Datei wurde erstellt!");
               Bukkit.getConsoleSender().sendMessage("§4§lBitte trage deine Lizenz ein!");

             DeineLizenz = Lizenssystem.cfg.getString("Lizenz:");
        Bukkit.getConsoleSender().sendMessage(Lizenssystem.cfg.getString("Lizenz") + "  Das ist deine Lizenz!");
        System.out.println(DeineLizenz);
Nun wollte ich fragen ob ihr mir helfen könnt...
Lg Graf_Tec
 

PSandro

Kuhfänger
Registriert
7 November 2016
Beiträge
51
Diamanten
302
Laut Docs gibt #getString null zurück, wenn der angegebene Pfad nicht gefunden wurde. Wenn man deinen angegebenen Pfad betrachtet, fällt in Zeile 17 auf, dass du womöglich einen Doppelpunkt zu viel angegeben hast:
DeineLizenz = Lizenssystem.cfg.getString("Lizenz:"); müsste also zu DeineLizenz = Lizenssystem.cfg.getString("Lizenz"); abgeändert werden.

Im Gegensatz dazu müsste Bukkit.getConsoleSender().sendMessage(Lizenssystem.cfg.getString("Lizenz") + " Das ist deine Lizenz!"); aus Zeile 18 bereits funktionieren. Bekommst du da einen korrekten Output?
Ich habe leider lange nichts mehr mit Bukkit zutun gehabt, deswegen kenne ich nicht die gängige Praxis um Ausgaben in der Konsole zu loggen... Funktioniert das über den ConsoleCommandSender überhaupt so? Wenn nicht könntest du alternativ auf den Logger aus der Bukkit Klasse zurückgreifen.

Edit:
Mir ist gerade noch aufgefallen, dass auf deine Lizenz.yml auch falsch verwiesen wurde: In Zeile 12 hat sich zwischen Lizenz und .yml ein Leerzeichen eingeschlichen. Laut Docs wird eine "leere" YamlConfiguration zurückgegeben, wenn das übergebene File Objekt keine valide Config ist. Das erklärt dann auch, warum du bei Zeile 18 auch eine falsche Ausgabe bekommst. :)
 
Zuletzt bearbeitet:

Graf_Tec

Minecrafter
Registriert
28 April 2020
Beiträge
25
Diamanten
252
Minecraft
Graf_Tec
Laut Docs gibt #getString null zurück, wenn der angegebene Pfad nicht gefunden wurde. Wenn man deinen angegebenen Pfad betrachtet, fällt in Zeile 17 auf, dass du womöglich einen Doppelpunkt zu viel angegeben hast:
DeineLizenz = Lizenssystem.cfg.getString("Lizenz:"); müsste also zu DeineLizenz = Lizenssystem.cfg.getString("Lizenz"); abgeändert werden.

Im Gegensatz dazu müsste Bukkit.getConsoleSender().sendMessage(Lizenssystem.cfg.getString("Lizenz") + " Das ist deine Lizenz!"); aus Zeile 18 bereits funktionieren. Bekommst du da einen korrekten Output?
Ich habe leider lange nichts mehr mit Bukkit zutun gehabt, deswegen kenne ich nicht die gängige Praxis um Ausgaben in der Konsole zu loggen... Funktioniert das über den ConsoleCommandSender überhaupt so? Wenn nicht könntest du alternativ auf den Logger aus der Bukkit Klasse zurückgreifen.
Erst mal danke für die schnelle Antwort, allerdings macht es leider keinen unterschied ob ich es mit oder ohne : schreibe, es kommt bei beidem leider null raus, hättest du noch eine Idee? Und ja bei Bukkit.getConsoleSender().sendMessage(Lizenssystem.cfg.getString("Lizenz") + " Das ist deine Lizenz!") gibt er es richtig aller dings is halt Lizenz immer null
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Vollständiges Stacktrace und Code(ausschnitt) mit matchenden Zeilennummern wären halt hilfreich, ne?

Ansonsten scheint es mir maximalungeschickt, wenn man den (vermutlich) geheimen Lizenzschlüssel sich Ingame ausgeben lassen kann. Das schreit nicht nur nach Desaster, das ist bereits eines.
 

PSandro

Kuhfänger
Registriert
7 November 2016
Beiträge
51
Diamanten
302
Mir ist aufgefallen, dass du teilweise Lizenzsystem und dann wieder Lizenssystem schreibst. Eventuell liegt die Datei im falschen Ordner?
wie @❤️可愛いちゃん️❤️ schon angedeutet hat, wäre ein Stacktrace wirklich hilfreich :)

Durch Debuggen kannst du vorerst versuchen, die Fehlerquelle einzugrenzen. Das kann z.B. so aussehen:
Java:
if (!file.exists()) {
  System.err.printf("Die Datei '%1$s' konnte nicht gefunden werden.", file.getName());
  return;
}
System.out.printf("'%1$s' enthält %2$d Keys.", file.getName(), cfg.getKeys().size());
 

Graf_Tec

Minecrafter
Registriert
28 April 2020
Beiträge
25
Diamanten
252
Minecraft
Graf_Tec
Mir ist aufgefallen, dass du teilweise Lizenzsystem und dann wieder Lizenssystem schreibst. Eventuell liegt die Datei im falschen Ordner?
wie @❤可愛いちゃん️❤ schon angedeutet hat, wäre ein Stacktrace wirklich hilfreich :)

Durch Debuggen kannst du vorerst versuchen, die Fehlerquelle einzugrenzen. Das kann z.B. so aussehen:
Java:
if (!file.exists()) {
  System.err.printf("Die Datei '%1$s' konnte nicht gefunden werden.", file.getName());
  return;
}
System.out.printf("'%1$s' enthält %2$d Keys.", file.getName(), cfg.getKeys().size());
Hab grad alle auf Lizenzsystem geändert, macht keinerlei Unterschied. Ich nutze IntelliJ IDEA, wie kann ich da ein Stacktrace mir aus geben lassen?
 

PSandro

Kuhfänger
Registriert
7 November 2016
Beiträge
51
Diamanten
302
Ein Stacktrace würde normalerweise in der Console erscheinen. Es kann aber auch sein, dass keine Exception geworfen wird und somit auch kein Stacktrace ausgegeben wird. In so einem Fall wäre der nächste Schritt, den code durch Null-Checks und logische Checks zu überprüfen. Ein Anfang kann so aussehen:
Durch Debuggen kannst du vorerst versuchen, die Fehlerquelle einzugrenzen. Das kann z.B. so aussehen:
Java:
if (!file.exists()) {
  System.err.printf("Die Datei '%1$s' konnte nicht gefunden werden.", file.getName());
  return;
}
System.out.printf("'%1$s' enthält %2$d Keys.", file.getName(), cfg.getKeys().size());
 

Graf_Tec

Minecrafter
Registriert
28 April 2020
Beiträge
25
Diamanten
252
Minecraft
Graf_Tec
Ein Stacktrace würde normalerweise in der Console erscheinen. Es kann aber auch sein, dass keine Exception geworfen wird und somit auch kein Stacktrace ausgegeben wird. In so einem Fall wäre der nächste Schritt, den code durch Null-Checks und logische Checks zu überprüfen. Ein Anfang kann so aussehen:
Das versuch ich mal
 

Graf_Tec

Minecrafter
Registriert
28 April 2020
Beiträge
25
Diamanten
252
Minecraft
Graf_Tec
@Graf_Tec
Existiert die Datei denn überhaupt? Wenn nein, hast du dein Problem. Durch den Aufruf von saveDefaultConfig() wird eine Default-Config aus der JAR kopiert, aber die muss dafür dann auch config.yml heißen (man beachte die Dokumentation dazu). Folglich wird deine Lizenz.yml darüber nicht erzeugt.

Weitere potenzielle Probleme:
  1. Du gibst explizit einen Pfad an, der unterscheidet sich möglicherweise vom richtigen Pluginverzeichnis. Heißt das angegebene Verzeichnis exakt so wie das Plugin (laut plugin.yml)? Die Default-Config landet im Pluginverzeichnis. Um Probleme zu verhindern, solltest du auch grundsätzlich Plugin#getDataFolder() nutzen, um das Verzeichnis zu ermitteln.
  2. In die JAR des Plugins wurde möglicherweise gar keine Default-Config eingebunden.
1. Ja alles wird erstellt
Konsole:
C:\Users\OneDrive\Desktop\localhost - 1.15.2>java -Xmx1024M -jar spigot-1.15.2.jar nogui
*** Error, this build is outdated ***
*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***
*** Server will start in 20 seconds ***
Loading libraries, please wait...
[18:03:53] [Server thread/INFO]: Starting minecraft server version 1.15.2
[18:03:53] [Server thread/INFO]: Loading properties
[18:03:53] [Server thread/INFO]: This server is running CraftBukkit version git-Spigot-800b93f-8160e29 (MC: 1.15.2) (Implementing API version 1.15.2-R0.1-SNAPSHOT)
[18:03:53] [Server thread/INFO]: Debug logging is disabled
[18:03:53] [Server thread/INFO]: Using 4 threads for Netty based IO
[18:03:53] [Server thread/INFO]: Server Ping Player Sample Count: 12
[18:03:53] [Server thread/INFO]: Default game type: SURVIVAL
[18:03:53] [Server thread/INFO]: Generating keypair
[18:03:54] [Server thread/INFO]: Starting Minecraft server on *:25565
[18:03:54] [Server thread/INFO]: Using default channel type
[18:03:57] [Server thread/WARN]: Plugin Lizenssystem v1.0 does not specify an api-version.
[18:03:57] [Server thread/INFO]: [Lizenssystem] Loading Lizenssystem v1.0
[18:03:57] [Server thread/INFO]: [CreativeItemControl] Loading CreativeItemControl v3.10.3-vk2gpz
[18:03:57] [Server thread/INFO]: Preparing level "world"
[18:03:57] [Server thread/INFO]: Reloading ResourceManager: Default, bukkit
[18:03:58] [Server thread/INFO]: Loaded 6 recipes
[18:03:59] [Server thread/INFO]: -------- World Settings For [world] --------
[18:03:59] [Server thread/INFO]: View Distance: 10
[18:03:59] [Server thread/INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
[18:03:59] [Server thread/INFO]: Arrow Despawn Rate: 1200 Trident Respawn Rate:1200
[18:03:59] [Server thread/INFO]: Item Despawn Rate: 6000
[18:03:59] [Server thread/INFO]: Item Merge Radius: 2.5
[18:03:59] [Server thread/INFO]: Nerfing mobs spawned from spawners: false
[18:03:59] [Server thread/INFO]: Zombie Aggressive Towards Villager: true
[18:03:59] [Server thread/INFO]: Experience Merge Radius: 3.0
[18:03:59] [Server thread/INFO]: Mob Spawn Range: 6
[18:03:59] [Server thread/INFO]: Custom Map Seeds:  Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313Ocean: 14357621 Shipwreck: 165745295 Slime: 987234911
[18:03:59] [Server thread/INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
[18:03:59] [Server thread/INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
[18:03:59] [Server thread/INFO]: Max TNT Explosions: 100
[18:03:59] [Server thread/INFO]: Cactus Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Cane Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Melon Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Mushroom Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Pumpkin Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Sapling Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Beetroot Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Carrot Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Potato Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Wheat Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: NetherWart Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Vine Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Cocoa Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Bamboo Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: SweetBerry Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Kelp Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
[18:03:59] [Server thread/INFO]: Entity Activation Range: An 32 / Mo 32 / Ra 48 / Mi 16 / Tiv true
[18:03:59] [Server thread/INFO]: -------- World Settings For [world_nether] --------
[18:03:59] [Server thread/INFO]: View Distance: 10
[18:03:59] [Server thread/INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
[18:03:59] [Server thread/INFO]: Arrow Despawn Rate: 1200 Trident Respawn Rate:1200
[18:03:59] [Server thread/INFO]: Item Despawn Rate: 6000
[18:03:59] [Server thread/INFO]: Item Merge Radius: 2.5
[18:03:59] [Server thread/INFO]: Nerfing mobs spawned from spawners: false
[18:03:59] [Server thread/INFO]: Zombie Aggressive Towards Villager: true
[18:03:59] [Server thread/INFO]: Experience Merge Radius: 3.0
[18:03:59] [Server thread/INFO]: Mob Spawn Range: 6
[18:03:59] [Server thread/INFO]: Custom Map Seeds:  Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313Ocean: 14357621 Shipwreck: 165745295 Slime: 987234911
[18:03:59] [Server thread/INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
[18:03:59] [Server thread/INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
[18:03:59] [Server thread/INFO]: Max TNT Explosions: 100
[18:03:59] [Server thread/INFO]: Cactus Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Cane Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Melon Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Mushroom Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Pumpkin Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Sapling Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Beetroot Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Carrot Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Potato Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Wheat Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: NetherWart Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Vine Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Cocoa Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Bamboo Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: SweetBerry Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Kelp Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
[18:03:59] [Server thread/INFO]: Entity Activation Range: An 32 / Mo 32 / Ra 48 / Mi 16 / Tiv true
[18:03:59] [Server thread/INFO]: -------- World Settings For [world_the_end] --------
[18:03:59] [Server thread/INFO]: View Distance: 10
[18:03:59] [Server thread/INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
[18:03:59] [Server thread/INFO]: Arrow Despawn Rate: 1200 Trident Respawn Rate:1200
[18:03:59] [Server thread/INFO]: Item Despawn Rate: 6000
[18:03:59] [Server thread/INFO]: Item Merge Radius: 2.5
[18:03:59] [Server thread/INFO]: Nerfing mobs spawned from spawners: false
[18:03:59] [Server thread/INFO]: Zombie Aggressive Towards Villager: true
[18:03:59] [Server thread/INFO]: Experience Merge Radius: 3.0
[18:03:59] [Server thread/INFO]: Mob Spawn Range: 6
[18:03:59] [Server thread/INFO]: Custom Map Seeds:  Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313Ocean: 14357621 Shipwreck: 165745295 Slime: 987234911
[18:03:59] [Server thread/INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
[18:03:59] [Server thread/INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
[18:03:59] [Server thread/INFO]: Max TNT Explosions: 100
[18:03:59] [Server thread/INFO]: Cactus Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Cane Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Melon Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Mushroom Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Pumpkin Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Sapling Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Beetroot Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Carrot Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Potato Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Wheat Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: NetherWart Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Vine Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Cocoa Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Bamboo Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: SweetBerry Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Kelp Growth Modifier: 100%
[18:03:59] [Server thread/INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
[18:03:59] [Server thread/INFO]: Entity Activation Range: An 32 / Mo 32 / Ra 48 / Mi 16 / Tiv true
[18:03:59] [Server thread/INFO]: Preparing start region for dimension 'world'/minecraft:overworld
[18:04:00] [Server thread/INFO]: Preparing spawn area: 0%
[18:04:00] [Server thread/INFO]: Preparing spawn area: 0%
[18:04:00] [Server thread/INFO]: Time elapsed: 864 ms
[18:04:00] [Server thread/INFO]: Preparing start region for dimension 'world_nether'/minecraft:the_nether
[18:04:00] [Server thread/INFO]: Preparing spawn area: 0%
[18:04:00] [Server-Worker-6/INFO]: Preparing spawn area: 83%
[18:04:01] [Server-Worker-6/INFO]: Preparing spawn area: 83%
[18:04:01] [Server-Worker-4/INFO]: Preparing spawn area: 87%
[18:04:02] [Server thread/INFO]: Time elapsed: 1866 ms
[18:04:02] [Server thread/INFO]: Preparing start region for dimension 'world_the_end'/minecraft:the_end
[18:04:02] [Server thread/INFO]: Preparing spawn area: 0%
[18:04:02] [Server-Worker-2/INFO]: Preparing spawn area: 88%
[18:04:02] [Server thread/INFO]: Time elapsed: 597 ms
[18:04:02] [Server thread/INFO]: [Lizenssystem] Enabling Lizenssystem v1.0
[18:04:02] [Server thread/INFO]: Die Lizenz-Datei wurde erstellt!
[18:04:02] [Server thread/INFO]: Bitte trage deine Lizenz ein!
[18:04:02] [Server thread/INFO]: null  Das ist deine Lizenz!
[18:04:02] [Server thread/INFO]: null
[18:04:02] [Server thread/INFO]: [CreativeItemControl] Enabling CreativeItemControl v3.10.3-vk2gpz
[18:04:02] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
[18:04:02] [Server thread/INFO]: Done (5.247s)! For help, type "help"
Lizenz.yml:
#Lizenssystem von Graf_Tec |
#Dieses Plugin darf nicht weitergegeben werden!

Lizenz: 'Deine Lizenz'
Code in InteliiJ IDEA:
package de.Graf_Tec.main;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.craftbukkit.libs.org.apache.commons.io.IOUtils;
import org.bukkit.plugin.java.JavaPlugin;

import java.io.*;
import java.net.URL;
import java.util.Objects;

public class Lizenssystem extends JavaPlugin {
    public String DeineLizenz;
    public String lizenz;
    public boolean onoff;
    private static Lizenssystem plugin;

    public static File file;
    public static FileConfiguration cfg;

    public void onEnable() {
       saveDefaultConfig();
           Lizenssystem.file = new File(getDataFolder(), "Lizenz.yml");
           Lizenssystem.cfg = YamlConfiguration.loadConfiguration(Lizenssystem.file);
               Bukkit.getConsoleSender().sendMessage("§4§lDie Lizenz-Datei wurde erstellt!");
               Bukkit.getConsoleSender().sendMessage("§4§lBitte trage deine Lizenz ein!");

             DeineLizenz = Lizenssystem.cfg.getString("Lizenz:");
        Bukkit.getConsoleSender().sendMessage(Lizenssystem.cfg.getString("Lizenz:") + "  Das ist deine Lizenz!");
        System.out.println(DeineLizenz);
       /* if (lizenz.contains(DeineLizenz)) {
            Bukkit.getConsoleSender().sendMessage("§c§lDie angegbene Lizens ist richtig!");
        } else {
            Bukkit.shutdown();
            onoff = true;
        }*/
    }

    public void onDisable() {
        if(onoff == true){
            Bukkit.getConsoleSender().sendMessage("Error!");
        }
        Bukkit.getConsoleSender().sendMessage("§e§l Lizenssystem §4§l version 1.0 wurde Beendet!         " +
                "" +
                "§4§lBy Graf_Tec");
    }
Hab die File in meinem Src Ordner
 
Zuletzt bearbeitet:

Graf_Tec

Minecrafter
Registriert
28 April 2020
Beiträge
25
Diamanten
252
Minecraft
Graf_Tec
@Graf_Tec
Trotzdem hast du keine Defaults, da wie beschrieben auf diese Weise schlichtweg keine geladen werden. null wird eben ausgegeben, weil entweder die Datei nicht existiert oder unter dem Pfad nichts in der geladenen Config steht. Andere Möglichkeiten gibt es da eigentlich nicht.

Lass dir doch mal mindestens die Rückgabe von file.exists() ausgeben. Wenn die vollständige Klasse, die du hier gerade eingefügt hast, die neueste Version ist, hast du übrigens die Verbesserung von @PSandro nicht übernommen; in den Zeilen 30 und 31 ist noch immer ein Doppelpunkt in der Pfadangabe, die du an cfg.getString() übergeben hast.
File ist da!
InteliiJ IDEA - Code:
package de.Graf_Tec.main;

import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.craftbukkit.libs.org.apache.commons.io.IOUtils;
import org.bukkit.plugin.java.JavaPlugin;

import java.io.*;
import java.net.URL;

public class Lizenssystem extends JavaPlugin {
    public String DeineLizenz;
    public String lizenz;
    public boolean onoff;
    private static Lizenssystem plugin;

    public static File file;
    public static FileConfiguration cfg;

    public void onEnable() {
       saveDefaultConfig();
           Lizenssystem.file = new File(getDataFolder(), "config.yml");
           Lizenssystem.cfg = YamlConfiguration.loadConfiguration(Lizenssystem.file);
               Bukkit.getConsoleSender().sendMessage("§4§lDie Lizenz-Datei wurde erstellt!");
               Bukkit.getConsoleSender().sendMessage("§4§lBitte trage deine Lizenz ein!");

             DeineLizenz = Lizenssystem.cfg.getString("Lizenz");
             if(file.exists()){
                 Bukkit.getConsoleSender().sendMessage("File da!");
             }
        Bukkit.getConsoleSender().sendMessage(Lizenssystem.cfg.getString("Lizenz:") + "  Das ist deine Lizenz!");
        System.out.println(DeineLizenz);
       /* if (lizenz.contains(DeineLizenz)) {
            Bukkit.getConsoleSender().sendMessage("§c§lDie angegbene Lizens ist richtig!");
        } else {
            Bukkit.shutdown();
            onoff = true;
        }*/
    }

    public void onDisable() {
        if(onoff == true){
            Bukkit.getConsoleSender().sendMessage("Error!");
        }
        Bukkit.getConsoleSender().sendMessage("§e§l Lizenzsystem §4§l version 1.0 wurde Beendet!         " +
                "" +
                "§4§lBy Graf_Tec");
    }
Konsole:
C:\Users\Johan\OneDrive\Desktop\localhost - 1.15.2>java -Xmx1024M -jar spigot-1.15.2.jar nogui
*** Error, this build is outdated ***
*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***
*** Server will start in 20 seconds ***
Loading libraries, please wait...
[18:53:03] [Server thread/INFO]: Starting minecraft server version 1.15.2
[18:53:03] [Server thread/INFO]: Loading properties
[18:53:04] [Server thread/INFO]: This server is running CraftBukkit version git-Spigot-800b93f-8160e29 (MC: 1.15.2) (Implementing API version 1.15.2-R0.1-SNAPSHOT)
[18:53:04] [Server thread/INFO]: Debug logging is disabled
[18:53:04] [Server thread/INFO]: Using 4 threads for Netty based IO
[18:53:04] [Server thread/INFO]: Server Ping Player Sample Count: 12
[18:53:04] [Server thread/INFO]: Default game type: SURVIVAL
[18:53:04] [Server thread/INFO]: Generating keypair
[18:53:04] [Server thread/INFO]: Starting Minecraft server on *:25565
[18:53:04] [Server thread/INFO]: Using default channel type
[18:53:08] [Server thread/WARN]: Plugin Lizenssystem v1.0 does not specify an api-version.
[18:53:08] [Server thread/INFO]: [Lizenssystem] Loading Lizenssystem v1.0
[18:53:08] [Server thread/INFO]: [CreativeItemControl] Loading CreativeItemControl v3.10.3-vk2gpz
[18:53:08] [Server thread/INFO]: Preparing level "world"
[18:53:08] [Server thread/INFO]: Reloading ResourceManager: Default, bukkit
[18:53:08] [Server thread/INFO]: Loaded 6 recipes
[18:53:09] [Server thread/INFO]: -------- World Settings For [world] --------
[18:53:09] [Server thread/INFO]: View Distance: 10
[18:53:09] [Server thread/INFO]: Item Despawn Rate: 6000
[18:53:09] [Server thread/INFO]: Item Merge Radius: 2.5
[18:53:09] [Server thread/INFO]: Arrow Despawn Rate: 1200 Trident Respawn Rate:1200
[18:53:09] [Server thread/INFO]: Zombie Aggressive Towards Villager: true
[18:53:09] [Server thread/INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
[18:53:09] [Server thread/INFO]: Nerfing mobs spawned from spawners: false
[18:53:09] [Server thread/INFO]: Cactus Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Cane Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Melon Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Mushroom Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Pumpkin Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Sapling Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Beetroot Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Carrot Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Potato Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Wheat Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: NetherWart Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Vine Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Cocoa Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Bamboo Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: SweetBerry Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Kelp Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Experience Merge Radius: 3.0
[18:53:09] [Server thread/INFO]: Mob Spawn Range: 6
[18:53:09] [Server thread/INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
[18:53:09] [Server thread/INFO]: Entity Activation Range: An 32 / Mo 32 / Ra 48 / Mi 16 / Tiv true
[18:53:09] [Server thread/INFO]: Max TNT Explosions: 100
[18:53:09] [Server thread/INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
[18:53:09] [Server thread/INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
[18:53:09] [Server thread/INFO]: Custom Map Seeds:  Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313Ocean: 14357621 Shipwreck: 165745295 Slime: 987234911
[18:53:09] [Server thread/INFO]: -------- World Settings For [world_nether] --------
[18:53:09] [Server thread/INFO]: View Distance: 10
[18:53:09] [Server thread/INFO]: Item Despawn Rate: 6000
[18:53:09] [Server thread/INFO]: Item Merge Radius: 2.5
[18:53:09] [Server thread/INFO]: Arrow Despawn Rate: 1200 Trident Respawn Rate:1200
[18:53:09] [Server thread/INFO]: Zombie Aggressive Towards Villager: true
[18:53:09] [Server thread/INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
[18:53:09] [Server thread/INFO]: Nerfing mobs spawned from spawners: false
[18:53:09] [Server thread/INFO]: Cactus Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Cane Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Melon Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Mushroom Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Pumpkin Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Sapling Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Beetroot Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Carrot Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Potato Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Wheat Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: NetherWart Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Vine Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Cocoa Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Bamboo Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: SweetBerry Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Kelp Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Experience Merge Radius: 3.0
[18:53:09] [Server thread/INFO]: Mob Spawn Range: 6
[18:53:09] [Server thread/INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
[18:53:09] [Server thread/INFO]: Entity Activation Range: An 32 / Mo 32 / Ra 48 / Mi 16 / Tiv true
[18:53:09] [Server thread/INFO]: Max TNT Explosions: 100
[18:53:09] [Server thread/INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
[18:53:09] [Server thread/INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
[18:53:09] [Server thread/INFO]: Custom Map Seeds:  Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313Ocean: 14357621 Shipwreck: 165745295 Slime: 987234911
[18:53:09] [Server thread/INFO]: -------- World Settings For [world_the_end] --------
[18:53:09] [Server thread/INFO]: View Distance: 10
[18:53:09] [Server thread/INFO]: Item Despawn Rate: 6000
[18:53:09] [Server thread/INFO]: Item Merge Radius: 2.5
[18:53:09] [Server thread/INFO]: Arrow Despawn Rate: 1200 Trident Respawn Rate:1200
[18:53:09] [Server thread/INFO]: Zombie Aggressive Towards Villager: true
[18:53:09] [Server thread/INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
[18:53:09] [Server thread/INFO]: Nerfing mobs spawned from spawners: false
[18:53:09] [Server thread/INFO]: Cactus Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Cane Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Melon Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Mushroom Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Pumpkin Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Sapling Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Beetroot Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Carrot Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Potato Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Wheat Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: NetherWart Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Vine Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Cocoa Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Bamboo Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: SweetBerry Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Kelp Growth Modifier: 100%
[18:53:09] [Server thread/INFO]: Experience Merge Radius: 3.0
[18:53:09] [Server thread/INFO]: Mob Spawn Range: 6
[18:53:09] [Server thread/INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
[18:53:09] [Server thread/INFO]: Entity Activation Range: An 32 / Mo 32 / Ra 48 / Mi 16 / Tiv true
[18:53:09] [Server thread/INFO]: Max TNT Explosions: 100
[18:53:09] [Server thread/INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
[18:53:09] [Server thread/INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
[18:53:09] [Server thread/INFO]: Custom Map Seeds:  Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313Ocean: 14357621 Shipwreck: 165745295 Slime: 987234911
[18:53:09] [Server thread/INFO]: Preparing start region for dimension 'world'/minecraft:overworld
[18:53:10] [Server thread/INFO]: Preparing spawn area: 0%
[18:53:10] [Server thread/INFO]: Preparing spawn area: 0%
[18:53:10] [Server thread/INFO]: Time elapsed: 799 ms
[18:53:10] [Server thread/INFO]: Preparing start region for dimension 'world_nether'/minecraft:the_nether
[18:53:11] [Server thread/INFO]: Preparing spawn area: 0%
[18:53:11] [Server-Worker-4/INFO]: Preparing spawn area: 83%
[18:53:11] [Server-Worker-5/INFO]: Preparing spawn area: 83%
[18:53:12] [Server-Worker-3/INFO]: Preparing spawn area: 85%
[18:53:12] [Server thread/INFO]: Time elapsed: 1939 ms
[18:53:12] [Server thread/INFO]: Preparing start region for dimension 'world_the_end'/minecraft:the_end
[18:53:12] [Server thread/INFO]: Preparing spawn area: 0%
[18:53:13] [Server-Worker-2/INFO]: Preparing spawn area: 87%
[18:53:13] [Server thread/INFO]: Time elapsed: 608 ms
[18:53:13] [Server thread/INFO]: [Lizenssystem] Enabling Lizenssystem v1.0
[18:53:13] [Server thread/INFO]: Die Lizenz-Datei wurde erstellt!
[18:53:13] [Server thread/INFO]: Bitte trage deine Lizenz ein!
[18:53:13] [Server thread/INFO]: File da!
[18:53:13] [Server thread/INFO]: null  Das ist deine Lizenz!
[18:53:13] [Server thread/INFO]: Deine Lizenz
[18:53:13] [Server thread/INFO]: [CreativeItemControl] Enabling CreativeItemControl v3.10.3-vk2gpz
[18:53:13] [Server thread/INFO]: Server permissions file permissions.yml is empty, ignoring it
[18:53:13] [Server thread/INFO]: Done (5.143s)! For help, type "help"
 

Graf_Tec

Minecrafter
Registriert
28 April 2020
Beiträge
25
Diamanten
252
Minecraft
Graf_Tec
@Graf_Tec

Einige Anmerkungen zu deinem Codestil:
  1. Die Zuständigkeiten in deinem Plugin sollten vernünftig getrennt werden. Die Verwaltung eines Lizenzschlüssels mit in die Main-Klasse zu packen, ist gerade auf lange Sicht bei ständiger Erweiterung des Plugins, nicht gerade sinnvoll.
  2. Bitte lies dir die Java Naming Conventions durch bzw. folge ihnen. Variablen werden am Anfang nicht groß geschrieben. Auch hast du bereits hier ungenaue Namen für einige Felder; was ist der Unterschied zwischen Lizenz und DeineLizenz?
  3. Es ist eher problematisch, static falsch bzw. übermäßig zu nutzen (static abuse). Wieso sind die Felder file und cfg statisch?
  4. Auch sollten die Felder richtig gekapselt werden. Wieso sind die alle public, bis auf die Plugin-Instanz?
  5. Bukkit bzw. der Minecraft-Server nutzt einen richtigen Logger. Statt System.out/System.err für dein Logging zu benutzen, solltest du auch auf diesen zurückgreifen.
Werde ich mir anschauen, danke für die Anmerkung @LapisMC
 
Oben