summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/EntityTrackerEntry.java
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2011-09-15 01:23:52 +0100
committerDinnerbone <dinnerbone@dinnerbone.com>2011-09-15 01:23:52 +0100
commit5b2c774edc069f70d1fa9940d96bb0b8705bef7a (patch)
tree79d1800e7154bba7b5fca4f8c8373ee4376cca89 /src/main/java/net/minecraft/server/EntityTrackerEntry.java
parent54bcd1c1f36691a714234e5ca2f30a20b3ad2816 (diff)
downloadcraftbukkit-5b2c774edc069f70d1fa9940d96bb0b8705bef7a.tar
craftbukkit-5b2c774edc069f70d1fa9940d96bb0b8705bef7a.tar.gz
craftbukkit-5b2c774edc069f70d1fa9940d96bb0b8705bef7a.tar.lz
craftbukkit-5b2c774edc069f70d1fa9940d96bb0b8705bef7a.tar.xz
craftbukkit-5b2c774edc069f70d1fa9940d96bb0b8705bef7a.zip
Update for Minecraft 1.8
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityTrackerEntry.java')
-rw-r--r--src/main/java/net/minecraft/server/EntityTrackerEntry.java22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index 20198358..4368f16d 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -60,7 +60,7 @@ public class EntityTrackerEntry {
}
++this.t;
- if (++this.l % this.c == 0) {
+ if (++this.l % this.c == 0 || this.tracker.ca) {
int i = MathHelper.floor(this.tracker.locX * 32.0D);
int j = MathHelper.floor(this.tracker.locY * 32.0D);
int k = MathHelper.floor(this.tracker.locZ * 32.0D);
@@ -108,7 +108,7 @@ public class EntityTrackerEntry {
this.a((Packet) object);
}
- DataWatcher datawatcher = this.tracker.aa();
+ DataWatcher datawatcher = this.tracker.al();
if (datawatcher.a()) {
this.b((Packet) (new Packet40EntityMetadata(this.tracker.id, datawatcher)));
@@ -126,6 +126,7 @@ public class EntityTrackerEntry {
}
}
+ this.tracker.ca = false;
if (this.tracker.velocityChanged) {
// CraftBukkit start - create PlayerVelocity event
boolean cancelled = false;
@@ -208,6 +209,17 @@ public class EntityTrackerEntry {
entityplayer.netServerHandler.sendPacket(new Packet17(this.tracker, 0, MathHelper.floor(this.tracker.locX), MathHelper.floor(this.tracker.locY), MathHelper.floor(this.tracker.locZ)));
}
}
+
+ if (this.tracker instanceof EntityLiving) {
+ EntityLiving entityliving = (EntityLiving) this.tracker;
+ Iterator iterator = entityliving.ak().iterator();
+
+ while (iterator.hasNext()) {
+ MobEffect mobeffect = (MobEffect) iterator.next();
+
+ entityplayer.netServerHandler.sendPacket(new Packet41MobEffect(this.tracker.id, mobeffect));
+ }
+ }
}
} else if (this.trackedPlayers.contains(entityplayer)) {
this.trackedPlayers.remove(entityplayer);
@@ -262,9 +274,9 @@ public class EntityTrackerEntry {
} else if (this.tracker instanceof EntityFish) {
return new Packet23VehicleSpawn(this.tracker, 90);
} else if (this.tracker instanceof EntityArrow) {
- EntityLiving entityliving = ((EntityArrow) this.tracker).shooter;
+ Entity entity = ((EntityArrow) this.tracker).shooter;
- return new Packet23VehicleSpawn(this.tracker, 60, entityliving != null ? entityliving.id : this.tracker.id);
+ return new Packet23VehicleSpawn(this.tracker, 60, entity != null ? entity.id : this.tracker.id);
} else if (this.tracker instanceof EntitySnowball) {
return new Packet23VehicleSpawn(this.tracker, 61);
} else if (this.tracker instanceof EntityFireball) {
@@ -297,6 +309,8 @@ public class EntityTrackerEntry {
if (this.tracker instanceof EntityPainting) {
return new Packet25EntityPainting((EntityPainting) this.tracker);
+ } else if (this.tracker instanceof EntityExperienceOrb) {
+ return new Packet26AddExpOrb((EntityExperienceOrb) this.tracker);
} else {
throw new IllegalArgumentException("Don\'t know how to add " + this.tracker.getClass() + "!");
}