mirror of
https://github.com/garbagemule/MobArena.git
synced 2025-02-17 04:51:28 +01:00
Add optional per-arena exit warp.
This commit is contained in:
parent
f43293a376
commit
dbe5f4d20f
@ -1,7 +1,7 @@
|
||||
name: MobArena
|
||||
author: garbagemule
|
||||
main: com.garbagemule.MobArena.MobArena
|
||||
version: 0.95.5.5
|
||||
version: 0.95.5.8
|
||||
softdepend: [Spout,Towny,Heroes,MagicSpells,Vault]
|
||||
commands:
|
||||
ma:
|
||||
|
@ -826,6 +826,7 @@ public class ArenaImpl implements Arena
|
||||
|
||||
// If there's no player stored, create a new one!
|
||||
if (mp == null) {
|
||||
if (region.getExitWarp() != null) loc = region.getExitWarp();
|
||||
mp = new PlayerData(p, loc);
|
||||
playerData.put(p, mp);
|
||||
}
|
||||
|
@ -9,15 +9,20 @@ import com.garbagemule.MobArena.*;
|
||||
import com.garbagemule.MobArena.commands.*;
|
||||
import com.garbagemule.MobArena.framework.ArenaMaster;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@CommandInfo(
|
||||
name = "setwarp",
|
||||
pattern = "set(warp|point)",
|
||||
usage = "/ma setwarp arena|lobby|spectator",
|
||||
usage = "/ma setwarp arena|lobby|spectator|exit",
|
||||
desc = "set a warp point for an arena",
|
||||
permission = "mobarena.setup.setwarp"
|
||||
)
|
||||
public class SetWarpCommand implements Command
|
||||
{
|
||||
private static final List<String> WARPS = Arrays.asList("arena", "lobby", "spectator", "exit");
|
||||
|
||||
@Override
|
||||
public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
|
||||
if (!Commands.isPlayer(sender)) {
|
||||
@ -30,8 +35,11 @@ public class SetWarpCommand implements Command
|
||||
|
||||
// Cast the sender.
|
||||
Player p = (Player) sender;
|
||||
|
||||
if (!(arg1.equals("arena") || arg1.equals("lobby") || arg1.equals("spectator"))) {
|
||||
|
||||
// spec -> spectator
|
||||
if (arg1.equals("spec")) arg1 = "spectator";
|
||||
|
||||
if (!WARPS.contains(arg1)) {
|
||||
Messenger.tellPlayer(sender, "Usage: /ma setwarp arena|lobby|spectator");
|
||||
return true;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ public class ArenaRegion
|
||||
private World world;
|
||||
|
||||
private Location lastP1, lastP2, lastL1, lastL2;
|
||||
private Location p1, p2, l1, l2, arenaWarp, lobbyWarp, specWarp, leaderboard;
|
||||
private Location p1, p2, l1, l2, arenaWarp, lobbyWarp, specWarp, exitWarp, leaderboard;
|
||||
private Map<String,Location> spawnpoints, containers;
|
||||
|
||||
private boolean setup, lobbySetup;
|
||||
@ -77,6 +77,7 @@ public class ArenaRegion
|
||||
arenaWarp = coords.getLocation("arena", world);
|
||||
lobbyWarp = coords.getLocation("lobby", world);
|
||||
specWarp = coords.getLocation("spectator", world);
|
||||
exitWarp = coords.getLocation("exit", world);
|
||||
|
||||
leaderboard = coords.getLocation("leaderboard", world);
|
||||
}
|
||||
@ -177,7 +178,8 @@ public class ArenaRegion
|
||||
public boolean isWarp(Location l) {
|
||||
return (l.equals(arenaWarp) ||
|
||||
l.equals(lobbyWarp) ||
|
||||
l.equals(specWarp));
|
||||
l.equals(specWarp) ||
|
||||
l.equals(exitWarp));
|
||||
}
|
||||
|
||||
public boolean contains(Location l) {
|
||||
@ -363,6 +365,10 @@ public class ArenaRegion
|
||||
public Location getSpecWarp() {
|
||||
return specWarp;
|
||||
}
|
||||
|
||||
public Location getExitWarp() {
|
||||
return exitWarp;
|
||||
}
|
||||
|
||||
public Location getSpawnpoint(String name) {
|
||||
return spawnpoints.get(name);
|
||||
@ -393,6 +399,7 @@ public class ArenaRegion
|
||||
case L2: setPoint(point, loc); return;
|
||||
case ARENA:
|
||||
case LOBBY:
|
||||
case EXIT:
|
||||
case SPECTATOR: setWarp(point, loc); return;
|
||||
case LEADERBOARD: setLeaderboard(loc); return;
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ public enum RegionPoint {
|
||||
ARENA,
|
||||
LOBBY,
|
||||
SPECTATOR,
|
||||
EXIT,
|
||||
LEADERBOARD;
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user