If you're going to make it a GM command, you're not gonna need a map edit (assuming with "map edit" you mean adding the NPC that was supposed to carry such function; ofcourse, if the map is a custom map, you're still gonna need it implemented for everyone).
About the "is player in map?" check; you could make the MovePlayer function warp "every player who is in the map", instead of having to check each player's presence.
Note that this also depends on how the bootcamp is supposed to work; for example, I'm assuming that a player who disconnects before the 60 minutes are up, would be warped to a safe location outside, so please make sure to verify this.
So, as an extremely generic idea, what you could do is like
if character is using the bootcamp command {
warp player [or players? depends on the bootcamp nature] to bootcamp map
[code eventual stuff that's needed in bootcamp]
schedule the MovePlayer function 60*60*1000 milliseconds from now [one hour of bootcamp time]
}
[STRIKE]In the same file, then, you will code the MovePlayer function, that will get all the players in the map and warp them one by one to the new location.[/STRIKE]
I coded too much Javascript.
TimerManager.getInstance().schedule requires a Runnable as first parameter, so all you'd have to do is code a quick anonymous class by calling the
Runnable interface, making sure to override its
run() method:
PHP:
TimerManager.getInstance().schedule(new Runnable() {
@Override
public void run() {
// code to activate when the 60 minutes have passed goes here
}
}, 60*60*1000);
Note: in this function, you can also access local variables, provided they were declared as
final. So, if you need any variable data you already gathered out of the scheduling function, you can make use of this.