Ir para conteúdo
  • 0

Como salvar reports em um yml!


Guest iDimaDev

Pergunta

12 respostass a esta questão

Posts Recomendados

Segue o exemplo de config '-

public static void CriarConfig() throws IOException {
		File folder = new File(Main.getInstance().getDataFolder() + "/");
		if (!folder.exists()) {
			folder.mkdirs();
		}
		
		File reports = new File(Main.getInstance().getDataFolder() + "/reports.yml");
		if (!reports.exists()) {
			reports.createNewFile();
		}
	}
	
	public static YamlConfiguration getReportsConfig() {
		File reports = new File(Main.getInstance().getDataFolder() + "/reports.yml");
		YamlConfiguration config = YamlConfiguration.loadConfiguration(reports);
		return config;
	}
	
	public static void SaveReport(Player p, String motivo) throws IOException {
		getReportsConfig().set("Reports." + p.getName(), motivo);
		File reports = new File(Main.getInstance().getDataFolder() + "/reports.yml");
		getReportsConfig().save(reports);
	}

Link para o comentário
Compartilhar em outros sites

Guest iDimaDev

 

Segue o exemplo de config '-

public static void CriarConfig() throws IOException {
		File folder = new File(Main.getInstance().getDataFolder() + "/");
		if (!folder.exists()) {
			folder.mkdirs();
		}
		
		File reports = new File(Main.getInstance().getDataFolder() + "/reports.yml");
		if (!reports.exists()) {
			reports.createNewFile();
		}
	}
	
	public static YamlConfiguration getReportsConfig() {
		File reports = new File(Main.getInstance().getDataFolder() + "/reports.yml");
		YamlConfiguration config = YamlConfiguration.loadConfiguration(reports);
		return config;
	}
	
	public static void SaveReport(Player p, String motivo) throws IOException {
		getReportsConfig().set("Reports." + p.getName(), motivo);
		File reports = new File(Main.getInstance().getDataFolder() + "/reports.yml");
		getReportsConfig().save(reports);
	}

Está com erro na parte: http://i.imgur.com/53PwucR.png

 

E outra como faço adicionar uma cabeça desses players do reports.yml em uma gui?

Link para o comentário
Compartilhar em outros sites

Guest iDimaDev

 Você faz um looping pelo path onde está os players e adiciona eles a uma cabeca, depois só setar no gui

Pode dar um exemplo? n mecho mt com config e essas parada

Link para o comentário
Compartilhar em outros sites

Pode dar um exemplo? n mecho mt com config e essas parada

 

ArrayList<String> nomes = new ArrayList<>();
for(String key : getConfig().getConfigurationSection("Reportados").getKeys(false)){
    nomes.add(key);
}
Dessa maneira tu vai pegar todo mundo que tivesse por exemplo em um path "Reportados"
 
Ai tu faz 
ArrayList<ItemStack> items - new ArrayList<>();
for(String nome : nomes){
   //CRIA A CABECA UTILIZANDO O NOME DO PLAYER( nome)
   e adiciona a cabeca pra Array entao
   items.put(CAbeca);
}
 
e depos faz um for pra cabeca e seta ela no inventario
Editado por gcunha
Link para o comentário
Compartilhar em outros sites

Guest iDimaDev

 

ArrayList<String> nomes = new ArrayList<>();
for(String key : getConfig().getConfigurationSection("Reportados").getKeys(false)){
    nomes.add(key);
}
Dessa maneira tu vai pegar todo mundo que tivesse por exemplo em um path "Reportados"
 
Ai tu faz 
ArrayList<ItemStack> items - new ArrayList<>();
for(String nome : nomes){
   //CRIA A CABECA UTILIZANDO O NOME DO PLAYER( nome)
   e adiciona a cabeca pra Array entao
   items.put(CAbeca);
}
 
e depos faz um for pra cabeca e seta ela no inventario

 

To conseguindo nao, pode me ajudar via skype?

Link para o comentário
Compartilhar em outros sites

public void OpenReportsMenu(Player p) {
	Inventory inv = Bukkit.createInventory(p, 54, "§6Reports");
	int i = 0;
	for (String players : getConfig().getConfigurationSection("Reportados").getKeys(false)) {
		ItemStack is = new ItemStack(Material.SKULL_ITEM, (byte)3);
		SkullMeta ism = (SkullMeta) is.getItemMeta();
		ism.setOwner(players);
		ism.setDisplayName("§6Reportado: " + players);
		is.setItemMeta(ism);
		inv.setItem(i, is);
		i++;
	}
        p.openInventory(inv);

não precisa ter mt experiencia em java pra fazer isso mas usa como exemplo! vc deve fazer uma limitação pra colocar uma nova pagina porque tenho certeza que vai ter mais que 54 reports que é o tamanho de um menu grande se n me engano

Editado por FilipeNock
Link para o comentário
Compartilhar em outros sites

To conseguindo nao, pode me ajudar via skype?

 

public void OpenReportsMenu(Player p) {
	Inventory inv = Bukkit.createInventory(p, 54, "§6Reports");
	int i = 0;
	for (String players : getConfig().getConfigurationSection("Reportados").getKeys(false)) {
		ItemStack is = new ItemStack(Material.SKULL_ITEM, (byte)3);
		SkullMeta ism = (SkullMeta) is.getItemMeta();
		ism.setOwner(players);
		ism.setDisplayName("§6Reportado: " + players);
		is.setItemMeta(ism);
		inv.setItem(i, is);
		i++;
	}
        p.openInventory(inv);

não precisa ter mt experiencia em java pra fazer isso mas usa como exemplo! vc deve fazer uma limitação pra colocar uma nova pagina porque tenho certeza que vai ter mais que 54 reports que é o tamanho de um menu grande se n me engano

 

Resolvido?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...