Advertisement
Guest User

Untitled

a guest
May 12th, 2012
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.85 KB | None | 0 0
  1. package de.V10lator.V10Name;
  2.  
  3. import java.lang.reflect.Field;
  4. import java.util.Set;
  5.  
  6.  
  7. import net.minecraft.server.Entity;
  8. import net.minecraft.server.EntityTracker;
  9. import net.minecraft.server.MinecraftServer;
  10. import net.minecraft.server.World;
  11.  
  12. public class V10Tracker extends EntityTracker
  13. {
  14.   private final Field worldField;
  15.   private final Field dField;
  16.   private final Field aField;
  17.   private final V10Name plugin;
  18.  
  19.   public V10Tracker(MinecraftServer minecraftserver, World i, V10Name plugin)
  20.   {
  21.     super(minecraftserver, i);
  22.     Field worldField;
  23.     Field dField;
  24.     Field aField;
  25.     try
  26.     {
  27.       worldField = EntityTracker.class.getDeclaredField("world");
  28.       dField = EntityTracker.class.getDeclaredField("d");
  29.       aField = EntityTracker.class.getDeclaredField("a");
  30.       worldField.setAccessible(true);
  31.       dField.setAccessible(true);
  32.       aField.setAccessible(true);
  33.     }
  34.     catch(Exception e)
  35.     {
  36.       worldField = null;
  37.       dField = null;
  38.       aField = null;
  39.       e.printStackTrace();
  40.     }
  41.     this.worldField = worldField;
  42.     this.dField = dField;
  43.     this.aField = aField;
  44.     this.plugin = plugin;
  45.   }
  46.  
  47.   public synchronized void addEntity(Entity entity, int i, int j, boolean flag)
  48.   {
  49.     int d = 512;
  50.     try
  51.     {
  52.       d = dField.getInt(this);
  53.     }
  54.     catch(Exception e)
  55.     {
  56.       e.printStackTrace();
  57.     }
  58.     if(i > d)
  59.       i = d;
  60.  
  61.     if(!this.trackedEntities.b(entity.id))
  62.     {
  63.       V10TrackerEntry entitytrackerentry = new V10TrackerEntry(entity, i, j, flag, plugin);
  64.  
  65.       Set a = null;
  66.       World world = null;
  67.       try
  68.       {
  69.         a = (Set)aField.get(this);
  70.         world = (World)worldField.get(this);
  71.       }
  72.       catch(Exception e)
  73.       {
  74.         e.printStackTrace();
  75.       }
  76.       a.add(entitytrackerentry);
  77.       this.trackedEntities.a(entity.id, entitytrackerentry);
  78.       entitytrackerentry.scanPlayers(world.players); // CraftBukkit
  79.     }
  80.   }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement