1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-16 11:37:30 +02:00

New behavior of the /home command and beds

- The behavior has been altered to match the vanilla server.
 - Using a bed will no longer create a home in the users file, if config option bed-sethome is set
 - The config option bed-sethome has been removed
 - It's now possible to go to /home bed or /home playername:bed
 - Bed locations stored before installing Essentials will be used
 - Players respawn at their bed location (if set) instead of the spawn, if respawn-at-home is set to false
 - The default value of spawn-if-no-home is set to true
 - If spawn-if-no-home is set and the player has not set a home, he will be either teleported to his bed location (if set) or the spawn, when he uses the /home command
This commit is contained in:
snowleo
2011-11-26 22:30:40 +01:00
parent f9d14697b6
commit b21b7b7e15
9 changed files with 70 additions and 93 deletions

View File

@@ -15,8 +15,9 @@ public class EssentialsSpawnPlayerListener extends PlayerListener
{
private final transient IEssentials ess;
public EssentialsSpawnPlayerListener(IEssentials ess)
public EssentialsSpawnPlayerListener(final IEssentials ess)
{
super();
this.ess = ess;
}
@@ -25,28 +26,24 @@ public class EssentialsSpawnPlayerListener extends PlayerListener
{
final User user = ess.getUser(event.getPlayer());
try
if (ess.getSettings().getRespawnAtHome())
{
if (ess.getSettings().getRespawnAtHome())
Location home = user.getHome(user.getLocation());
if (home == null)
{
home = user.getBedSpawnLocation();
}
if (home != null)
{
Location home = user.getHome(user.getLocation());
if (home == null)
{
throw new Exception();
}
event.setRespawnLocation(home);
return;
}
}
catch (Throwable ex)
final Location spawn = ess.getSpawn().getSpawn(user.getGroup());
if (spawn != null)
{
event.setRespawnLocation(spawn);
}
Location spawn = ess.getSpawn().getSpawn(user.getGroup());
if (spawn == null)
{
return;
}
event.setRespawnLocation(spawn);
}
@Override
@@ -54,7 +51,7 @@ public class EssentialsSpawnPlayerListener extends PlayerListener
{
final User user = ess.getUser(event.getPlayer());
if (!user.isNew())
if (!user.isNew() || user.getBedSpawnLocation() != null)
{
return;
}