Search in sources :

Example 56 with SoftReference

use of java.lang.ref.SoftReference in project BKCommonLib by bergerhealer.

the class CommonPlugin method notifyRemovedFromServer.

public void notifyRemovedFromServer(org.bukkit.World world, org.bukkit.entity.Entity e, boolean removeFromChangeSet) {
    // Also remove from the set tracking these changes
    if (removeFromChangeSet) {
        this.entitiesRemovedFromServer.remove(e);
    }
    // Remove from maps
    Iterator<SoftReference<EntityMap>> iter = this.maps.iterator();
    while (iter.hasNext()) {
        EntityMap map = iter.next().get();
        if (map == null) {
            iter.remove();
        } else {
            map.remove(e);
        }
    }
    // Fire events
    if (CommonUtil.hasHandlers(EntityRemoveFromServerEvent.getHandlerList())) {
        CommonUtil.callEvent(new EntityRemoveFromServerEvent(e));
    }
    // Remove any entity controllers set for the entities that were removed
    EntityHook hook = EntityHook.get(HandleConversion.toEntityHandle(e), EntityHook.class);
    if (hook != null && hook.hasController()) {
        hook.getController().getEntity().setController(null);
    }
}
Also used : EntityHook(com.bergerkiller.bukkit.common.internal.hooks.EntityHook) SoftReference(java.lang.ref.SoftReference) EntityMap(com.bergerkiller.bukkit.common.collections.EntityMap) EntityRemoveFromServerEvent(com.bergerkiller.bukkit.common.events.EntityRemoveFromServerEvent)

Aggregations

SoftReference (java.lang.ref.SoftReference)56 ReferenceQueue (java.lang.ref.ReferenceQueue)7 Reference (java.lang.ref.Reference)6 WeakReference (java.lang.ref.WeakReference)6 PhantomReference (java.lang.ref.PhantomReference)5 Random (java.util.Random)5 IOException (java.io.IOException)4 Bitmap (android.graphics.Bitmap)3 Context (android.content.Context)2 BitmapFactory (android.graphics.BitmapFactory)2 Handler (android.os.Handler)2 Message (android.os.Message)2 MetaClass (groovy.lang.MetaClass)2 Shape (java.awt.Shape)2 File (java.io.File)2 InputStream (java.io.InputStream)2 UndeclaredThrowableException (java.lang.reflect.UndeclaredThrowableException)2 PrivilegedAction (java.security.PrivilegedAction)2 PrivilegedActionException (java.security.PrivilegedActionException)2 SecureClassLoader (java.security.SecureClassLoader)2