Ir para conteúdo
  • 0

Config.yml bugada


PedroDev

Pergunta

Quando eu do reload no meu plugin a config.yml fica toda bagunçada.

EX:

 

fica assim:

# 
# PEssentials #
Sem-permissao: "&aVoc\xea n\xe3o tem permiss\xe3o para executar esse comando."
Reload:
  mensagem: "&aConfigura\xe7\xe3o recarregada com sucesso."
  sem-argumentos: '&cUtilize /pessentials <reload> para recarregar o plugin.'
Desativar:
  chuva: true
Anuncio:
  mensagem:
  - ''
  - "   &d&l[AN\xdaNCIO] &d{mensagem}"
  - ''
  sem-argumentos: '&cUtilize /anuncio <mensagem> para mandar uma mensagem a todos
    online no servidor.'
Craft:
  ativar-mensagem: true
  mensagem: '&aMesa de trabalho virtual aberta.'
Topo:
  mensagem: '&aTeleportado para o topo com sucesso.'
Chapeu:
  mensagem: "&e* Aproveite seu novo chap\xe9u!"
  sem-item: "&cVoc\xea presisa est\xe1 segurando um item!"
Curar:
  mensagem-jogador-ja-curado: "&cEsse jogador j\xe1 est\xe1 curado."
  mensagem-curou-jogador: "&eVoc\xea curou o jogador {jogador}."
  mensagem-jogador-foi-curado: "&eVoc\xea foi curado."
  jogador-offline: "&cEsse jogador n\xe3o foi encontrado."
  mensagem-ja-curado: "&cVoc\xea j\xe1 est\xe1 curado."
  mensagem-foi-curado: "&eVoc\xea foi curado."
Deus:
  jogador-offline: "&cEsse jogador n\xe3o foi encontrado."
  mensagem-ativou: "&aVoc\xea ativou o modo &a&lDEUS&a."
  mensagem-desativou: "&cVoc\xea desativou o modo &c&lDEUS&c."
  mensagem-jogador-ativou: '&aSeu modo &a&lDEUS &afoi ativado.'
  mensagem-jogador-desativou: '&cSeu modo &c&lDEUS &cfoi desativado.'
  mensagem-ativou-jogador: "&aVoc\xea ativou o modo &a&lDEUS &apara o jogador {jogador}."
  mensagem-desativou-jogador: "&cVoc\xea desativou o modo &c&lDEUS &cpara o jogador\
    \ {jogador}."
LimparChat:
  limpou-chat: "&aVoc\xea limpou seu chat."
  sem-argumentos: '&cUtilize /limparchat <privado ou global> para limpar o chat.'
  limpou-chat-privado: "&aVoc\xea limpou o chat privado."
  limpou-global-mensagem: '&aO chat foi limpo.'
  limpou-global: "&aVoc\xea limpou o chat global."
Gamemode:
  survival: "Sobreviv\xeancia"
  criative: Criativo
  spectator: Espectador
  adventure: Aventura
  jogador-offline: "&cEsse jogador n\xe3o foi encontrado."
  alterou: '&eSeu modo de jogo foi alterado para ''{gamemode}'''
  ja-esta: "&cSeu modo de jogo j\xe1 est\xe1 no '{gamemode}'"
Teleport:
  delay-ativar: true
  delay: 5
  teleportando-mensagem:
  - '&aTeleportando, aguarde &7{tempo} &asegundos.'
  sucesso:
  - "&aVoc\xea foi teletransportado para \xe1 warp: &7{warp}"
  warp-setada: "&aVoc\xea setou \xe1 warp {warp} com sucesso."
  warp-ja-existe: "&c\xc1 warp {warp} j\xe1 existe."
  warp-nao-existe: "&c\xc1 warp {warp} n\xe3o existe."
  warp-deletada: "&c\xc1 Warp {warp} foi deletada."

O metodo que eu uso para dar reload no plugin é este:

package Comandos;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import Main.Main;

public class Reload implements CommandExecutor{

	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		
		Player p = (Player)sender;
		if (!p.hasPermission("pessentials.reload")){
			p.sendMessage(Main.getMain().getConfig().getString("Sem-permissao").replace("{jogador}", p.getName()).replace("&", "§"));
			return true;
		}
		
		
	    if (args.length == 0){
	    	p.sendMessage(Main.getMain().getConfig().getString("Reload.sem-argumentos").replace("&", "§").replace("{jogador}", p.getName()));
	    	return true;
	    }
	    if (args[0].equalsIgnoreCase("reload")){
	    	
	    	Main.getMain().SaveConfig("warps");
	    	Main.getInstance().saveConfig();
	    	p.sendMessage(Main.getMain().getConfig().getString("Reload.mensagem").replace("&", "§").replace("{jogador}", p.getName()));
	    }
		return false;
	}

}

Tem algum método que eu faça para não ficar toda bagunçada a config.yml quando do reload no pl?

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

bom eu n uso o java para escrever a config, eu faço a mão dps salvo como default

File config = new File(getDataFolder() + "/config.yml");
    if(!config.exists()) {
	saveResource("config.yml", true);
			  
}

mas se o problema n for esse veja esse topico aqui, 

https://www.spigotmc.org/threads/solved-utf-8-in-config-yml.57879/

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

se vc esta se referindo a c\xea então é só substituir o § por & e usar .replace("&", "§") na hora de pegar a msg

 

se vc esta se referindo ao sumiço dos # então é só criar outro arquivo, pois a config padrão nao aceita comentarios dps da primeira linha

Link para o comentário
Compartilhar em outros sites

Isso é por causa dos acentos na config.yml, se tu salvar ela e possuir caracters invalidas nela, irá ficar assim.

Para corrigir, você tem que por o projeto em UTF-8.

mas é permtido acentos na config.yml ;----;

Link para o comentário
Compartilhar em outros sites

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