summaryrefslogtreecommitdiffstats
path: root/EssentialsSpawn
diff options
context:
space:
mode:
authorsnowleo <schneeleo@gmail.com>2012-01-18 04:01:01 +0100
committersnowleo <schneeleo@gmail.com>2012-01-18 04:01:01 +0100
commitf0dd81ee000b333b2aca59b9949518c7686cceb1 (patch)
treecf620b5603e1b25656550f87a37975b6dc5351af /EssentialsSpawn
parent27b0cc86de8c21f089e0e68a5db3ebb42f4df2d2 (diff)
parent5c1d49fd0efe56c24d6ae5f63f4d0cc31329243d (diff)
downloadEssentials-f0dd81ee000b333b2aca59b9949518c7686cceb1.tar
Essentials-f0dd81ee000b333b2aca59b9949518c7686cceb1.tar.gz
Essentials-f0dd81ee000b333b2aca59b9949518c7686cceb1.tar.lz
Essentials-f0dd81ee000b333b2aca59b9949518c7686cceb1.tar.xz
Essentials-f0dd81ee000b333b2aca59b9949518c7686cceb1.zip
Merge branch 'refs/heads/master' into 3.0
Did some tweaks, so that it actually works. Conflicts: Essentials/src/com/earth2me/essentials/Essentials.java Essentials/src/com/earth2me/essentials/User.java Essentials/src/com/earth2me/essentials/Util.java Essentials/src/com/earth2me/essentials/commands/Commandhelpop.java Essentials/src/com/earth2me/essentials/commands/Commanditemdb.java Essentials/src/com/earth2me/essentials/commands/Commandmail.java Essentials/src/com/earth2me/essentials/commands/Commandme.java Essentials/src/com/earth2me/essentials/commands/Commandmsg.java Essentials/src/com/earth2me/essentials/commands/Commandnick.java Essentials/src/com/earth2me/essentials/commands/Commandr.java Essentials/src/com/earth2me/essentials/listener/EssentialsPlayerListener.java EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerLowest.java EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectBlockListener.java EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawn.java EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java build.xml
Diffstat (limited to 'EssentialsSpawn')
-rw-r--r--EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandsetspawn.java2
-rw-r--r--EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java4
-rw-r--r--EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawn.java5
-rw-r--r--EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java30
4 files changed, 17 insertions, 24 deletions
diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandsetspawn.java b/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandsetspawn.java
index 036276770..d0383bd4a 100644
--- a/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandsetspawn.java
+++ b/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandsetspawn.java
@@ -8,7 +8,7 @@ import com.earth2me.essentials.commands.EssentialsCommand;
public class Commandsetspawn extends EssentialsCommand
{
@Override
- public void run(final IUser user, final String[] args) throws Exception
+ public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
final String group = args.length > 0 ? getFinalArg(args, 0) : "default";
((SpawnStorage)module).setSpawn(user.getLocation(), group);
diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java b/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java
index b70a522fb..07532653c 100644
--- a/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java
+++ b/EssentialsSpawn/src/com/earth2me/essentials/spawn/Commandspawn.java
@@ -13,7 +13,7 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
public class Commandspawn extends EssentialsCommand
{
@Override
- public void run(final IUser user, final String[] args) throws Exception
+ public void run(final IUser user, final String commandLabel, final String[] args) throws Exception
{
final Trade charge = new Trade(commandName, ess);
charge.isAffordableFor(user);
@@ -34,7 +34,7 @@ public class Commandspawn extends EssentialsCommand
}
@Override
- protected void run(final CommandSender sender, final String[] args) throws Exception
+ protected void run(final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawn.java b/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawn.java
index 8cbd57c31..2e4b5eaa6 100644
--- a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawn.java
+++ b/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawn.java
@@ -9,7 +9,6 @@ import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
-import org.bukkit.event.Event.Priority;
import org.bukkit.event.Event.Type;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
@@ -38,12 +37,12 @@ public class EssentialsSpawn extends JavaPlugin
spawns = new SpawnStorage(ess);
ess.addReloadListener(spawns);
-
+
commandHandler = new EssentialsCommandHandler(EssentialsSpawn.class.getClassLoader(), "com.earth2me.essentials.spawn.Command", "essentials.", spawns, ess);
final EssentialsSpawnPlayerListener playerListener = new EssentialsSpawnPlayerListener(ess, spawns);
pluginManager.registerEvent(Type.PLAYER_RESPAWN, playerListener, spawns.getRespawnPriority(), this);
- pluginManager.registerEvent(Type.PLAYER_JOIN, playerListener, Priority.Low, this);
+ pluginManager.registerEvent(Type.PLAYER_JOIN, playerListener, spawns.getRespawnPriority(), this);
LOGGER.info(_("loadinfo", this.getDescription().getName(), this.getDescription().getVersion(), "essentials team"));
}
diff --git a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java b/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java
index a345b3f30..08bb4d739 100644
--- a/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java
+++ b/EssentialsSpawn/src/com/earth2me/essentials/spawn/EssentialsSpawnPlayerListener.java
@@ -29,13 +29,16 @@ public class EssentialsSpawnPlayerListener extends PlayerListener
public void onPlayerRespawn(final PlayerRespawnEvent event)
{
final IUser user = ess.getUser(event.getPlayer());
-
+
boolean respawnAtHome = false;
- ISettings settings = ess.getSettings();
+ final ISettings settings = ess.getSettings();
settings.acquireReadLock();
- try {
+ try
+ {
respawnAtHome = ess.getSettings().getData().getCommands().getHome().isRespawnAtHome();
- } finally {
+ }
+ finally
+ {
settings.unlock();
}
if (respawnAtHome)
@@ -62,24 +65,15 @@ public class EssentialsSpawnPlayerListener extends PlayerListener
public void onPlayerJoin(final PlayerJoinEvent event)
{
final IUser user = ess.getUser(event.getPlayer());
- user.acquireReadLock();
- try
- {
- if (!user.getData().isNewplayer() || user.getBedSpawnLocation() != null)
- {
- return;
- }
- user.acquireWriteLock();
- user.getData().setNewplayer(false);
- }
- finally
+ if (user.hasPlayedBefore())
{
- user.unlock();
+ return;
}
+
if (spawns.getNewbieSpawn() != null)
{
- ess.scheduleSyncDelayedTask(new NewPlayerTeleport(user));
+ ess.scheduleSyncDelayedTask(new NewPlayerTeleport(user), 1L);
}
if (spawns.getAnnounceNewPlayers())
@@ -103,7 +97,7 @@ public class EssentialsSpawnPlayerListener extends PlayerListener
{
try
{
- Location spawn = spawns.getNewbieSpawn();
+ final Location spawn = spawns.getNewbieSpawn();
if (spawn != null)
{
user.getTeleport().now(spawn, false, TeleportCause.PLUGIN);