Warp plugin aus config auslesen?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du sendest dem Spieler bei jedem Durchgang der for-Schleife eine Nachricht, natürlich sieht das dann so aus.

Du hast ganz eindeutig nicht richtig Java gelernt, das solltest machen, bevor du damit versuchst zu programmieren.

Hey danke für deine Antwort zu dem unteren teil, jap das ist mein problem ich habe sofort mit Bukkit/ Spigot angefangen ohne davor java anzuschauen (könntest du mir irgendwas empfelen womit man gut java lernen kann)

0

Hey noch eine Frage :/ (möchte das plugin fertig machen bevor ich anfang mit java zu lernen) wie bekomme ich das hin das wen ich /warp tp home machen und ich einen warp habe der home heißt das ich dort hin komme (das habe ich) aber wenn ich /warp tp mine mache und es keinen warp mit mine gibt das dann die meldung kommt "Diesen warp gibt es nicht" Hie ein link zu meinem derzeitigen code: https://paste.ofcode.org/pMkBmuQakEphssXNJuy9fa

0
@Jongartv

Du kannst mit dieser Methode prüfen, ob ein Eintrag in der Konfiguration (nicht) vorhanden ist und dementsprechend handeln: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/configuration/ConfigurationSection.html#contains-java.lang.String-

Zum lernen ist ein Buch die sicherste Quelle. Sicher in dem Sinne, dass im Internet (Webseiten und Videos) entweder schlecht erklärt wird oder die Inhalte schlichtweg falsch sind. Ich hatte mit den Büchern vom Rheinwerk Verlag bisher gute Erfahrungen, für Anfänger ist da zum Beispiel das Buch "Programmieren lernen mit Java" geeignet.

0

Lerne am besten ERST Java zu programmieren und programmiere DANN Plugins.

Do hab ichs auch gemacht

0

Um auf deine 2 Frage in der Antwort von FireEraser weiterzumachen.

https://paste.ofcode.org/E3pcW8jGYeGptiwnGx84Us

Wenn du willst, dass man bei /warp tp mine eine warnung bekommt, falls diese nicht gesetzt wurde, so kannst du immer eine if( == null) abfrage machen.

P.S.: Ich würde an deiner Stelle einen String für die Abspeicherung der Location nehmen ;)

Woher ich das weiß: Hobby

Minecraft Bukkit Plugin config wird nicht gesichert!

Hallo zusammen, momentan übe ich mich im programmieren von Bukkit plugins und versuche gerade ein paar Commands, die es aus in Essentials gibt, nachzuprogrammieren. Allerdings habe ich ein Problem mit meinem /spawn bzw /setspawn Command. Immer wenn ich reloade wird der gespeicherte spawn gelöscht und man kommt mit /spawn nicht mehr dahin. ich wollte die Location in der Config speichern und wieder auslesen aber irgendetwas mache ich da wohl beim sichern falsch. wäre klasse, wenn man mal jemand drüber gucken könnte und mir sagen könnte, wo der Fehler liegt. Ich kann leider nur diesen Ausschnitt des gesamten Codes posten, weil ich nicht genug Zeichen habe. Hoffe der Fehler liegt in diesem Ausschnitt.

LG WieJaay

PS: für das Command /spawn war leider nicht genug platz. Naja, das Problem liegt ja vermutlich am speichern. das auslesen funktioniert ja.

public void onEnable() {
    initConfig();
    getServer().getPluginManager().registerEvents(new PlayerJoinListener(), this);
    System.out.println("[BasicCommands] " + "BasicCommands " + getDescription().getVersion() + " erfolgreich geladen.");
}

public void onDisable() {
    
    this.saveConfig();
    
}

public void initConfig() {
    
    this.reloadConfig();
    this.getConfig().options().header("Konfigurationsdatei");
    
    //Commands
    this.getConfig().addDefault("BasicCommands.prefix", "[BasicCommands]");
    this.getConfig().options().copyDefaults(true);
    
    this.saveConfig();
    
}


@Override
public boolean onCommand(CommandSender sender, Command cmd,String label, String[] args) {
    
    
    
    //Umwandlung sender -> Player
    Player p = null;
    if (sender instanceof Player) {
        p = (Player)sender;
    }
    
    //Command /setspawn
    if(cmd.getName().equalsIgnoreCase("setspawn")) {
        if(p!=null) {
            if(p.isOp()) {
                    this.getConfig().set("Spawn" + ".X", p.getLocation().getBlockX());
                    this.getConfig().set("Spawn" + ".Y", p.getLocation().getBlockY());
                    this.getConfig().set("Spawn" + ".Z", p.getLocation().getBlockZ());
                    this.getConfig().set("Spawn" + ".Yaw", p.getLocation().getYaw());
                    this.getConfig().set("Spawn" + ".Pitch", p.getLocation().getPitch());
                    this.getConfig().set("Spawn" + ".World", p.getLocation().getWorld());
                    p.sendMessage(ChatColor.BLUE + this.getConfig().getString("BasicCommands.prefix") + ChatColor.GOLD + " Spawn " + ChatColor.GREEN + "X: " + p.getLocation().getBlockX() +", Y: " + p.getLocation().getBlockY() + ", Z: " 
                    + p.getLocation().getBlockZ() + ChatColor.GOLD + " wurde gesetzt.");
                   return true;
            }
        }
    }
...zur Frage

Java plugin liest die config nicht!?

Hi. Ich programmiere gerade ein MC plugin (mein erstes), und wenn ich eine config auslese (um mich bei MySQL anzumelden), ist der string null. Das ist der Quellcode:

public static File getConfigFile() {
    return new File("plugins/Plugin","config.yml");
}
public static FileConfiguration getConfigFileConfiguration() {
return YamlConfiguration.loadConfiguration(getConfigFile());
}
    public static void setStandardConfig() {
FileConfiguration cfg = getConfigFileConfiguration();
cfg.options().copyDefaults(true);
cfg.addDefault("prefix", "&8[&6Test&8]");
 try {
    cfg.save(getConfigFile());
 } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
 }
}
    public static void readConfig() {
    FileConfiguration cfg = getConfigFileConfiguration();
    Bukkit.getConsoleSender().sendMessage(cfg.getString("prefix"));

    //Main.setPrefix(cfg.getString("prefix"));
    //Main.getInstance();
    //Main.prefix = ChatColor.translateAlternateColorCodes('&', cfg.getString("prefix"))    + " §r";
}

Und in der Main:

public void onEnable() {
    Bukkit.getConsoleSender().sendMessage(prefix + "§cPlugin gestartet !");
    instance = this;
    registerEvents();
    registerCommands();
    FileManager.setStandardConfig();
    FileManager.readConfig();
    Bukkit.getConsoleSender().sendMessage(prefix + "§cPlugin aktiviert !");
}
   public static String prefix;
   public static Main instance;

   public static Main getInstance() {
    return instance;
}

Ich hab schon 2 h daran rumprobiert und nix im web gefunden. Wäre nett wenn jmd mir helfen könnte :) LG Twizzy

...zur Frage

Was möchtest Du wissen?