1// BungeeCord Proxy – Java 8 · ProxyBridge
2package at.walterproduktions.network;
3
4// BungeeCord-Plugin, registriert über plugin.yml
5public final class NetworkcoreHandler extends Plugin implements Listener {
6 private final ProxyBridge bridge = ProxyBridge.redis(config.redis());
7 private final QueueService queue = new QueueService(bridge);
8
9 @EventHandler
10 public void onEnable() {
11 getProxy().getPluginManager().registerListener(this, this);
12 getProxy().getScheduler().schedule(this, this::tick, 1, 60, SECONDS);
13 logger.info("ProxyBridge auf allen Instanzen aktiv");
14 }
15
16 @EventHandler(priority = EventPriority.HIGH)
17 public void onLogin(LoginEvent e) {
18 RegisteredServer target = router.pick(e.getPlayer());
19 if (target == null) { queue.enqueue(e.getPlayer()); return; }
20 e.getPlayer().createConnectionRequest(target).fireAndForget();
21 }
22
23 private void syncPlayerData(UUID id) {
24 bridge.publish("wp:sync", PlayerData.of(id).toJson());
25 }
26
27 private void tick() {
28 heartbeat.publish("wp:network", state.snapshot());
29 }
30}