Arkasher Postado Dezembro 6, 2015 Denunciar Compartilhar Postado Dezembro 6, 2015 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 More sharing options...
Proyx Postado Dezembro 6, 2015 Denunciar Compartilhar Postado Dezembro 6, 2015 coloca um System.out.println("evento funcionou"); no inicio pra testar se o evento tá funcionando corretamente Link para o comentário Compartilhar em outros sites More sharing options...
Arkasher Postado Dezembro 6, 2015 Autor Denunciar Compartilhar Postado Dezembro 6, 2015 coloca um System.out.println("evento funcionou"); no inicio pra testar se o evento tá funcionando corretamente Deu erro aqui no console > arqueiro.put(p.getName(), arqueiro.get(p.getName()) + 1); Link para o comentário Compartilhar em outros sites More sharing options...
Guest DiogoSR Postado Dezembro 6, 2015 Denunciar Compartilhar Postado Dezembro 6, 2015 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 More sharing options...
Proyx Postado Dezembro 6, 2015 Denunciar Compartilhar Postado Dezembro 6, 2015 Deu erro aqui no console > arqueiro.put(p.getName(), arqueiro.get(p.getName()) + 1); Qual erro deu? Link para o comentário Compartilhar em outros sites More sharing options...
Arkasher Postado Dezembro 6, 2015 Autor Denunciar Compartilhar Postado Dezembro 6, 2015 (editado) 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 Dezembro 6, 2015 por Arkasher197 Link para o comentário Compartilhar em outros sites More sharing options...
Proyx Postado Dezembro 6, 2015 Denunciar Compartilhar Postado Dezembro 6, 2015 (editado) 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 Dezembro 6, 2015 por Proyx 1 Link para o comentário Compartilhar em outros sites More sharing options...
Arkasher Postado Dezembro 6, 2015 Autor Denunciar Compartilhar Postado Dezembro 6, 2015 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 More sharing options...
vitorrdgs Postado Dezembro 6, 2015 Denunciar Compartilhar Postado Dezembro 6, 2015 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Arkasher
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