Merge pull request #56 from Xephi/master

Up
This commit is contained in:
Gabriele C 2015-10-23 17:18:21 +02:00
commit 1306ef38b4

View File

@ -153,6 +153,7 @@ public class AsyncronousJoin {
if (!Settings.noTeleport) if (!Settings.noTeleport)
if (!needFirstspawn() && Settings.isTeleportToSpawnEnabled || (Settings.isForceSpawnLocOnJoinEnabled && Settings.getForcedWorlds.contains(player.getWorld().getName()))) { if (!needFirstspawn() && Settings.isTeleportToSpawnEnabled || (Settings.isForceSpawnLocOnJoinEnabled && Settings.getForcedWorlds.contains(player.getWorld().getName()))) {
sched.scheduleSyncDelayedTask(plugin, new Runnable() { sched.scheduleSyncDelayedTask(plugin, new Runnable() {
@Override @Override
public void run() { public void run() {
SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawnLoc, PlayerCache.getInstance().isAuthenticated(name)); SpawnTeleportEvent tpEvent = new SpawnTeleportEvent(player, player.getLocation(), spawnLoc, PlayerCache.getInstance().isAuthenticated(name));
@ -259,7 +260,6 @@ public class AsyncronousJoin {
private void placePlayerSafely(final Player player, private void placePlayerSafely(final Player player,
final Location spawnLoc) { final Location spawnLoc) {
Location loc = null;
if (spawnLoc == null) if (spawnLoc == null)
return; return;
if (!Settings.noTeleport) if (!Settings.noTeleport)
@ -268,6 +268,11 @@ public class AsyncronousJoin {
return; return;
if (!player.hasPlayedBefore()) if (!player.hasPlayedBefore())
return; return;
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
Location loc = null;
Block b = player.getLocation().getBlock(); Block b = player.getLocation().getBlock();
if (b.getType() == Material.PORTAL || b.getType() == Material.ENDER_PORTAL) { if (b.getType() == Material.PORTAL || b.getType() == Material.ENDER_PORTAL) {
m.send(player, "unsafe_spawn"); m.send(player, "unsafe_spawn");
@ -281,17 +286,11 @@ public class AsyncronousJoin {
loc = spawnLoc; loc = spawnLoc;
} }
} }
if (loc != null) { if (loc != null)
final Location floc = loc; player.teleport(loc);
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
player.teleport(floc);
} }
}); });
} }
}
} }