Check bed still exist, for bed homes.

This commit is contained in:
KHobbits 2012-01-28 00:49:22 +00:00
parent 5137502646
commit f7c6759433
2 changed files with 10 additions and 3 deletions

View File

@ -7,6 +7,7 @@ import com.earth2me.essentials.Util;
import java.util.List;
import java.util.Locale;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
@ -61,7 +62,7 @@ public class Commandhome extends EssentialsCommand
if (homes.isEmpty() && player.equals(user))
{
final Location bed = player.getBedSpawnLocation();
if (bed != null)
if (bed != null && bed.getBlock().getType() == Material.BED_BLOCK)
{
user.getTeleport().teleport(bed, charge, TeleportCause.COMMAND);
throw new NoChargeException();

View File

@ -8,6 +8,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
@ -36,7 +37,12 @@ public class EssentialsSpawnPlayerListener implements Listener
Location home = user.getHome(user.getLocation());
if (home == null)
{
home = user.getBedSpawnLocation();
final Location bed = user.getBedSpawnLocation();
if (bed.getBlock().getType() == Material.BED_BLOCK)
{
home = bed;
}
}
if (home != null)
{
@ -90,7 +96,7 @@ public class EssentialsSpawnPlayerListener implements Listener
{
return;
}
try
{
Location spawn = spawns.getSpawn(ess.getSettings().getNewbieSpawn());