diff options
author | James Clarke <jamesrtclarke@me.com> | 2012-02-15 19:59:17 +0000 |
---|---|---|
committer | EvilSeph <evilseph@gmail.com> | 2012-02-29 14:23:12 -0500 |
commit | cd90cec48c5f13b1856350dd3675a9bb5b8171ed (patch) | |
tree | 8d03a80612658ca18df75fa79c041f8e6d3c7921 /src/main | |
parent | 53e4a034f4cb1171d22821da5f4a398d125f6576 (diff) | |
download | craftbukkit-cd90cec48c5f13b1856350dd3675a9bb5b8171ed.tar craftbukkit-cd90cec48c5f13b1856350dd3675a9bb5b8171ed.tar.gz craftbukkit-cd90cec48c5f13b1856350dd3675a9bb5b8171ed.tar.lz craftbukkit-cd90cec48c5f13b1856350dd3675a9bb5b8171ed.tar.xz craftbukkit-cd90cec48c5f13b1856350dd3675a9bb5b8171ed.zip |
Implemented TeleportCause enums. Addresses BUKKIT-265
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/net/minecraft/server/ServerConfigurationManager.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/main/java/net/minecraft/server/ServerConfigurationManager.java b/src/main/java/net/minecraft/server/ServerConfigurationManager.java index 1ee34a70..001477a1 100644 --- a/src/main/java/net/minecraft/server/ServerConfigurationManager.java +++ b/src/main/java/net/minecraft/server/ServerConfigurationManager.java @@ -23,6 +23,7 @@ import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerRespawnEvent; +import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; import org.bukkit.Bukkit; // CraftBukkit end @@ -351,8 +352,27 @@ public class ServerConfigurationManager { } } + TeleportCause cause = TeleportCause.UNKNOWN; + int playerEnvironmentId = entityplayer.getBukkitEntity().getWorld().getEnvironment().getId(); + switch (dimension) { + case -1: + cause = TeleportCause.NETHER_PORTAL; + break; + case 0: + if (playerEnvironmentId == -1) { + cause = TeleportCause.NETHER_PORTAL; + } else if (playerEnvironmentId == 1) { + cause = TeleportCause.END_PORTAL; + } + + break; + case 1: + cause = TeleportCause.END_PORTAL; + break; + } + org.bukkit.craftbukkit.PortalTravelAgent pta = new org.bukkit.craftbukkit.PortalTravelAgent(); - PlayerPortalEvent event = new PlayerPortalEvent((Player) entityplayer.getBukkitEntity(), fromLocation, toLocation, pta); + PlayerPortalEvent event = new PlayerPortalEvent((Player) entityplayer.getBukkitEntity(), fromLocation, toLocation, pta, cause); if (entityplayer.dimension == 1) { event.useTravelAgent(false); |