Ir para conteúdo
  • 0

[Resolvido] Por que não funciona?


Arkasher

Pergunta

HashMap<String, Integer> arqueiro = new HashMap();

   @EventHandler
   public void Dano(EntityDamageByEntityEvent e) {
    if(e.getDamager() instanceof Player) {
       Player p = (Player)e.getDamager();
       arqueiro.put(p.getName(), arqueiro.get(p.getName()) + 1);
       p.sendMessage("Você tem: " + arqueiro.get(p.getName()));
       
   }
   }

Por que não funciona?

Obs: já registrei o evento na main!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

Eu ja passei por um erro parecido e eu resolvi colocando tipo assim arqueiro.put(p, arqueiro.get(p.getName()) + 1); acho que assim resolve nao sei nao sou mt bom nisto.

Link para o comentário
Compartilhar em outros sites

Qual erro deu?

org.bukkit.event.EventException

        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
va:294) ~[craftbukkit.jar:git-Spigot-1517]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
a:62) ~[craftbukkit.jar:git-Spigot-1517]
        at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredLi
stener.java:30) ~[craftbukkit.jar:git-Spigot-1517]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
ava:502) [craftbukkit.jar:git-Spigot-1517]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
ava:487) [craftbukkit.jar:git-Spigot-1517]
        at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.callEvent(Craf
tEventFactory.java:109) [craftbukkit.jar:git-Spigot-1517]
        at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.callEntityDama
geEvent(CraftEventFactory.java:550) [craftbukkit.jar:git-Spigot-1517]
        at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.handleEntityDa
mageEvent(CraftEventFactory.java:463) [craftbukkit.jar:git-Spigot-1517]
        at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.handleLivingEn
tityDamageEvent(CraftEventFactory.java:572) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.EntityLiving.d(EntityLiving.java:1007) [
craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.EntityLiving.damageEntity(EntityLiving.j
ava:681) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.EntityAnimal.damageEntity(SourceFile:145
) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.EntityHuman.attack(EntityHuman.java:936)
 [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java
:1159) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.PacketPlayInUseEntity.a(SourceFile:55) [
craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.PacketPlayInUseEntity.handle(SourceFile:
10) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:180
) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.ServerConnection.c(ServerConnection.java
:81) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:7
20) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:2
83) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:5
83) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java
:489) [craftbukkit.jar:git-Spigot-1517]
        at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:6
28) [craftbukkit.jar:git-Spigot-1517]
Caused by: java.lang.NullPointerException
        at Habilidades.Habilidades.Dano(Habilidades.java:25) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0
_65]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0
_65]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
.8.0_65]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_65]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
va:292) ~[craftbukkit.jar:git-Spigot-1517]
        ... 22 more 

Eu ja passei por um erro parecido e eu resolvi colocando tipo assim arqueiro.put(p, arqueiro.get(p.getName()) + 1); acho que assim resolve nao sei nao sou mt bom nisto.

Não foi ;-;

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

Ah sim, o erro que tá dando é o seguinte: 

arqueiro.put(p.getName(), arqueiro.get(p.getName()) + 1);

Você colocou "arqueiro.get(p.getName()) + 1)", porém, como o player não contém na hashmap, você não pode "pega-lo" da hashmap, cheque primeiro se o player existe na hashmap.

 

Exemplo:

 

if(arqueiro.contains(p.getName()) {
     arqueiro.put(p.getName(), arqueiro.get(p.getName()) + 1);
} else {
     arqueiro.put(p.getName(), 1);
}
Editado por Proyx
Link para o comentário
Compartilhar em outros sites

 

Ah sim, o erro que tá dando é o seguinte: 

arqueiro.put(p.getName(), arqueiro.get(p.getName()) + 1);

Você colocou "arqueiro.get(p.getName()) + 1)", porém, como o player não contém na hashmap, você não pode "pega-lo" da hashmap, cheque primeiro se o player existe na hashmap.

 

Exemplo:

if(arqueiro.contains(p.getName()) {
     arqueiro.put(p.getName(), arqueiro.get(p.getName()) + 1);
} else {
     arqueiro.put(p.getName(), 1);
}

Vlw!!

Link para o comentário
Compartilhar em outros sites

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