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:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user