]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/common/EventBus.java
Add initial server support
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / common / EventBus.java
1 package com.irtimaled.bbor.common;
2
3 import java.util.HashMap;
4 import java.util.Map;
5 import java.util.function.Consumer;
6
7 public class EventBus {
8     private static Map<Class<?>, Consumer<?>> handlers = new HashMap<>();
9
10     public static <evt> void publish(evt event) {
11         Class clazz = event.getClass();
12         Consumer<?> handler = handlers.get(clazz);
13         if (handler == null) return;
14
15         ((Consumer<evt>) handler).accept(event);
16     }
17
18     public static <evt> void subscribe(Class<evt> clazz, Consumer<evt> consumer) {
19         handlers.put(clazz, consumer);
20     }
21 }