Fixed allow-nether being ignored

This commit is contained in:
Nathan Adams 2011-11-24 18:48:01 +00:00
parent de7402ea8e
commit c6beae8872
3 changed files with 14 additions and 10 deletions

View File

@ -203,18 +203,18 @@ public class MinecraftServer implements Runnable, ICommandListener, IMinecraftSe
log.info("Default game type: " + j);
// CraftBukkit start (+ removed worldsettings and servernbtmanager)
int worldCount = 2;
if (this.propertyManager.getBoolean("allow-nether", true)) {
worldCount++;
}
int worldCount = 3;
for (int k = 0; k < worldCount; ++k) {
WorldServer world;
int dimension = 0;
if (k == 1) {
if (this.propertyManager.getBoolean("allow-nether", true)) {
dimension = -1;
} else {
continue;
}
}
if (k == 2) {

View File

@ -217,10 +217,10 @@ public class ServerConfigurationManager {
// CraftBukkit start
public EntityPlayer moveToWorld(EntityPlayer entityplayer, int i, boolean flag) {
return this.moveToWorld(entityplayer, i, null);
return this.moveToWorld(entityplayer, i, flag, null);
}
public EntityPlayer moveToWorld(EntityPlayer entityplayer, int i, Location location) {
public EntityPlayer moveToWorld(EntityPlayer entityplayer, int i, boolean flag, Location location) {
this.server.getTracker(entityplayer.dimension).untrackPlayer(entityplayer);
// this.server.getTracker(entityplayer.dimension).untrackEntity(entityplayer); // CraftBukkit
this.getPlayerManager(entityplayer.dimension).removePlayer(entityplayer);
@ -232,6 +232,10 @@ public class ServerConfigurationManager {
EntityPlayer entityplayer1 = entityplayer;
org.bukkit.World fromWorld = entityplayer1.getBukkitEntity().getWorld();
if (flag) {
entityplayer1.copyTo(entityplayer);
}
if (location == null) {
boolean isBedSpawn = false;
CraftWorld cworld = (CraftWorld) this.server.server.getWorld(entityplayer.spawnWorld);
@ -328,7 +332,7 @@ public class ServerConfigurationManager {
finalLocation = event.getPortalTravelAgent().findOrCreate(finalLocation);
}
toWorld = ((CraftWorld) finalLocation.getWorld()).getHandle();
this.moveToWorld(entityplayer, toWorld.dimension, finalLocation);
this.moveToWorld(entityplayer, toWorld.dimension, true, finalLocation);
// CraftBukkit end
}

View File

@ -324,7 +324,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (fromWorld == toWorld) {
entity.netServerHandler.teleport(to);
} else {
server.getHandle().moveToWorld(entity, toWorld.dimension, to);
server.getHandle().moveToWorld(entity, toWorld.dimension, true, to);
}
return true;
}