Ir para conteúdo
  • 0

[Resolvido] [Ajuda] Treta com StringList


LuizB

Pergunta

Tenho Este código:

 


	@EventHandler(priority = EventPriority.HIGHEST)
	public void prisaoentra(PlayerJoinEvent e) {
		Player p = e.getPlayer();
		if(Main.presos.getConfig().contains("Presos." + p.getName().toString())) {
			World world = Bukkit.getWorld((String)Main.config.getConfig().getString("Mundo"));
			double x =  Main.config.getConfig().getDouble("X");
			double y =  Main.config.getConfig().getDouble("Y");
			double z =  Main.config.getConfig().getDouble("Z");
			float yy = (float)Main.config.getConfig().getDouble("Yaw");
			float pp = (float)Main.config.getConfig().getDouble("Pitch");
			Location wlm = new Location(world, (double)x, (double)y, (double)z, (float)yy, (float)pp);
			p.teleport(wlm);
			for(String ant : Main.ins.getConfig().getStringList("Noescape")){
				p.sendMessage(ant.replace("&", "§").replace("@motivo", Main.presos.getConfig().getString("Presos." + p.getName() + "Motivo").replace("@quemprendeu", Main.presos.getConfig().getString("Presos." + p.getName() + "QuemPrendeu")))); // Essa é a linha 31
				}
		}else {
			
			}
	}

Que Esta Dando Este Erro:

 

org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.PlayerList.onPlayerJoin(PlayerList.java:298) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.PlayerList.a(PlayerList.java:157) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.LoginListener.b(LoginListener.java:144) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.LoginListener.c(LoginListener.java:54) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.NetworkManager.a(NetworkManager.java:231) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.ServerConnection.c(ServerConnection.java:148) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:813) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:653) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:556) [spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        at java.lang.Thread.run(Unknown Source) [?:1.7.0_80]
Caused by: java.lang.NullPointerException
        at me.cuthmf.borhap.Handlers.prisaoentra(Handlers.java:31) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_80]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_80]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_80]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_80]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.8.8.jar:git-Spigot-6c9b0a1-de5c261]
        ... 14 more
Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

Qual a linha 31 da class Handlers?

 

 

@Edit 

 

No:

Main.presos.getConfig().getString("Presos." + p.getName() + "Motivo")

 

adicione um ponto antes de motivo e testa.

Main.presos.getConfig().getString("Presos." + p.getName() + ".Motivo")

 

Obs: 

sempre que for usar:

Main.presos.getConfig().getString("Presos." + p.getName() + "Motivo")

coloque um ponto antes da string escrita

ex: 

Main.presos.getConfig().getString("Lojas." + p.getName() + ".casa")

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

Qual a linha 31 da class Handlers?

 

 

@Edit 

 

No:

Main.presos.getConfig().getString("Presos." + p.getName() + "Motivo")

 

adicione um ponto antes de motivo e testa.

Main.presos.getConfig().getString("Presos." + p.getName() + ".Motivo")

 

Obs: 

sempre que for usar:

Main.presos.getConfig().getString("Presos." + p.getName() + "Motivo")

coloque um ponto antes da string escrita

ex: 

Main.presos.getConfig().getString("Lojas." + p.getName() + ".casa")

Funcionou.

 

porque precisa de Um Ponto ? ( já que o Ponto é pra indicar que tem uma linha Embaixo ? )

Link para o comentário
Compartilhar em outros sites

O ponto funciona como um quebra de linha. Ex:

Sem o ponto ele iria pegar a String salva na config assim:

#Codigo:
sender.sendMessage(Main.presos.getConfig().getString("Presos." + p.getName() + "Motivo"));
 
#Config
Presos:
  KaleuMansoMotivo: Ola
 
#Retorno:
Ola

Com o ponto ele iria pegar a String salva na config assim:

#Codigo:
sender.sendMessage(Main.presos.getConfig().getString("Presos." + p.getName() + ".Motivo"));
 
