регистрация событий чата
This commit is contained in:
@@ -1,11 +1,44 @@
|
||||
package ru.dmitriymx.minecraft.globalchat;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import ru.dmitriymx.minecraft.globalchat.mq.KafkaService;
|
||||
|
||||
public class MainPlugin extends JavaPlugin {
|
||||
|
||||
private KafkaService service;
|
||||
private Thread mqThread;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
getLogger().info("hello?");
|
||||
initKafkaService();
|
||||
getServer().getPluginManager().registerEvents(new ChatListener(service), this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
mqThread.interrupt();
|
||||
}
|
||||
|
||||
private void initKafkaService() {
|
||||
//FIXME перенести в конфигурацию
|
||||
service = new KafkaService("127.0.0.1:9092", "global-chat", 1000);
|
||||
|
||||
mqThread = new Thread(() -> {
|
||||
while (!Thread.currentThread().isInterrupted()) {
|
||||
service.get().forEach(messageData -> {
|
||||
//FIXME формат сообщений должен браться из конфига
|
||||
Bukkit.getServer().broadcastMessage(String.format(
|
||||
"%s: %s",
|
||||
messageData.getPlayerName(),
|
||||
messageData.getMessage()
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
service.shutdown();
|
||||
service = null;
|
||||
}, "Kafka service listener");
|
||||
mqThread.start();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user