Update CraftBukkit to Minecraft 1.5

This commit is contained in:
Travis Watkins
2013-03-13 17:33:27 -05:00
parent ba6e4c38cf
commit 83d29e461c
246 changed files with 8499 additions and 6759 deletions

View File

@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.Callable;
public class EntityTracker {
@@ -55,7 +56,7 @@ public class EntityTracker {
this.addEntity(entity, 64, 10, true);
} else if (entity instanceof EntityItem) {
this.addEntity(entity, 64, 20, true);
} else if (entity instanceof EntityMinecart) {
} else if (entity instanceof EntityMinecartAbstract) {
this.addEntity(entity, 80, 3, true);
} else if (entity instanceof EntityBoat) {
this.addEntity(entity, 80, 3, true);
@@ -94,15 +95,24 @@ public class EntityTracker {
i = this.d;
}
if (this.trackedEntities.b(entity.id)) {
// CraftBukkit - removed exception throw as tracking an already tracked entity theoretically shouldn't cause any issues.
// throw new IllegalStateException("Entity is already tracked!");
} else {
EntityTrackerEntry entitytrackerentry = new EntityTrackerEntry(entity, i, j, flag);
try {
if (this.trackedEntities.b(entity.id)) {
throw new IllegalStateException("Entity is already tracked!");
} else {
EntityTrackerEntry entitytrackerentry = new EntityTrackerEntry(entity, i, j, flag);
this.b.add(entitytrackerentry);
this.trackedEntities.a(entity.id, entitytrackerentry);
entitytrackerentry.scanPlayers(this.world.players);
this.b.add(entitytrackerentry);
this.trackedEntities.a(entity.id, entitytrackerentry);
entitytrackerentry.scanPlayers(this.world.players);
}
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Adding entity to track");
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity To Track");
crashreportsystemdetails.a("Tracking range", (i + " blocks"));
crashreportsystemdetails.a("Update interval", (Callable) (new CrashReportEntityTrackerUpdateInterval(this, j)));
entity.a(crashreportsystemdetails);
throw new ReportedException(crashreport);
}
}
@@ -190,7 +200,7 @@ public class EntityTracker {
while (iterator.hasNext()) {
EntityTrackerEntry entitytrackerentry = (EntityTrackerEntry) iterator.next();
if (entitytrackerentry.tracker != entityplayer && entitytrackerentry.tracker.ai == chunk.x && entitytrackerentry.tracker.ak == chunk.z) {
if (entitytrackerentry.tracker != entityplayer && entitytrackerentry.tracker.aj == chunk.x && entitytrackerentry.tracker.al == chunk.z) {
entitytrackerentry.updatePlayer(entityplayer);
}
}