Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.V10lator.V10Name;
- import java.lang.reflect.Field;
- import java.util.Set;
- import org.bukkit.Bukkit;
- import net.minecraft.server.Entity;
- import net.minecraft.server.EntityTracker;
- import net.minecraft.server.MinecraftServer;
- import net.minecraft.server.World;
- public class V10Tracker extends EntityTracker
- {
- private final Field worldField;
- private final Field dField;
- private final Field aField;
- private final V10Name plugin;
- public V10Tracker(MinecraftServer minecraftserver, World i, V10Name plugin)
- {
- super(minecraftserver, i);
- Field worldField;
- Field dField;
- Field aField;
- try
- {
- worldField = EntityTracker.class.getDeclaredField("world");
- dField = EntityTracker.class.getDeclaredField("d");
- aField = EntityTracker.class.getDeclaredField("a");
- worldField.setAccessible(true);
- dField.setAccessible(true);
- aField.setAccessible(true);
- }
- catch(Exception e)
- {
- worldField = null;
- dField = null;
- aField = null;
- e.printStackTrace();
- }
- this.worldField = worldField;
- this.dField = dField;
- this.aField = aField;
- this.plugin = plugin;
- }
- public synchronized void addEntity(Entity entity, int i, int j, boolean flag)
- {
- int d = 512;
- try
- {
- d = dField.getInt(this);
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- if(i > d)
- i = d;
- if(!this.trackedEntities.b(entity.id))
- {
- V10TrackerEntry entitytrackerentry = new V10TrackerEntry(entity, i, j, flag, plugin);
- Set a = null;
- World world = null;
- try
- {
- a = (Set)aField.get(this);
- world = (World)worldField.get(this);
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- a.add(entitytrackerentry);
- this.trackedEntities.a(entity.id, entitytrackerentry);
- entitytrackerentry.scanPlayers(world.players); // CraftBukkit
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement