Files
hamster-ball-bridge/src/main/java/cn/hamster3/service/velocity/BallBridgePlugin.java
2025-08-06 01:42:35 +08:00

51 lines
1.6 KiB
Java

package cn.hamster3.service.velocity;
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
import cn.hamster3.service.common.util.ServiceLogUtils;
import cn.hamster3.service.velocity.listener.BridgeListener;
import cn.hamster3.service.velocity.listener.ServiceMainListener;
import com.google.inject.Inject;
import com.velocitypowered.api.event.Subscribe;
import com.velocitypowered.api.event.proxy.ProxyInitializeEvent;
import com.velocitypowered.api.plugin.Dependency;
import com.velocitypowered.api.plugin.Plugin;
import com.velocitypowered.api.proxy.ProxyServer;
import java.util.logging.Logger;
@Plugin(
id = "hamster-service",
name = "HamsterService",
version = BuildConstants.VERSION,
description = BuildConstants.DESCRIPTION,
authors = {"MiniDay"},
dependencies = @Dependency(id = "hamster-ball")
)
public class BallBridgePlugin {
private static BallBridgePlugin instance;
private final ProxyServer proxyServer;
@Inject
public BallBridgePlugin(ProxyServer proxyServer) {
this.proxyServer = proxyServer;
instance = this;
ServiceLogUtils.setLogger(Logger.getLogger("HamsterService"));
}
public static BallBridgePlugin getInstance() {
return instance;
}
public ProxyServer getProxyServer() {
return proxyServer;
}
@Subscribe(priority = 0)
public void onProxyInitialization(ProxyInitializeEvent event) {
BallAPI.getInstance().subscribeRaw("HamsterService");
BallAPI.getInstance().getEventBus().register(BridgeListener.INSTANCE);
proxyServer.getEventManager().register(this, ServiceMainListener.INSTANCE);
}
}