diff --git a/src/main/java/dansplugins/dansessentials/commands/BackCommand.java b/src/main/java/dansplugins/dansessentials/commands/BackCommand.java index a9c7b93..ea5e70c 100644 --- a/src/main/java/dansplugins/dansessentials/commands/BackCommand.java +++ b/src/main/java/dansplugins/dansessentials/commands/BackCommand.java @@ -29,8 +29,14 @@ public boolean execute(CommandSender commandSender) { Player player = (Player) commandSender; + // Check if we have a previous location stored + if (ephemeralData.getLastLogins().get(player) == null) { + player.sendMessage(ChatColor.RED + "You don't have a previous location to return to!"); + return false; + } + player.teleport(ephemeralData.getLastLogins().get(player)); - player.sendMessage(ChatColor.AQUA + "Teleported to your last location!"); + player.sendMessage(ChatColor.AQUA + "Teleported to your previous location!"); return true; } diff --git a/src/main/java/dansplugins/dansessentials/listeners/JoinListener.java b/src/main/java/dansplugins/dansessentials/listeners/JoinListener.java index befbd46..3e17416 100644 --- a/src/main/java/dansplugins/dansessentials/listeners/JoinListener.java +++ b/src/main/java/dansplugins/dansessentials/listeners/JoinListener.java @@ -25,6 +25,9 @@ public JoinListener(EphemeralData ephemeralData, DansEssentials dansEssentials) public void handle(PlayerJoinEvent event) { Player player = event.getPlayer(); + // Track the player's join location as their initial "back" location + ephemeralData.getLastLogins().put(player, player.getLocation()); + if (!player.hasPlayedBefore()) { for (Player p : Bukkit.getOnlinePlayers()) { p.sendMessage(ChatColor.GREEN + "Welcome " + player.getName() + " to the server!");