From ca8b9a0bb40b7e5bbaeca0f25ff0e386847da8ea Mon Sep 17 00:00:00 2001 From: EvilSeph Date: Thu, 22 Mar 2012 17:40:07 -0400 Subject: [PATCH] Removed temporary hackish fix for the entity interactivity issues, fixed properly in MC1.2.4. --- .../net/minecraft/server/NetLoginHandler.java | 3 +- .../minecraft/server/NetServerHandler.java | 86 ------------------- .../server/ServerConfigurationManager.java | 82 ------------------ 3 files changed, 1 insertion(+), 170 deletions(-) diff --git a/src/main/java/net/minecraft/server/NetLoginHandler.java b/src/main/java/net/minecraft/server/NetLoginHandler.java index d7626e648e..9b02268ba2 100644 --- a/src/main/java/net/minecraft/server/NetLoginHandler.java +++ b/src/main/java/net/minecraft/server/NetLoginHandler.java @@ -127,8 +127,7 @@ public class NetLoginHandler extends NetHandler { this.server.serverConfigurationManager.a(entityplayer, worldserver); // this.server.serverConfigurationManager.sendAll(new Packet3Chat("\u00A7e" + entityplayer.name + " joined the game.")); // CraftBukkit - message moved to join event this.server.serverConfigurationManager.c(entityplayer); - // CraftBukkit - temporary initial join teleport function, houses hacky entity fix. - netserverhandler.initialJoin(entityplayer.locX, entityplayer.locY, entityplayer.locZ, entityplayer.yaw, entityplayer.pitch); + netserverhandler.a(entityplayer.locX, entityplayer.locY, entityplayer.locZ, entityplayer.yaw, entityplayer.pitch); this.server.networkListenThread.a(netserverhandler); netserverhandler.sendPacket(new Packet4UpdateTime(entityplayer.getPlayerTime())); // CraftBukkit - add support for player specific time Iterator iterator = entityplayer.getEffects().iterator(); diff --git a/src/main/java/net/minecraft/server/NetServerHandler.java b/src/main/java/net/minecraft/server/NetServerHandler.java index 59da7748ad..5812d24a01 100644 --- a/src/main/java/net/minecraft/server/NetServerHandler.java +++ b/src/main/java/net/minecraft/server/NetServerHandler.java @@ -9,8 +9,6 @@ import java.io.UnsupportedEncodingException; import java.util.logging.Level; import java.util.Arrays; import java.util.HashSet; -import java.util.Timer; -import java.util.TimerTask; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -417,90 +415,6 @@ public class NetServerHandler extends NetHandler implements ICommandListener { } } - // CraftBukkit start - temporary initial join teleport function, houses hacky entity fix. - public void initialJoin(double d0, double d1, double d2, float f, float f1) { - Location to = new Location(this.getPlayer().getWorld(), d0, d1, d2, f, f1); - - this.teleport(to); - - Timer timer = new Timer(); - final ArrayList nearby = new ArrayList(); - // Start inline nearby entities - AxisAlignedBB axisalignedbb = player.boundingBox.grow(100, 100, 100); - int i = MathHelper.floor((axisalignedbb.a - 2.0D) / 16.0D); - int j = MathHelper.floor((axisalignedbb.d + 2.0D) / 16.0D); - int k = MathHelper.floor((axisalignedbb.c - 2.0D) / 16.0D); - int l = MathHelper.floor((axisalignedbb.f + 2.0D) / 16.0D); - - for (int i1 = i; i1 <= j; ++i1) { - for (int j1 = k; j1 <= l; ++j1) { - if (player.world.chunkProvider.isChunkLoaded(i1, j1)) { - player.world.getChunkAt(i1, j1).a(player, axisalignedbb, nearby); - } - } - } - // End inline nearby entities - for (Object entity : nearby) { - if (entity instanceof EntityLiving || entity instanceof EntityMinecart || entity instanceof EntityBoat || entity instanceof IAnimal || entity instanceof EntityPainting) { - player.netServerHandler.sendPacket(new Packet29DestroyEntity(((Entity) entity).id)); - } - } - - timer.schedule(new TimerTask(){ - public void run() { - // Start inline nearby entities - nearby.clear(); - AxisAlignedBB axisalignedbb = player.boundingBox.grow(100, 100, 100); - int i = MathHelper.floor((axisalignedbb.a - 2.0D) / 16.0D); - int j = MathHelper.floor((axisalignedbb.d + 2.0D) / 16.0D); - int k = MathHelper.floor((axisalignedbb.c - 2.0D) / 16.0D); - int l = MathHelper.floor((axisalignedbb.f + 2.0D) / 16.0D); - - for (int i1 = i; i1 <= j; ++i1) { - for (int j1 = k; j1 <= l; ++j1) { - if (player.world.chunkProvider.isChunkLoaded(i1, j1)) { - player.world.getChunkAt(i1, j1).a(player, axisalignedbb, nearby); - } - } - } - // End inline nearby entities - for (Object entityObject2 : nearby) { - try { - Entity entity = (Entity) entityObject2; - - if (entity instanceof EntityPlayer) { - player.netServerHandler.sendPacket(new Packet20NamedEntitySpawn((EntityHuman) entity)); - } else if (entity instanceof EntityMinecart) { - EntityMinecart entityminecart = (EntityMinecart) entity; - - if (entityminecart.type == 0) { - player.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 10)); - } - - if (entityminecart.type == 1) { - player.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 11)); - } - - if (entityminecart.type == 2) { - player.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 12)); - } - } else if (entity instanceof EntityBoat) { - player.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 1)); - } else if (entity instanceof IAnimal) { - player.netServerHandler.sendPacket(new Packet24MobSpawn((EntityLiving) entity)); - } else if (entity instanceof EntityEnderDragon) { - player.netServerHandler.sendPacket(new Packet24MobSpawn((EntityLiving) entity)); - } else if (entity instanceof EntityPainting) { - player.netServerHandler.sendPacket(new Packet25EntityPainting((EntityPainting) entity)); - } - } catch (ClassCastException e) { - } - } - } - }, 5000); - } - // CraftBukkit end - public void a(double d0, double d1, double d2, float f, float f1) { // CraftBukkit start - Delegate to teleport(Location) Player player = this.getPlayer(); diff --git a/src/main/java/net/minecraft/server/ServerConfigurationManager.java b/src/main/java/net/minecraft/server/ServerConfigurationManager.java index 0f413e728c..655aff2268 100644 --- a/src/main/java/net/minecraft/server/ServerConfigurationManager.java +++ b/src/main/java/net/minecraft/server/ServerConfigurationManager.java @@ -13,9 +13,6 @@ import java.util.Set; import java.util.logging.Logger; // CraftBukkit start -import java.util.Timer; -import java.util.TimerTask; - import org.bukkit.Location; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftWorld; @@ -326,85 +323,6 @@ public class ServerConfigurationManager { } // CraftBukkit end - // CraftBukkit start - temporary hacky entity fix. - Timer timer = new Timer(); - final ArrayList nearby = new ArrayList(); - final EntityPlayer nmsEntity = entityplayer1; - // Start inline nearby entities - AxisAlignedBB axisalignedbb = nmsEntity.boundingBox.grow(100, 100, 100); - i = MathHelper.floor((axisalignedbb.a - 2.0D) / 16.0D); - int j = MathHelper.floor((axisalignedbb.d + 2.0D) / 16.0D); - int k = MathHelper.floor((axisalignedbb.c - 2.0D) / 16.0D); - int l = MathHelper.floor((axisalignedbb.f + 2.0D) / 16.0D); - - for (int i1 = i; i1 <= j; ++i1) { - for (int j1 = k; j1 <= l; ++j1) { - if (nmsEntity.world.chunkProvider.isChunkLoaded(i1, j1)) { - nmsEntity.world.getChunkAt(i1, j1).a(nmsEntity, axisalignedbb, nearby); - } - } - } - // End inline nearby entities - for (Object entity : nearby) { - if (entity instanceof EntityLiving || entity instanceof EntityMinecart || entity instanceof EntityBoat || entity instanceof IAnimal || entity instanceof EntityPainting) { - nmsEntity.netServerHandler.sendPacket(new Packet29DestroyEntity(((Entity) entity).id)); - } - } - - timer.schedule(new TimerTask(){ - public void run() { - // Start inline nearby entities - nearby.clear(); - AxisAlignedBB axisalignedbb = nmsEntity.boundingBox.grow(100, 100, 100); - int i = MathHelper.floor((axisalignedbb.a - 2.0D) / 16.0D); - int j = MathHelper.floor((axisalignedbb.d + 2.0D) / 16.0D); - int k = MathHelper.floor((axisalignedbb.c - 2.0D) / 16.0D); - int l = MathHelper.floor((axisalignedbb.f + 2.0D) / 16.0D); - - for (int i1 = i; i1 <= j; ++i1) { - for (int j1 = k; j1 <= l; ++j1) { - if (nmsEntity.world.chunkProvider.isChunkLoaded(i1, j1)) { - nmsEntity.world.getChunkAt(i1, j1).a(nmsEntity, axisalignedbb, nearby); - } - } - } - // End inline nearby entities - for (Object entityObject2 : nearby) { - try { - Entity entity = (Entity) entityObject2; - - if (entity instanceof EntityPlayer) { - nmsEntity.netServerHandler.sendPacket(new Packet20NamedEntitySpawn((EntityHuman) entity)); - } else if (entity instanceof EntityMinecart) { - EntityMinecart entityminecart = (EntityMinecart) entity; - - if (entityminecart.type == 0) { - nmsEntity.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 10)); - } - - if (entityminecart.type == 1) { - nmsEntity.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 11)); - } - - if (entityminecart.type == 2) { - nmsEntity.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 12)); - } - } else if (entity instanceof EntityBoat) { - nmsEntity.netServerHandler.sendPacket(new Packet23VehicleSpawn(entity, 1)); - } else if (entity instanceof IAnimal) { - nmsEntity.netServerHandler.sendPacket(new Packet24MobSpawn((EntityLiving) entity)); - } else if (entity instanceof EntityEnderDragon) { - nmsEntity.netServerHandler.sendPacket(new Packet24MobSpawn((EntityLiving) entity)); - } else if (entity instanceof EntityPainting) { - nmsEntity.netServerHandler.sendPacket(new Packet25EntityPainting((EntityPainting) entity)); - } - } catch (ClassCastException e) { - } - } - } - }, 5000); - // CraftBukkit end - return entityplayer1; }