[SOLVED] Minecraft Bukkit: Boolean aus YML-File auslesen?

Sehr geehrte GuteFrage.net-User,

ich programmieren schon seit einiger Zeit, habe aber eine mehr oder weniger lange Pause gemacht und bin gerade ein einem YML-File am verzweifeln..

Und zwar möchte ich einen Boolean, der in dieser gespeicher ist auslesen, prüfen ob er "true" oder "false" ist.

Mein CODE (MAINCLASS):

 public class main extends JavaPlugin{
    public static File file = new File("plugins/TEST", "TestConfig.yml");
    public static YamlConfiguration cfg = YamlConfiguration.loadConfiguration(file);
        public void onEnable{
        cfg.set("TestBoolean", true);
        if(!file.exists()){
        try {
            cfg.save(file);
        } catch (IOException e) {
            e.printStackTrace();
        }

Und dann die if-Abfrage (Habe mehere Sachen versucht..):

        boolean test = main.cfg.getBoolean("TestBoolean");

        Player p = (Player) sender;
      1.  if(main.cfg.getBoolean("TestBoolean") == true){
      2.  if(main.cfg.getBoolean("TestBoolean", true)){
      3.  if(main.cfg.getBoolean("TestBoolean")){
      4.  if(main.cfg.getBoolean("TestBoolean") == true){
      5.  if(test == true){
        p.sendMessage("Erfolg!")

Meine CONFIG:

------------------------------------

TestBoolean: true

------------------------------------

EDIT:

Habe es gefixt, indem ich statt cfg.set("TestBoolean", true), cfg.addDefault("TestBoolean", true) genommen habe und diese if-Abfrage benutzt habe:

 if(main.cfg.getBoolean("TestBoolean")){

Meine Frage ist: Was mache ich falsch?

Ich hoffe ihr könnt mir helfen!

LG

programmieren, Java, Minecraft, Eclipse, Minecraft Server, Bukkit, Minecraft bukkit, minecraft spigot
Spigot/Bukkit Command programmieren >> funktioniert nicht

Hey Leute, ich arbeite seit kurzer Zeit an einem Spigot Plugin für Minecraft. Leider scheitert es schon daran einen simplen befehl zu erstellen: Wenn ich ein Command Label mit if(label.equalsIgnoreCase("test")) abfrage, wird sowohl in der Konsole, als auch ingame ausgegeben, dass es den Befehl "test" nicht gibt. Wie kann ich das beheben?

Hier nochmal mein Code

package me.aguila.main;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class main extends JavaPlugin {
   
    @Override
    public void onEnable(){
            System.out.println("[YOUTUBE] Das Plugin wurde Aktiviert!");
    }
   
    @Override
    public void onDisable(){
            System.out.println("[YOUTUBE] Das Plugin wurde Deaktiviert!");
    }
   
    @Override
    public boolean onCommand(CommandSender sender,Command cmd,String label,String[] args){
           
            if(label.equalsIgnoreCase("test")){
                    sender.sendMessage("Test");
                    return true;
            }
           
           
            if(sender instanceof Player){
                    Player player = (Player)sender;
                    if(label.equalsIgnoreCase("teleport")){
                            if(args.length == 1){
                                    String Name = args[0];
                                    if(Bukkit.getPlayer(Name) != null){
                                            Player target = (Player)Bukkit.getPlayer(Name);
                                            player.teleport(target);
                                            player.sendMessage(ChatColor.GREEN + "Erfolgreich zu " + target.getDisplayName() + " teleportiert!");
                                            return true;
                                    }else{
                                            player.sendMessage(ChatColor.RED + "Den Spieler gibt es nicht!");
                                    }
                            }else{
                                    player.sendMessage(ChatColor.RED + "Zuviele oder zuwenige Agumente!");
                                    return false;
                            }
                    }
            }
           
            return false;
    }

}

Befehle, Command, Bukkit, Spigot, vorhanden
Wie kann ich bei spigot prüfen ob ein bestimmter Spieler gerade auf dem selben Server online ist?

Hallo,

ich hatte neulich mal wieder Lust ein Plugin zu schreiben und dachte mir, ich könnte doch mal einen Command einfügen, mit dem ma n den onlinestatus auf meinem Server abfragen kann. Leider bin ich wohl etwas raus gekommen. Folgendes habe ich programmiert

        if(cmd.getName().equalsIgnoreCase("team")) {
        if (args.length == 0){
            p.getServer().getPlayer("Spielername");
            if(p != null){
                p.sendMessage("Spieler: online");
                return true;
            } else {
                p.sendMessage("Spieler: offline");
                return true;
            }
            }
            }

Ja, das ist etwas unordentlich weil ich das etwas aus dem Kontext gerissen habe, aber das wesentliche sollte man erkennen können ;) Ich weiß, dass ich damit prüfe, ob der Spieler, der den Command ausführt online ist und nicht der Spieler den ich hinten angegeben habe, allerdings ist mein Problem eher, dass ich nicht weiß, ob dieser Code üerhaupt prüft, ob der Spieler auf dem Server ist, als viel mehr ob der Spieler in der Datenbank von Mojang eingespeichert ist, sprich einen Premium-Account besitzt. (Wie gesagt, ist lange her, dass ich mich mal mit bukkit / spigot befasst habe)

Wenn mir jemand sagen könnte, ob der Code überhaupt das tut, was ich will wäre das bereits eine große Hilfe. Wenn man mir direkt noch einen Tipp gibt, wie ich meinen Code "richtig" mache wäre das wirklich der Hammer :)

Vielen Dank

Server, online, programmieren, Java, selber, Spieler, Bukkit, Spigot
Minecraft Nitrado Server: Time out Error

Seit 1 tag funktioniert mein Minecraft Nitrado Server nicht mehr. Ich weiß nicht woran es liegt, aber wenn ich joinen will, kommt die Time out Error Message. Im Webinterface login steht aber immer "Server gestartet". Auch restarten oder Welten löschen bringt nichts. Benutzte Plugins:

Essentials, Essentials Spawn, Essentials Protect, Essentials Aniti-build, Essentials Chat, Multiverse Core, World Edit, World Guard, Survival Games Plus und PluginMetrics

Wenn man die Konsole Startet kommt das:

Loading libraries, please wait... > [20:09:01 INFO]: Starting minecraft server version 1.7.9 > [20:09:01 INFO]: Loading properties > [20:09:01 INFO]: Default game type: SURVIVAL > [20:09:01 INFO]: Generating keypair > [20:09:01 INFO]: Starting Minecraft server on 85.131.150.102:25565 > [20:09:01 INFO]: This server is running CraftBukkit version git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks (MC: 1.7.9) (Implementing API version 1.7.9-R0.2) > [20:09:02 WARN]: Could not get information about this CraftBukkit version; perhaps you are running a custom one?: FileNotFoundException > [20:09:02 INFO]: [Multiverse-Core] Loading Multiverse-Core v2.4-b527 > [20:09:02 INFO]: [WorldEdit] Loading WorldEdit v5.6.2 > [20:09:02 INFO]: [SurvivalGamesPlus] Loading SurvivalGamesPlus v1.3.5 > [20:09:02 INFO]: [WorldGuard] Loading WorldGuard v6.0.0-beta-02 > [20:09:02 INFO]: [Essentials] Loading Essentials v2.13.1 > [20:09:02 INFO]: [EssentialsChat] Loading EssentialsChat v2.13.1 > [20:09:02 INFO]: [EssentialsProtect] Loading EssentialsProtect v2.13.1 > [20:09:02 INFO]: [EssentialsSpawn] Loading EssentialsSpawn v2.13.1 > [20:09:02 INFO]: [EssentialsAntiBuild] Loading EssentialsAntiBuild v2.13.1 > [20:09:02 INFO]: Preparing level "Burg" > [20:09:02 ERROR]: Encountered an unexpected exception java.lang.NullPointerException at org.bukkit.craftbukkit.v1_7_R3.scoreboard.CraftCriteria.getFromNMS(CraftCriteria.java:45) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.craftbukkit.v1_7_R3.scoreboard.CraftObjective.(CraftObjective.java:19) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.craftbukkit.v1_7_R3.scoreboard.CraftScoreboard.(CraftScoreboard.java:29) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at org.bukkit.craftbukkit.v1_7_R3.scoreboard.CraftScoreboardManager.(CraftScoreboardManager.java:35) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.a(MinecraftServer.java:224) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.DedicatedServer.init(DedicatedServer.java:182) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:436) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6

Server, Konsolen, Minecraft, Error, Plug-in, Bukkit, Nitrado, Timeout

Meistgelesene Fragen zum Thema Bukkit