summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvilSeph <evilseph@unaligned.org>2011-06-07 04:21:33 -0400
committerEvilSeph <evilseph@unaligned.org>2011-06-07 04:21:33 -0400
commitd33c06ead26d635d781753c936c408c3d420842f (patch)
treef8851286efa3ab3d5a959e416ae7538b9577eb9d
parent95c19d5f226d0af7c20073602131590d6b7bbb44 (diff)
downloadcraftbukkit-d33c06ead26d635d781753c936c408c3d420842f.tar
craftbukkit-d33c06ead26d635d781753c936c408c3d420842f.tar.gz
craftbukkit-d33c06ead26d635d781753c936c408c3d420842f.tar.lz
craftbukkit-d33c06ead26d635d781753c936c408c3d420842f.tar.xz
craftbukkit-d33c06ead26d635d781753c936c408c3d420842f.zip
Added UniqueId to entities. Thanks Afforess!
-rw-r--r--src/main/java/net/minecraft/server/Entity.java15
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java5
2 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index cb23f89c..8e936c60 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -4,6 +4,8 @@ import java.util.List;
import java.util.Random;
// CraftBukkit start
+import java.util.UUID;
+
import org.bukkit.Bukkit;
import org.bukkit.block.BlockFace;
import org.bukkit.craftbukkit.entity.CraftVehicle;
@@ -83,6 +85,7 @@ public abstract class Entity {
public int bH;
public int bI;
public boolean bJ;
+ public UUID uniqueId = UUID.randomUUID(); // CraftBukkit
public Entity(World world) {
this.id = entityCount++;
@@ -900,6 +903,8 @@ public abstract class Entity {
nbttagcompound.a("Air", (short) this.airTicks);
nbttagcompound.a("OnGround", this.onGround);
nbttagcompound.setString("World", world.worldData.name); // CraftBukkit
+ nbttagcompound.a("UUIDLeast", this.uniqueId.getLeastSignificantBits()); // CraftBukkit
+ nbttagcompound.a("UUIDMost", this.uniqueId.getMostSignificantBits()); // CraftBukkit
this.b(nbttagcompound);
}
@@ -933,6 +938,16 @@ public abstract class Entity {
this.airTicks = nbttagcompound.d("Air");
this.onGround = nbttagcompound.m("OnGround");
this.setPosition(this.locX, this.locY, this.locZ);
+
+ // CraftBukkit start
+ long least = nbttagcompound.f("UUIDLeast");
+ long most = nbttagcompound.f("UUIDMost");
+
+ if (least != 0L && most != 0L) {
+ this.uniqueId = new UUID(most, least);
+ }
+ // CraftBukkit end
+
this.c(this.yaw, this.pitch);
this.a(nbttagcompound);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index c77e0336..6f747770 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -11,6 +11,7 @@ import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.util.Vector;
import java.util.List;
+import java.util.UUID;
public abstract class CraftEntity implements org.bukkit.entity.Entity {
protected final CraftServer server;
@@ -264,4 +265,8 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
public EntityDamageEvent getLastDamageCause() {
return lastDamageEvent;
}
+
+ public UUID getUniqueId() {
+ return getHandle().uniqueId;
+ }
}