summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/net/minecraft/server/EntityTracker.java4
-rw-r--r--src/main/java/net/minecraft/server/EntityTrackerEntry.java8
2 files changed, 8 insertions, 4 deletions
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
index 4de12732..9e2b76f8 100644
--- a/src/main/java/net/minecraft/server/EntityTracker.java
+++ b/src/main/java/net/minecraft/server/EntityTracker.java
@@ -56,9 +56,9 @@ public class EntityTracker {
} else if (entity instanceof EntityItem) {
this.addEntity(entity, 64, 20, true);
} else if (entity instanceof EntityMinecartAbstract) {
- this.addEntity(entity, 80, 3, true);
+ this.addEntity(entity, 80, 2, true); // CraftBukkit - Send updates at same rate as players
} else if (entity instanceof EntityBoat) {
- this.addEntity(entity, 80, 3, true);
+ this.addEntity(entity, 80, 2, true); // CraftBukkit - Send updates at same rate as players
} else if (entity instanceof EntitySquid) {
this.addEntity(entity, 64, 3, true);
} else if (entity instanceof EntityWither) {
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index 4871bd73..65cc4e84 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -68,7 +68,7 @@ public class EntityTrackerEntry {
this.scanPlayers(list);
}
- if (this.v != this.tracker.vehicle || this.tracker.vehicle != null && this.m % 60 == 0) {
+ if (this.v != this.tracker.vehicle /* || this.tracker.vehicle != null && this.m % 60 == 0 */) { // CraftBukkit - Revert to 1.4 logic, this packet is a toggle
this.v = this.tracker.vehicle;
this.broadcast(new Packet39AttachEntity(this.tracker, this.tracker.vehicle));
}
@@ -318,9 +318,13 @@ public class EntityTrackerEntry {
entityplayer.playerConnection.sendPacket(new Packet28EntityVelocity(this.tracker.id, this.tracker.motX, this.tracker.motY, this.tracker.motZ));
}
- if (this.tracker.vehicle != null) {
+ // CraftBukkit start
+ if (this.tracker.vehicle != null && this.tracker.id > this.tracker.vehicle.id) {
entityplayer.playerConnection.sendPacket(new Packet39AttachEntity(this.tracker, this.tracker.vehicle));
+ } else if (this.tracker.passenger != null && this.tracker.id > this.tracker.passenger.id) {
+ entityplayer.playerConnection.sendPacket(new Packet39AttachEntity(this.tracker.passenger, this.tracker));
}
+ // CraftBukkit end
if (this.tracker instanceof EntityLiving) {
for (int i = 0; i < 5; ++i) {