瀏覽代碼

Using UUID is safer.

GJ 12 年之前
父節點
當前提交
3aec0e5ef4

+ 1 - 1
src/main/java/com/gmail/nossr50/skills/archery/Archery.java

@@ -75,7 +75,7 @@ public class Archery {
         for (Iterator<TrackedEntity> entityIterator = trackedEntities.iterator(); entityIterator.hasNext(); ) {
             TrackedEntity trackedEntity = entityIterator.next();
 
-            if (trackedEntity.getLivingEntity().getEntityId() == livingEntity.getEntityId()) {
+            if (trackedEntity.getID() == livingEntity.getUniqueId()) {
                 Misc.dropItems(livingEntity.getLocation(), new ItemStack(Material.ARROW), trackedEntity.getArrowCount());
                 entityIterator.remove();
                 return;

+ 8 - 0
src/main/java/com/gmail/nossr50/skills/archery/TrackedEntity.java

@@ -1,5 +1,7 @@
 package com.gmail.nossr50.skills.archery;
 
+import java.util.UUID;
+
 import org.bukkit.entity.LivingEntity;
 import org.bukkit.scheduler.BukkitScheduler;
 
@@ -7,12 +9,14 @@ import com.gmail.nossr50.mcMMO;
 
 public class TrackedEntity implements Runnable {
     private LivingEntity livingEntity;
+    private UUID id;
     private int arrowCount;
     private int taskId;
     private BukkitScheduler scheduler;
 
     protected TrackedEntity(LivingEntity livingEntity) {
         this.livingEntity = livingEntity;
+        this.id = livingEntity.getUniqueId();
         this.scheduler = mcMMO.p.getServer().getScheduler();
         this.taskId = scheduler.scheduleSyncRepeatingTask(mcMMO.p, this, 12000, 12000);
     }
@@ -21,6 +25,10 @@ public class TrackedEntity implements Runnable {
         return livingEntity;
     }
 
+    protected UUID getID() {
+        return id;
+    }
+
     protected int getArrowCount() {
         return arrowCount;
     }