EntityLib/api/src/main/java/me/tofaa/entitylib/event/EventHandlerImpl.java
2024-02-19 18:48:17 +04:00

27 lines
767 B
Java

package me.tofaa.entitylib.event;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
final class EventHandlerImpl implements EventHandler {
// Events
private final Map<Class<? extends EntityLibEvent>, Collection<EventCallback>> eventCallbacks = new ConcurrentHashMap<>();
EventHandlerImpl() {
}
public <T extends EntityLibEvent> void registerListener(EventListener<T> listener) {
addEventCallback(listener.getEventClass(), EventListener.createEventCallback(listener));
}
@NotNull
@Override
public Map<Class<? extends EntityLibEvent>, Collection<EventCallback>> getEventCallbacksMap() {
return eventCallbacks;
}
}