Archiviert
13
0

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.
Dieser Commit ist enthalten in:
EvilSeph 2012-01-29 06:36:43 -05:00
Ursprung c5a4bfd291
Commit f1a35effb0
3 geänderte Dateien mit 12 neuen und 3 gelöschten Zeilen

Datei anzeigen

@ -120,11 +120,15 @@ public class ServerConfigurationManager {
worldserver.chunkProviderServer.getChunkAt((int) entityplayer.locX >> 4, (int) entityplayer.locZ >> 4); worldserver.chunkProviderServer.getChunkAt((int) entityplayer.locX >> 4, (int) entityplayer.locZ >> 4);
// CraftBukkit start
if (!cserver.useExactLoginLocation()) {
while (worldserver.a(entityplayer, entityplayer.boundingBox).size() != 0) { while (worldserver.a(entityplayer, entityplayer.boundingBox).size() != 0) {
entityplayer.setPosition(entityplayer.locX, entityplayer.locY + 1.0D, entityplayer.locZ); 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."); PlayerJoinEvent playerJoinEvent = new PlayerJoinEvent(this.cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.name + " joined the game.");
this.cserver.getPluginManager().callEvent(playerJoinEvent); this.cserver.getPluginManager().callEvent(playerJoinEvent);

Datei anzeigen

@ -771,6 +771,10 @@ public final class CraftServer implements Server {
return this.console.allowFlight; return this.console.allowFlight;
} }
public boolean useExactLoginLocation() {
return configuration.getBoolean("settings.use-exact-login-location");
}
public ChunkGenerator getGenerator(String world) { public ChunkGenerator getGenerator(String world) {
ConfigurationSection section = configuration.getConfigurationSection("worlds"); ConfigurationSection section = configuration.getConfigurationSection("worlds");
ChunkGenerator result = null; ChunkGenerator result = null;

Datei anzeigen

@ -20,6 +20,7 @@ settings:
permissions-file: permissions.yml permissions-file: permissions.yml
update-folder: update update-folder: update
ping-packet-limit: 100 ping-packet-limit: 100
use-exact-login-location: false
aliases: aliases:
icanhasbukkit: icanhasbukkit:
- version - version