diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java index 748a9448..172ac651 100644 --- a/src/main/java/fr/xephi/authme/AuthMe.java +++ b/src/main/java/fr/xephi/authme/AuthMe.java @@ -543,8 +543,8 @@ public class AuthMe extends JavaPlugin { Location spawnLoc = world.getSpawnLocation(); for (int i = spawnPriority.length - 1; i >= 0; i--) { String s = spawnPriority[i]; - if (s.equalsIgnoreCase("default") && getDefaultSpawn() != null) - spawnLoc = getDefaultSpawn(); + if (s.equalsIgnoreCase("default") && getDefaultSpawn(world) != null) + spawnLoc = getDefaultSpawn(world); if (s.equalsIgnoreCase("multiverse") && getMultiverseSpawn(world) != null) spawnLoc = getMultiverseSpawn(world); if (s.equalsIgnoreCase("essentials") && getEssentialsSpawn() != null) @@ -557,8 +557,8 @@ public class AuthMe extends JavaPlugin { return spawnLoc; } - private Location getDefaultSpawn() { - return this.getServer().getWorld(Settings.defaultWorld).getSpawnLocation(); + private Location getDefaultSpawn(World world) { + return world.getSpawnLocation(); } private Location getMultiverseSpawn(World world) { diff --git a/src/main/java/fr/xephi/authme/SendMailSSL.java b/src/main/java/fr/xephi/authme/SendMailSSL.java index 4a0c9dd8..bc60dfe9 100644 --- a/src/main/java/fr/xephi/authme/SendMailSSL.java +++ b/src/main/java/fr/xephi/authme/SendMailSSL.java @@ -75,7 +75,7 @@ public class SendMailSSL { message.setSubject(subject); message.setSentDate(new Date()); BodyPart messageBodyPart = new MimeBodyPart(); - messageBodyPart.setText(mailText); + messageBodyPart.setContent(mailText, "text/html"); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); diff --git a/src/main/java/fr/xephi/authme/process/register/ProcessSyncronousPasswordRegister.java b/src/main/java/fr/xephi/authme/process/register/ProcessSyncronousPasswordRegister.java index c2ffe57f..c85988e4 100644 --- a/src/main/java/fr/xephi/authme/process/register/ProcessSyncronousPasswordRegister.java +++ b/src/main/java/fr/xephi/authme/process/register/ProcessSyncronousPasswordRegister.java @@ -16,6 +16,7 @@ import fr.xephi.authme.cache.limbo.LimboPlayer; import fr.xephi.authme.events.AuthMeTeleportEvent; import fr.xephi.authme.events.LoginEvent; import fr.xephi.authme.events.RegisterTeleportEvent; +import fr.xephi.authme.events.RestoreInventoryEvent; import fr.xephi.authme.settings.Messages; import fr.xephi.authme.settings.PlayersLogs; import fr.xephi.authme.settings.Settings; @@ -95,6 +96,14 @@ public class ProcessSyncronousPasswordRegister implements Runnable { player.teleport(tpEvent.getTo()); } } + if (Settings.protectInventoryBeforeLogInEnabled && limbo.getInventory() != null && limbo.getArmour() != null) { + RestoreInventoryEvent event = new RestoreInventoryEvent(player, limbo.getInventory(), limbo.getArmour()); + Bukkit.getPluginManager().callEvent(event); + if (!event.isCancelled() && event.getArmor() != null && event.getInventory() != null) { + player.getInventory().setContents(event.getInventory()); + player.getInventory().setArmorContents(event.getArmor()); + } + } limbo.getTimeoutTaskId().cancel(); limbo.getMessageTaskId().cancel(); LimboCache.getInstance().deleteLimboPlayer(name);