#Config
Presos:
  KaleuManso:
    Motivo: Ola
 
#Retorno:
Ola
Editado por KaleuManso
Link para o comentário
Compartilhar em outros sites

Funcionou.

 

porque precisa de Um Ponto ? ( já que o Ponto é pra indicar que tem uma linha Embaixo ? )

Por que na sua confiig deve estar assim:

Presos:
    MrDery:
        Motivo: blabla
Link para o comentário
Compartilhar em outros sites

qual é a linha 31

p.sendMessage(ant.replace("&", "§").replace("@motivo", Main.presos.getConfig().getString("Presos." + p.getName() + "Motivo").replace("@quemprendeu", Main.presos.getConfig().getString("Presos." + p.getName() + "QuemPrendeu")))); // Essa é a linha 31

na verdade eu quero saber pra que serve o ".Motivo"

 

ja que se eu colocar "Presos." // irei dizer que vai ter uma proxima linha

Link para o comentário
Compartilhar em outros sites

Eu quero saber qual a Função

pois dai você pode colocar mais de um player preso, se fosse só:

 

 

Presos: fulano

 

seria só uma pessoa, mas usando isso que ele falou pode ficar assim:

 

Presos:
     Fulano:
         Motivo: Porque eu
     Alguém:
         Motivo: quis, pode
     Ninguém:
         Motivo: ir lá e denunciar

 

como viram, pode ser 3 pessoas, ao infinito, mas não precisa ser tão grande, somente Presos.<nome_do_player> ja era o suficiente que ficaria assim:

 

Presos:
     Fulano: Porque eu
     Alguém: quis, pode
     Ninguém: ir lá e denunciar

Ocupa menos espaço na config assim

Link para o comentário
Compartilhar em outros sites

Para completar o que o Kaleu falou, leia a seção (sessão ou secção?) "Path" http://wiki.bukkit.org/Configuration_API_Reference

a não em ingles :/

pois dai você pode colocar mais de um player preso, se fosse só:

Presos: fulano

seria só uma pessoa, mas usando isso que ele falou pode ficar assim:

Presos:
     Fulano:
         Motivo: Porque eu
     Alguém:
         Motivo: quis, pode
     Ninguém:
         Motivo: ir lá e denunciar

como viram, pode ser 3 pessoas, ao infinito, mas não precisa ser tão grande, somente Presos.<nome_do_player> ja era o suficiente que ficaria assim:

Presos:
     Fulano: Porque eu
     Alguém: quis, pode
     Ninguém: ir lá e denunciar

Ocupa menos espaço na config assim

não entendi. na verdade eu to usando o Motivo:

Link para o comentário
Compartilhar em outros sites

a não em ingles :/

não entendi. na verdade eu to usando o Motivo:

PORR4 MLK

 

 

O ponto funciona como um quebra de linha. Ex:

Sem o ponto ele iria pegar a String salva na config assim:

#Codigo:
sender.sendMessage(Main.presos.getConfig().getString("Presos." + p.getName() + "Motivo"));
 
#Config
Presos:
  KaleuMansoMotivo: Ola
 
#Retorno:
Ola

Com o ponto ele iria pegar a String salva na config assim:

#Codigo:
sender.sendMessage(Main.presos.getConfig().getString("Presos." + p.getName() + ".Motivo"));
 
#Config
Presos:
  KaleuManso:
    Motivo: Ola
 
#Retorno:
Ola

QUER MAIS  EXPLICADO QUE ISSO SE MATA

E DA RESOLVIDO NA RESPOSTA DO MLQ, JA Q TE AJUDOU NE?

PQP

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

PORR4 MLK

 

QUER MAIS  EXPLICADO QUE ISSO SE MATA

E DA RESOLVIDO NA RESPOSTA DO MLQ, JA Q TE AJUDOU NE?

PQP

ahhhh to lgs agora Se Deixase só "Motivo" iria adicionar o "Motivo" Como String né ?

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

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