Hy,
Vorrab, ich bin kompletter Neuling in Plugin schreiben und bin dabei es zu lernen.
Nun weiß ich nicht mehr weiter und hoffe das ich von euch Hilfe bekomme.
Ein Befehl:
Das Inventar wird überprüft ob ein bestimmtes Item vorhanden ist.
Man bekommt ein bestimmtes item und das überprüfte wird entzogen.
Das funktioniert bereits. Jetzt möchte ich aber gern die Items nicht mehr im Quellcode stehen haben sondern aus der config.yml auslesen.
Ich komme mit google und Co. nicht weiter, da mein Englisch auch nicht gerade das beste ist.
Vielleicht kann mir das jemand von euch erklären wie ich jetzt weiter vorgehen muss.
Für eure Hilfe bedanke ich mich schon im Vorraus
Gruß M_Johny
Vorrab, ich bin kompletter Neuling in Plugin schreiben und bin dabei es zu lernen.
Nun weiß ich nicht mehr weiter und hoffe das ich von euch Hilfe bekomme.
Ein Befehl:
Das Inventar wird überprüft ob ein bestimmtes Item vorhanden ist.
Man bekommt ein bestimmtes item und das überprüfte wird entzogen.
Das funktioniert bereits. Jetzt möchte ich aber gern die Items nicht mehr im Quellcode stehen haben sondern aus der config.yml auslesen.
Code:
...
private void configload() {
this.reloadConfig();
this.getConfig().options().header("Quest veränderbar");
this.getConfig().addDefault("options.messages.noitems", "Dir fehlen Items im Inventar");
this.getConfig().addDefault("options.messages.nopermission", "Du hast keine Rechte");
this.getConfig().addDefault("options.questlist.questname", "Cobble");
this.getConfig().addDefault("options.questlist.questname.description", "Benötigte Items: 64 Cobble");
this.getConfig().addDefault("options.questlist.questname.requiredItems", "COBBLESTONE, 64");
this.getConfig().addDefault("options.questlist.questname.itemReward", "LEATHER, 3");
this.getConfig().addDefault("options.questlist.questname.rewardText", "Deine Belohung: 3 Leather");
this.getConfig().options().copyDefaults(true);
this.saveConfig();
System.out.println("[SkyQuest] Succefully (re)loaded config.yml");
...
if (cmd.getName().equalsIgnoreCase("quest")) {
if(p != null){
if(p.hasPermission("skyquest.quest")){
PlayerInventory inventory = p.getInventory();
ItemStack itemstack = new ItemStack(Material.COBBLESTONE, 64);
ItemStack itemstack1 = new ItemStack(Material.LEATHER, 3);
if (inventory.contains(itemstack)) {
inventory.addItem(itemstack1);
inventory.removeItem(itemstack);
p.sendMessage(ChatColor.GREEN + this.getConfig().getString("options.questlist.questname.rewardText"));
return true;
} else {
p.sendMessage(ChatColor.RED + this.getConfig().getString("options.messages.noitems"));
return true;
}
} else {
p.sendMessage(ChatColor.RED + this.getConfig().getString("options.messages.nopermission"));
return true;
}
} else {
System.out.println("Dieser Befehl kann nur ein Spieler nutzen.");
return true;
}
}
...
Ich komme mit google und Co. nicht weiter, da mein Englisch auch nicht gerade das beste ist.
Vielleicht kann mir das jemand von euch erklären wie ich jetzt weiter vorgehen muss.
Für eure Hilfe bedanke ich mich schon im Vorraus
Gruß M_Johny