mirror of
https://github.com/Minestom/Minestom.git
synced 2025-02-07 16:01:55 +01:00
Optimize entity events adding/removing
This commit is contained in:
parent
cbf06e6963
commit
1a6df8e035
@ -531,7 +531,6 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer {
|
||||
Check.notNull(eventCallback, "Event callback cannot be null");
|
||||
List<EventCallback> callbacks = getEventCallbacks(eventClass);
|
||||
callbacks.add(eventCallback);
|
||||
this.eventCallbacks.put(eventClass, callbacks);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -540,13 +539,12 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer {
|
||||
Check.notNull(eventCallback, "Event callback cannot be null");
|
||||
List<EventCallback> callbacks = getEventCallbacks(eventClass);
|
||||
callbacks.remove(eventCallback);
|
||||
this.eventCallbacks.put(eventClass, callbacks);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <E extends Event> List<EventCallback> getEventCallbacks(Class<E> eventClass) {
|
||||
Check.notNull(eventClass, "Event class cannot be null");
|
||||
return eventCallbacks.getOrDefault(eventClass, new CopyOnWriteArrayList<>());
|
||||
return eventCallbacks.computeIfAbsent(eventClass, clazz -> new CopyOnWriteArrayList<>());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -539,7 +539,9 @@ public abstract class Instance implements BlockModifier, EventHandler, DataConta
|
||||
* @param chunkZ the chunk Z
|
||||
*/
|
||||
public void unloadChunk(int chunkX, int chunkZ) {
|
||||
unloadChunk(getChunk(chunkX, chunkZ));
|
||||
final Chunk chunk = getChunk(chunkX, chunkZ);
|
||||
Check.notNull(chunk, "The chunk at " + chunkX + ":" + chunkZ + " is already unloaded");
|
||||
unloadChunk(chunk);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user