public void updateTrackedEntities() { ArrayList arraylist = new ArrayList(); Iterator iterator = trackedEntitySet.iterator(); do { if (!iterator.hasNext()) { break; } EntityTrackerEntry entitytrackerentry = (EntityTrackerEntry) iterator.next(); entitytrackerentry.updatePlayerList(field_72795_a.playerEntities); if (entitytrackerentry.playerEntitiesUpdated && (entitytrackerentry.trackedEntity instanceof EntityPlayerMP)) { arraylist.add((EntityPlayerMP) entitytrackerentry.trackedEntity); } } while (true); for (Iterator iterator1 = arraylist.iterator(); iterator1.hasNext(); ) { EntityPlayerMP entityplayermp = (EntityPlayerMP) iterator1.next(); EntityPlayerMP entityplayermp1 = entityplayermp; Iterator iterator2 = trackedEntitySet.iterator(); while (iterator2.hasNext()) { EntityTrackerEntry entitytrackerentry1 = (EntityTrackerEntry) iterator2.next(); if (entitytrackerentry1.trackedEntity != entityplayermp1) { entitytrackerentry1.updatePlayerEntity(entityplayermp1); } } } }
public void sendPacketToTrackedPlayersAndTrackedEntity(Entity par1Entity, Packet par2Packet) { EntityTrackerEntry entitytrackerentry = (EntityTrackerEntry) trackedEntityHashTable.lookup(par1Entity.entityId); if (entitytrackerentry != null) { entitytrackerentry.sendPacketToTrackedPlayersAndTrackedEntity(par2Packet); } }
public void removeTrackedPlayerSymmetric(EntityPlayerMP par1EntityPlayerMP) { EntityTrackerEntry entitytrackerentry; for (Iterator iterator = trackedEntitySet.iterator(); iterator.hasNext(); entitytrackerentry.removeTrackedPlayerSymmetric(par1EntityPlayerMP)) { entitytrackerentry = (EntityTrackerEntry) iterator.next(); } }
public void trackEntity(Entity par1Entity, int par2, int par3, boolean par4) { if (par2 > maxTrackingDistanceThreshold) { par2 = maxTrackingDistanceThreshold; } if (trackedEntityHashTable.containsItem(par1Entity.entityId)) { throw new IllegalStateException("Entity is already tracked!"); } else { EntityTrackerEntry entitytrackerentry = new EntityTrackerEntry(par1Entity, par2, par3, par4); trackedEntitySet.add(entitytrackerentry); trackedEntityHashTable.addKey(par1Entity.entityId, entitytrackerentry); entitytrackerentry.updatePlayerEntities(field_72795_a.playerEntities); return; } }
public void untrackEntity(Entity par1Entity) { if (par1Entity instanceof EntityPlayerMP) { EntityPlayerMP entityplayermp = (EntityPlayerMP) par1Entity; EntityTrackerEntry entitytrackerentry1; for (Iterator iterator = trackedEntitySet.iterator(); iterator.hasNext(); entitytrackerentry1.removeFromTrackedPlayers(entityplayermp)) { entitytrackerentry1 = (EntityTrackerEntry) iterator.next(); } } EntityTrackerEntry entitytrackerentry = (EntityTrackerEntry) trackedEntityHashTable.removeObject(par1Entity.entityId); if (entitytrackerentry != null) { trackedEntitySet.remove(entitytrackerentry); entitytrackerentry.sendDestroyEntityPacketToTrackedPlayers(); } }
public void trackEntity(Entity par1Entity) { if (par1Entity instanceof EntityPlayerMP) { trackEntity(par1Entity, 512, 2); EntityPlayerMP entityplayermp = (EntityPlayerMP) par1Entity; Iterator iterator = trackedEntitySet.iterator(); do { if (!iterator.hasNext()) { break; } EntityTrackerEntry entitytrackerentry = (EntityTrackerEntry) iterator.next(); if (entitytrackerentry.trackedEntity != entityplayermp) { entitytrackerentry.updatePlayerEntity(entityplayermp); } } while (true); } else if (par1Entity instanceof EntityFishHook) { trackEntity(par1Entity, 64, 5, true); } else if (par1Entity instanceof EntityArrow) { trackEntity(par1Entity, 64, 20, false); } else if (par1Entity instanceof EntitySmallFireball) { trackEntity(par1Entity, 64, 10, false); } else if (par1Entity instanceof EntityFireball) { trackEntity(par1Entity, 64, 10, false); } else if (par1Entity instanceof EntitySnowball) { trackEntity(par1Entity, 64, 10, true); } else if (par1Entity instanceof EntityEnderPearl) { trackEntity(par1Entity, 64, 10, true); } else if (par1Entity instanceof EntityEnderEye) { trackEntity(par1Entity, 64, 4, true); } else if (par1Entity instanceof EntityEgg) { trackEntity(par1Entity, 64, 10, true); } else if (par1Entity instanceof EntityPotion) { trackEntity(par1Entity, 64, 10, true); } else if (par1Entity instanceof EntityExpBottle) { trackEntity(par1Entity, 64, 10, true); } else if (par1Entity instanceof EntityItem) { trackEntity(par1Entity, 64, 20, true); } else if (par1Entity instanceof EntityMinecart) { trackEntity(par1Entity, 80, 3, true); } else if (par1Entity instanceof EntityBoat) { trackEntity(par1Entity, 80, 3, true); } else if (par1Entity instanceof EntitySquid) { trackEntity(par1Entity, 64, 3, true); } else if (par1Entity instanceof IAnimals) { trackEntity(par1Entity, 80, 3, true); } else if (par1Entity instanceof EntityDragon) { trackEntity(par1Entity, 160, 3, true); } else if (par1Entity instanceof EntityTNTPrimed) { trackEntity(par1Entity, 160, 10, true); } else if (par1Entity instanceof EntityFallingSand) { trackEntity(par1Entity, 160, 20, true); } else if (par1Entity instanceof EntityPainting) { trackEntity(par1Entity, 160, 0x7fffffff, false); } else if (par1Entity instanceof EntityXPOrb) { trackEntity(par1Entity, 160, 20, true); } else if (par1Entity instanceof EntityEnderCrystal) { trackEntity(par1Entity, 256, 0x7fffffff, false); } ModLoaderMp.handleEntityTrackers(this, par1Entity); }