1
0
mirror of https://github.com/garbagemule/MobArena.git synced 2025-03-28 22:45:52 +01:00

Rewrote teleport handling.

This commit is contained in:
Garbage Mule 2011-10-14 02:41:41 +02:00
parent 5165eda6df
commit fb678cc89f
3 changed files with 36 additions and 3 deletions
MobArena.jar
resources
src/com/garbagemule/MobArena

Binary file not shown.

View File

@ -1,6 +1,6 @@
name: MobArena
main: com.garbagemule.MobArena.MobArena
version: 0.94.3.18
version: 0.94.3.19
softdepend: [Spout,Permissions,MultiVerse,XcraftGate,Towny,Heroes,MagicSpells]
commands:
ma:

View File

@ -623,8 +623,41 @@ public class MAListener implements ArenaListener
arena.playerLeave(p);
}
public void onPlayerTeleport(PlayerTeleportEvent event)
{
if (!arena.enabled || !arena.setup || arena.allowWarp || arena.edit)
return;
Location to = event.getTo();
Location from = event.getFrom();
Player p = event.getPlayer();
if (arena.inRegion(from))
{
// Covers the case in which both locations are in the arena.
if ((arena.inRegion(to) && arena.running) || isWarp(to) || to.equals(arena.locations.get(p)))
return;
MAUtils.tellPlayer(p, Msg.WARP_FROM_ARENA);
event.setCancelled(true);
}
else if (arena.inRegion(to))
{
if (isWarp(from) || to.equals(arena.locations.get(p)))
return;
MAUtils.tellPlayer(p, Msg.WARP_TO_ARENA);
event.setCancelled(true);
}
}
private boolean isWarp(Location l)
{
return l.equals(arena.arenaLoc) || l.equals(arena.lobbyLoc) || l.equals(arena.spectatorLoc);
}
/*public void onPlayerTeleport(PlayerTeleportEvent event)
{
if (!arena.running || arena.edit || !arena.enabled || !arena.setup || arena.allowWarp)
return;
@ -668,7 +701,7 @@ public class MAListener implements ArenaListener
event.setCancelled(true);
return;
}
}
}*/
public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event)
{