Move some stuff down to prevent concurrency issues, see #315

This commit is contained in:
md_5
2013-01-08 14:43:09 +11:00
parent e4ee6f944d
commit 208dcc0160

View File

@@ -552,20 +552,17 @@ public class CommandsHandler implements CommandExecutor
final Player player = (Player)sender;
final int y = rs.getInt(2);
final Location loc = new Location(params.world, rs.getInt(1) + 0.5, y, rs.getInt(3) + 0.5, player.getLocation().getYaw(), 90);
final int y2 = saveSpawnHeight(loc);
loc.setY(y2);
// Teleport the player sync because omg thread safety
logblock.getServer().getScheduler().scheduleSyncDelayedTask(logblock, new Runnable() {
@Override
public void run() {
final int y2 = saveSpawnHeight(loc);
loc.setY(y2);
player.teleport(loc);
sender.sendMessage(ChatColor.GREEN + "You were teleported " + Math.abs(y2 - y) + " blocks " + (y2 - y > 0 ? "above" : "below"));
}
});
sender.sendMessage(ChatColor.GREEN + "You were teleported " + Math.abs(y2 - y) + " blocks " + (y2 - y > 0 ? "above" : "below"));
} else
sender.sendMessage(ChatColor.RED + "No block change found to teleport to");
} catch (final Exception ex) {