1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-06 14:46:32 +02:00

Adjusting default spawn behavior.

Moving option in config file.
This commit is contained in:
KHobbits
2012-01-13 22:41:47 +00:00
parent f5d57efbba
commit 59b2c06ef8
4 changed files with 20 additions and 29 deletions

View File

@@ -39,7 +39,7 @@ public class EssentialsSpawn extends JavaPlugin
final EssentialsSpawnPlayerListener playerListener = new EssentialsSpawnPlayerListener(ess, spawns);
pluginManager.registerEvent(Type.PLAYER_RESPAWN, playerListener, ess.getSettings().getRespawnPriority(), this);
pluginManager.registerEvent(Type.PLAYER_JOIN, playerListener, Priority.Low, this);
pluginManager.registerEvent(Type.PLAYER_JOIN, playerListener, ess.getSettings().getRespawnPriority(), this);
LOGGER.info(_("loadinfo", this.getDescription().getName(), this.getDescription().getVersion(), "essentials team"));
}

View File

@@ -4,6 +4,7 @@ import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.IEssentials;
import com.earth2me.essentials.User;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.event.player.PlayerJoinEvent;
@@ -16,6 +17,7 @@ public class EssentialsSpawnPlayerListener extends PlayerListener
{
private final transient IEssentials ess;
private final transient SpawnStorage spawns;
private static final Logger LOGGER = Bukkit.getLogger();
public EssentialsSpawnPlayerListener(final IEssentials ess, final SpawnStorage spawns)
{
@@ -26,7 +28,7 @@ public class EssentialsSpawnPlayerListener extends PlayerListener
@Override
public void onPlayerRespawn(final PlayerRespawnEvent event)
{
{
final User user = ess.getUser(event.getPlayer());
if (ess.getSettings().getRespawnAtHome())
@@ -45,8 +47,12 @@ public class EssentialsSpawnPlayerListener extends PlayerListener
final Location spawn = spawns.getSpawn(user.getGroup());
if (spawn != null)
{
LOGGER.log(Level.INFO, "setting respawn location");
event.setRespawnLocation(spawn);
}
else {
LOGGER.log(Level.INFO, "spawn was null");
}
}
@Override
@@ -54,20 +60,22 @@ public class EssentialsSpawnPlayerListener extends PlayerListener
{
final User user = ess.getUser(event.getPlayer());
if (!user.isNew() || user.getBedSpawnLocation() != null)
if (user.hasPlayedBefore())
{
LOGGER.log(Level.FINE, "Old player join");
return;
}
user.setNew(false);
}
if (!"none".equalsIgnoreCase(ess.getSettings().getNewbieSpawn()))
{
ess.scheduleSyncDelayedTask(new NewPlayerTeleport(user));
ess.scheduleSyncDelayedTask(new NewPlayerTeleport(user), 1L);
}
if (ess.getSettings().getAnnounceNewPlayers())
{
ess.broadcastMessage(user, ess.getSettings().getAnnounceNewPlayerFormat(user));
}
LOGGER.log(Level.FINE, "New player join");
}