summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/ServerConfigurationManager.java
diff options
context:
space:
mode:
authorEvilSeph <evilseph@gmail.com>2012-01-29 06:36:43 -0500
committerEvilSeph <evilseph@gmail.com>2012-01-29 12:33:05 -0500
commitf1a35effb05e06c0ae5556f76234a41e3ae3704e (patch)
tree25065c39fcbd42e3c036062db674d2e4df091273 /src/main/java/net/minecraft/server/ServerConfigurationManager.java
parentc5a4bfd291af3a381a8c3f2a4a81766522039236 (diff)
downloadcraftbukkit-f1a35effb05e06c0ae5556f76234a41e3ae3704e.tar
craftbukkit-f1a35effb05e06c0ae5556f76234a41e3ae3704e.tar.gz
craftbukkit-f1a35effb05e06c0ae5556f76234a41e3ae3704e.tar.lz
craftbukkit-f1a35effb05e06c0ae5556f76234a41e3ae3704e.tar.xz
craftbukkit-f1a35effb05e06c0ae5556f76234a41e3ae3704e.zip
Added useExactLoginLocation(). Closes BUKKIT-145
useExactLoginLocation() looks for settings.use-exact-login-location within bukkit.yml. If true, we will bypass Vanilla's behaviour of checking for collisions and moving the player if needed when they login. If false, we will continue to follow Vanilla's behaviour and move players that 'collide' with objects when they login.
Diffstat (limited to 'src/main/java/net/minecraft/server/ServerConfigurationManager.java')
-rw-r--r--src/main/java/net/minecraft/server/ServerConfigurationManager.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main/java/net/minecraft/server/ServerConfigurationManager.java b/src/main/java/net/minecraft/server/ServerConfigurationManager.java
index f6595e3e..62d37089 100644
--- a/src/main/java/net/minecraft/server/ServerConfigurationManager.java
+++ b/src/main/java/net/minecraft/server/ServerConfigurationManager.java
@@ -120,11 +120,15 @@ public class ServerConfigurationManager {
worldserver.chunkProviderServer.getChunkAt((int) entityplayer.locX >> 4, (int) entityplayer.locZ >> 4);
- while (worldserver.a(entityplayer, entityplayer.boundingBox).size() != 0) {
- entityplayer.setPosition(entityplayer.locX, entityplayer.locY + 1.0D, entityplayer.locZ);
+ // CraftBukkit start
+ if (!cserver.useExactLoginLocation()) {
+ while (worldserver.a(entityplayer, entityplayer.boundingBox).size() != 0) {
+ entityplayer.setPosition(entityplayer.locX, entityplayer.locY + 1.0D, entityplayer.locZ);
+ }
+ } else {
+ entityplayer.setPosition(entityplayer.locX, entityplayer.locY + entityplayer.getBukkitEntity().getEyeHeight(), entityplayer.locZ);
}
- // CraftBukkit start
PlayerJoinEvent playerJoinEvent = new PlayerJoinEvent(this.cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.name + " joined the game.");
this.cserver.getPluginManager().callEvent(playerJoinEvent);