Solved HashMap!!! pls help

Discussion in 'Plugin Development' started by JonasXPX, Jun 28, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    JonasXPX

    Hello, I'm learning to work with the hashmap, but I think everything is correct, but when digit command in game / home, it returns an error.

    Code:java
    1. HashMap<String, Location> home = new HashMap<String, Location>();
    2.  
    3.  
    4. public boolean onCommand(CommandSender sender, Command command,
    5. String label, String[] args) {
    6.  
    7. Player p = (Player) sender;
    8. if(command.getName().equalsIgnoreCase("sethome")){
    9. home.put(getName(), p.getLocation());
    10. p.sendMessage("Home marcada");
    11. }
    12. else if(command.getName().equalsIgnoreCase("home")){
    13. Location homeLocation = home.get(p.getName());
    14. p.teleport(homeLocation);
    15. p.sendMessage("TELEPORTADO");
    16. }
    17. return false;
    18. }


    the error is this
    Code:
    [18:21:30] [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'home' in plugin HomelOcation v1.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) ~[craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:701) ~[craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PlayerConnection.handleCommand(PlayerConnection.java:956) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java:817) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:157) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:667) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:260) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    Caused by: java.lang.NullPointerException
        at org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer.teleport(CraftPlayer.java:484) ~[craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.craftbukkit.v1_7_R3.entity.CraftEntity.teleport(CraftEntity.java:200) ~[craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at me.jonasxpx.MainSethome.onCommand(MainSethome.java:31) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.7.9-R0.2.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        ... 13 more
     
  2. Offline

    Gerov

    Could you paste all the code from "MainSetHome" please?
     
  3. Offline

    JonasXPX

    Gerov
    Code:java
    1. package me.jonasxpx;
    2.  
    3. import java.util.HashMap;
    4.  
    5. import org.bukkit.Location;
    6. import org.bukkit.command.Command;
    7. import org.bukkit.command.CommandSender;
    8. import org.bukkit.entity.Player;
    9. import org.bukkit.plugin.java.JavaPlugin;
    10.  
    11. public class MainSethome extends JavaPlugin {
    12.  
    13. @Override
    14. public void onEnable() {
    15.  
    16. }
    17.  
    18. HashMap<String, Location> home = new HashMap<String, Location>();
    19.  
    20.  
    21. public boolean onCommand(CommandSender sender, Command command,
    22. String label, String[] args) {
    23.  
    24. Player p = (Player) sender;
    25. if(command.getName().equalsIgnoreCase("sethome")){
    26. home.put(getName(), p.getLocation());
    27. p.sendMessage("Home marcada");
    28. }
    29. else if(command.getName().equalsIgnoreCase("home")){
    30. Location homeLocation = home.get(p.getName());
    31. p.teleport(homeLocation);
    32. p.sendMessage("TELEPORTADO");
    33. }
    34. return false;
    35. }
    36. }
    37.  
     
  4. Offline

    Seadragon91

    I think you forgot here what
    Code:
    home.put(getName(), p.getLocation());
    getName() -> p.getName() ?
     
    JonasXPX likes this.
  5. Offline

    Traks

    You should check if home.get(p.getName()) is null before trying to teleport a player to it. It could be a player hasn't set his home -> home.get(p.getName()) returns null.
     
    MrSparkzz and JonasXPX like this.
  6. Offline

    JonasXPX

  7. Offline

    Plo124

    JonasXPX
    Mark thread as solved,

    BTW you arent saving the hashmap -> Server restart -> Homes lost
     
Thread Status:
Not open for further replies.

Share This Page