--- ../src-base/minecraft/net/minecraft/entity/EntityTrackerEntry.java +++ ../src-work/minecraft/net/minecraft/entity/EntityTrackerEntry.java @@ -388,6 +388,14 @@ this.field_73138_k = this.field_73132_a.field_70181_x; this.field_73135_l = this.field_73132_a.field_70179_y; + int posX = MathHelper.func_76128_c(this.field_73132_a.field_70165_t * 32.0D); + int posY = MathHelper.func_76128_c(this.field_73132_a.field_70163_u * 32.0D); + int posZ = MathHelper.func_76128_c(this.field_73132_a.field_70161_v * 32.0D); + if (posX != this.field_73128_d || posY != this.field_73129_e || posZ != this.field_73126_f) + { + net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.makeEntitySpawnAdjustment(this.field_73132_a, p_73117_1_, this.field_73128_d, this.field_73129_e, this.field_73126_f); + } + if (this.field_73143_t && !(packet instanceof S0FPacketSpawnMob)) { p_73117_1_.field_71135_a.func_147359_a(new S12PacketEntityVelocity(this.field_73132_a.func_145782_y(), this.field_73132_a.field_70159_w, this.field_73132_a.field_70181_x, this.field_73132_a.field_70179_y)); @@ -437,12 +445,14 @@ p_73117_1_.field_71135_a.func_147359_a(new S1DPacketEntityEffect(this.field_73132_a.func_145782_y(), potioneffect)); } } + net.minecraftforge.event.ForgeEventFactory.onStartEntityTracking(field_73132_a, p_73117_1_); } } else if (this.field_73134_o.contains(p_73117_1_)) { this.field_73134_o.remove(p_73117_1_); p_73117_1_.func_152339_d(this.field_73132_a); + net.minecraftforge.event.ForgeEventFactory.onStopEntityTracking(field_73132_a, p_73117_1_); } } } @@ -474,6 +484,9 @@ field_151262_p.warn("Fetching addPacket for removed entity"); } + Packet pkt = net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.getEntitySpawningPacket(this.field_73132_a); + if (pkt != null) return pkt; + if (this.field_73132_a instanceof EntityItem) { return new S0EPacketSpawnObject(this.field_73132_a, 2, 1);