Update CraftBukkit to Minecraft 1.4(.2).
This commit is contained in:
@@ -4,6 +4,7 @@ import java.io.File;
|
||||
import java.net.SocketAddress;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
@@ -91,10 +92,10 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
// this.sendAll(new Packet3Chat("\u00A7e" + entityplayer.name + " joined the game.")); // CraftBukkit - handled in event
|
||||
this.c(entityplayer);
|
||||
netserverhandler.a(entityplayer.locX, entityplayer.locY, entityplayer.locZ, entityplayer.yaw, entityplayer.pitch);
|
||||
this.server.ac().a(netserverhandler);
|
||||
netserverhandler.sendPacket(new Packet4UpdateTime(worldserver.getTime()));
|
||||
this.server.ae().a(netserverhandler);
|
||||
netserverhandler.sendPacket(new Packet4UpdateTime(worldserver.getTime(), worldserver.F()));
|
||||
if (this.server.getTexturePack().length() > 0) {
|
||||
entityplayer.a(this.server.getTexturePack(), this.server.R());
|
||||
entityplayer.a(this.server.getTexturePack(), this.server.S());
|
||||
}
|
||||
|
||||
Iterator iterator = entityplayer.getEffects().iterator();
|
||||
@@ -114,7 +115,7 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
}
|
||||
|
||||
public void a(EntityPlayer entityplayer, WorldServer worldserver) {
|
||||
WorldServer worldserver1 = entityplayer.q();
|
||||
WorldServer worldserver1 = entityplayer.p();
|
||||
|
||||
if (worldserver != null) {
|
||||
worldserver.getPlayerManager().removePlayer(entityplayer);
|
||||
@@ -129,9 +130,9 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
}
|
||||
|
||||
public void a(EntityPlayer entityplayer) {
|
||||
NBTTagCompound nbttagcompound = this.server.worlds.get(0).getWorldData().h(); // CraftBukkit
|
||||
NBTTagCompound nbttagcompound = this.server.worlds.get(0).getWorldData().i(); // CraftBukkit
|
||||
|
||||
if (entityplayer.getName().equals(this.server.G()) && nbttagcompound != null) {
|
||||
if (entityplayer.getName().equals(this.server.H()) && nbttagcompound != null) {
|
||||
entityplayer.e(nbttagcompound);
|
||||
} else {
|
||||
this.playerFileData.load(entityplayer);
|
||||
@@ -195,7 +196,7 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
}
|
||||
|
||||
public void d(EntityPlayer entityplayer) {
|
||||
entityplayer.q().getPlayerManager().movePlayer(entityplayer);
|
||||
entityplayer.p().getPlayerManager().movePlayer(entityplayer);
|
||||
}
|
||||
|
||||
public String disconnect(EntityPlayer entityplayer) { // CraftBukkit - return string
|
||||
@@ -207,7 +208,7 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
// CraftBukkit end
|
||||
|
||||
this.b(entityplayer);
|
||||
WorldServer worldserver = entityplayer.q();
|
||||
WorldServer worldserver = entityplayer.p();
|
||||
|
||||
worldserver.kill(entityplayer);
|
||||
worldserver.getPlayerManager().removePlayer(entityplayer);
|
||||
@@ -232,7 +233,7 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
// Instead of kicking then returning, we need to store the kick reason
|
||||
// in the event, check with plugins to see if it's ok, and THEN kick
|
||||
// depending on the outcome.
|
||||
EntityPlayer entity = new EntityPlayer(this.server, this.server.getWorldServer(0), s, this.server.L() ? new DemoItemInWorldManager(this.server.getWorldServer(0)) : new ItemInWorldManager(this.server.getWorldServer(0)));
|
||||
EntityPlayer entity = new EntityPlayer(this.server, this.server.getWorldServer(0), s, this.server.M() ? new DemoItemInWorldManager(this.server.getWorldServer(0)) : new ItemInWorldManager(this.server.getWorldServer(0)));
|
||||
Player player = entity.getBukkitEntity();
|
||||
PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, netloginhandler.getSocket().getInetAddress());
|
||||
|
||||
@@ -304,7 +305,7 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
/* CraftBukkit start
|
||||
Object object;
|
||||
|
||||
if (this.server.L()) {
|
||||
if (this.server.M()) {
|
||||
object = new DemoItemInWorldManager(this.server.getWorldServer(0));
|
||||
} else {
|
||||
object = new ItemInWorldManager(this.server.getWorldServer(0));
|
||||
@@ -323,12 +324,13 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
|
||||
public EntityPlayer moveToWorld(EntityPlayer entityplayer, int i, boolean flag, Location location) {
|
||||
// CraftBukkit end
|
||||
entityplayer.q().getTracker().untrackPlayer(entityplayer);
|
||||
// entityplayer.q().getTracker().untrackEntity(entityplayer); // CraftBukkit
|
||||
entityplayer.q().getPlayerManager().removePlayer(entityplayer);
|
||||
entityplayer.p().getTracker().untrackPlayer(entityplayer);
|
||||
// entityplayer.p().getTracker().untrackEntity(entityplayer); // CraftBukkit
|
||||
entityplayer.p().getPlayerManager().removePlayer(entityplayer);
|
||||
this.players.remove(entityplayer);
|
||||
this.server.getWorldServer(entityplayer.dimension).removeEntity(entityplayer);
|
||||
ChunkCoordinates chunkcoordinates = entityplayer.getBed();
|
||||
boolean flag1 = entityplayer.isRespawnForced();
|
||||
|
||||
// CraftBukkit start
|
||||
EntityPlayer entityplayer1 = entityplayer;
|
||||
@@ -342,12 +344,12 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
boolean isBedSpawn = false;
|
||||
CraftWorld cworld = (CraftWorld) this.server.server.getWorld(entityplayer.spawnWorld);
|
||||
if (cworld != null && chunkcoordinates != null) {
|
||||
chunkcoordinates1 = EntityHuman.getBed(cworld.getHandle(), chunkcoordinates);
|
||||
chunkcoordinates1 = EntityHuman.getBed(cworld.getHandle(), chunkcoordinates, flag);
|
||||
if (chunkcoordinates1 != null) {
|
||||
isBedSpawn = true;
|
||||
location = new Location(cworld, chunkcoordinates1.x + 0.5, chunkcoordinates1.y, chunkcoordinates1.z + 0.5);
|
||||
} else {
|
||||
entityplayer1.setRespawnPosition(null);
|
||||
entityplayer1.setRespawnPosition(null, true);
|
||||
entityplayer1.netServerHandler.sendPacket(new Packet70Bed(0, 0));
|
||||
}
|
||||
}
|
||||
@@ -389,6 +391,7 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
chunkcoordinates1 = worldserver.getSpawn();
|
||||
// CraftBukkit end
|
||||
entityplayer1.netServerHandler.sendPacket(new Packet6SpawnPosition(chunkcoordinates1.x, chunkcoordinates1.y, chunkcoordinates1.z));
|
||||
entityplayer1.netServerHandler.sendPacket(new Packet43SetExperience(entityplayer1.exp, entityplayer1.expTotal, entityplayer1.expLevel));
|
||||
this.b(entityplayer1, worldserver);
|
||||
worldserver.getPlayerManager().addPlayer(entityplayer1);
|
||||
worldserver.addEntity(entityplayer1);
|
||||
@@ -485,6 +488,61 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
public void a(Entity entity, int i, WorldServer worldserver, WorldServer worldserver1) {
|
||||
double d0 = entity.locX;
|
||||
double d1 = entity.locZ;
|
||||
double d2 = 8.0D;
|
||||
double d3 = entity.locX;
|
||||
double d4 = entity.locY;
|
||||
double d5 = entity.locZ;
|
||||
float f = entity.yaw;
|
||||
|
||||
if (entity.dimension == -1) {
|
||||
d0 /= d2;
|
||||
d1 /= d2;
|
||||
entity.setPositionRotation(d0, entity.locY, d1, entity.yaw, entity.pitch);
|
||||
if (entity.isAlive()) {
|
||||
worldserver.entityJoinedWorld(entity, false);
|
||||
}
|
||||
} else if (entity.dimension == 0) {
|
||||
d0 *= d2;
|
||||
d1 *= d2;
|
||||
entity.setPositionRotation(d0, entity.locY, d1, entity.yaw, entity.pitch);
|
||||
if (entity.isAlive()) {
|
||||
worldserver.entityJoinedWorld(entity, false);
|
||||
}
|
||||
} else {
|
||||
ChunkCoordinates chunkcoordinates;
|
||||
|
||||
if (i == 1) {
|
||||
chunkcoordinates = worldserver1.getSpawn();
|
||||
} else {
|
||||
chunkcoordinates = worldserver1.getDimensionSpawn();
|
||||
}
|
||||
|
||||
d0 = (double) chunkcoordinates.x;
|
||||
entity.locY = (double) chunkcoordinates.y;
|
||||
d1 = (double) chunkcoordinates.z;
|
||||
entity.setPositionRotation(d0, entity.locY, d1, 90.0F, 0.0F);
|
||||
if (entity.isAlive()) {
|
||||
worldserver.entityJoinedWorld(entity, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (i != 1) {
|
||||
d0 = (double) MathHelper.a((int) d0, -29999872, 29999872);
|
||||
d1 = (double) MathHelper.a((int) d1, -29999872, 29999872);
|
||||
if (entity.isAlive()) {
|
||||
worldserver1.addEntity(entity);
|
||||
entity.setPositionRotation(d0, entity.locY, d1, entity.yaw, entity.pitch);
|
||||
worldserver1.entityJoinedWorld(entity, false);
|
||||
(new PortalTravelAgent()).a(worldserver1, entity, d3, d4, d5, f);
|
||||
}
|
||||
}
|
||||
|
||||
entity.spawnIn(worldserver1);
|
||||
}
|
||||
|
||||
public void tick() {
|
||||
if (++this.o > 600) {
|
||||
this.o = 0;
|
||||
@@ -578,7 +636,7 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
|
||||
public boolean isOp(String s) {
|
||||
// CraftBukkit
|
||||
return this.operators.contains(s.trim().toLowerCase()) || this.server.H() && this.server.worlds.get(0).getWorldData().allowCommands() && this.server.G().equalsIgnoreCase(s) || this.n;
|
||||
return this.operators.contains(s.trim().toLowerCase()) || this.server.I() && this.server.worlds.get(0).getWorldData().allowCommands() && this.server.H().equalsIgnoreCase(s) || this.n;
|
||||
}
|
||||
|
||||
public EntityPlayer f(String s) {
|
||||
@@ -597,8 +655,51 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
return entityplayer;
|
||||
}
|
||||
|
||||
public List a(ChunkCoordinates chunkcoordinates, int i, int j, int k, int l, int i1, int j1) {
|
||||
if (this.players.isEmpty()) {
|
||||
return null;
|
||||
} else {
|
||||
Object object = new ArrayList();
|
||||
boolean flag = k < 0;
|
||||
int k1 = i * i;
|
||||
int l1 = j * j;
|
||||
|
||||
k = MathHelper.a(k);
|
||||
|
||||
for (int i2 = 0; i2 < this.players.size(); ++i2) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) this.players.get(i2);
|
||||
|
||||
if (chunkcoordinates != null && (i > 0 || j > 0)) {
|
||||
float f = chunkcoordinates.e(entityplayer.b());
|
||||
|
||||
if (i > 0 && f < (float) k1 || j > 0 && f > (float) l1) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ((l == EnumGamemode.NONE.a() || l == entityplayer.itemInWorldManager.getGameMode().a()) && (i1 <= 0 || entityplayer.expLevel >= i1) && entityplayer.expLevel <= j1) {
|
||||
((List) object).add(entityplayer);
|
||||
}
|
||||
}
|
||||
|
||||
if (chunkcoordinates != null) {
|
||||
Collections.sort((List) object, new PlayerDistanceComparator(chunkcoordinates));
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
Collections.reverse((List) object);
|
||||
}
|
||||
|
||||
if (k > 0) {
|
||||
object = ((List) object).subList(0, Math.min(k, ((List) object).size()));
|
||||
}
|
||||
|
||||
return (List) object;
|
||||
}
|
||||
}
|
||||
|
||||
public void sendPacketNearby(double d0, double d1, double d2, double d3, int i, Packet packet) {
|
||||
this.sendPacketNearby((EntityHuman) null, d0, d1, d2, d3, i, packet);
|
||||
this.sendPacketNearby(d0, d1, d2, d3, i, packet, null); // CraftBukkit
|
||||
}
|
||||
|
||||
// CraftBukkit start - Add support for entity who caused the packet
|
||||
@@ -663,15 +764,15 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
public void reloadWhitelist() {}
|
||||
|
||||
public void b(EntityPlayer entityplayer, WorldServer worldserver) {
|
||||
entityplayer.netServerHandler.sendPacket(new Packet4UpdateTime(worldserver.getTime()));
|
||||
if (worldserver.J()) {
|
||||
entityplayer.netServerHandler.sendPacket(new Packet4UpdateTime(worldserver.getTime(), worldserver.F()));
|
||||
if (worldserver.M()) {
|
||||
entityplayer.netServerHandler.sendPacket(new Packet70Bed(1, 0));
|
||||
}
|
||||
}
|
||||
|
||||
public void updateClient(EntityPlayer entityplayer) {
|
||||
entityplayer.updateInventory(entityplayer.defaultContainer);
|
||||
entityplayer.n();
|
||||
entityplayer.m();
|
||||
}
|
||||
|
||||
public int getPlayerCount() {
|
||||
@@ -701,7 +802,7 @@ public abstract class ServerConfigurationManagerAbstract {
|
||||
while (iterator.hasNext()) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
||||
|
||||
if (entityplayer.r().equals(s)) {
|
||||
if (entityplayer.q().equals(s)) {
|
||||
arraylist.add(entityplayer);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user