Skip to content

Commit

Permalink
style: 🎨 code style
Browse files Browse the repository at this point in the history
  • Loading branch information
AnzhiZhang committed May 11, 2023
1 parent a82cdb3 commit b7cf675
Show file tree
Hide file tree
Showing 11 changed files with 100 additions and 109 deletions.
27 changes: 17 additions & 10 deletions src/main/java/com/zhanganzhi/chathub/adaptors/IAdaptor.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,21 @@
import com.zhanganzhi.chathub.event.ServerChangeEvent;

public interface IAdaptor {
public Platform getPlatform();
public void onUserChat(MessageEvent event);
public void onJoinServer(ServerChangeEvent event);
public void onLeaveServer(ServerChangeEvent event);
public void onSwitchServer(ServerChangeEvent event);
public void sendListMessage(String source);

public void start();
public void stop();
public void restart();
Platform getPlatform();

void onUserChat(MessageEvent event);

void onJoinServer(ServerChangeEvent event);

void onLeaveServer(ServerChangeEvent event);

void onSwitchServer(ServerChangeEvent event);

void sendListMessage(String source);

void start();

void stop();

void restart();
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,11 @@

import java.io.IOException;

import okhttp3.*;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.zhanganzhi.chathub.core.Config;

import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
import com.zhanganzhi.chathub.core.Config;

class KookAPI {
private static KookAPI instance;
Expand Down
29 changes: 15 additions & 14 deletions src/main/java/com/zhanganzhi/chathub/adaptors/kook/KookAdaptor.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.velocitypowered.api.proxy.Player;
import com.velocitypowered.api.proxy.server.RegisteredServer;

import com.zhanganzhi.chathub.ChatHub;
import com.zhanganzhi.chathub.adaptors.IAdaptor;
import com.zhanganzhi.chathub.core.Config;
Expand All @@ -14,7 +15,7 @@ public class KookAdaptor implements IAdaptor {
private final Config config = Config.getInstance();
private final KookAPI kookAPI = KookAPI.getInstance();
private final ChatHub chatHub;
private static Platform platform = Platform.KOOK;
private final static Platform platform = Platform.KOOK;
private final KookReceiver kookReceiver;
private final KookDaemon kookDaemon;

Expand All @@ -31,30 +32,30 @@ public Platform getPlatform() {

@Override
public void onUserChat(MessageEvent event) {
sendMessage(config.getKookChatMessage(event.getServerName(), event.user, event.content));
sendMessage(config.getKookChatMessage(event.getServerName(), event.user(), event.content()));
}

@Override
public void onJoinServer(ServerChangeEvent event) {
sendMessage(config.getKookJoinMessage(
event.server,
event.player.getUsername()
event.server,
event.player.getUsername()
));
}

@Override
public void onLeaveServer(ServerChangeEvent event) {
sendMessage(config.getKookLeaveMessage(
event.player.getUsername()
event.player.getUsername()
));
}

@Override
public void onSwitchServer(ServerChangeEvent event) {
sendMessage(config.getKookSwitchMessage(
event.player.getUsername(),
event.serverPrev,
event.server
event.player.getUsername(),
event.serverPrev,
event.server
));
}

Expand All @@ -76,33 +77,33 @@ public void sendListMessage(String source) {
}

void sendMessage(String message) {
if(config.isKookEnabled()) {
if (config.isKookEnabled()) {
new Thread(() -> kookAPI.sendMessage(message)).start();
}
}

@Override
public void start() {
if(config.isKookEnabled()) {
if (config.isKookEnabled()) {
chatHub.getLogger().info("Kook enabled");
kookReceiver.start();
if(config.getKookDaemonEnabled())
if (config.getKookDaemonEnabled())
kookDaemon.start();
}
}

@Override
public void stop() {
if(config.isKookEnabled()) {
if (config.isKookEnabled()) {
kookReceiver.shutdown();
if(config.getKookDaemonEnabled())
if (config.getKookDaemonEnabled())
kookDaemon.shutdown();
}
}

@Override
public void restart() {
if(config.isKookEnabled()) {
if (config.isKookEnabled()) {
kookReceiver.restart();
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.zhanganzhi.chathub.adaptors.kook;


import org.slf4j.Logger;

import com.zhanganzhi.chathub.core.Config;
Expand All @@ -12,7 +11,6 @@ public class KookDaemon extends Thread {
private final KookReceiver kookReceiver;
private boolean flag = true;


public KookDaemon(Logger logger, Config config, KookReceiver kookReceiver) {
this.logger = logger;
this.config = config;
Expand All @@ -26,7 +24,7 @@ public void run() {
boolean isBotOnline = kookAPI.checkBotOnline();
if (isBotOnline) {
retryCount = 0;
} else if(retryCount < config.getKookDaemonRetry()) {
} else if (retryCount < config.getKookDaemonRetry()) {
logger.info("Kook bot seems offline, re-check in " + config.getKookDaemonInterval() + " seconds...");
retryCount++;
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ public KookReceiver(Logger logger, EventHub eventHub) {
this.logger = logger;
this.eventHub = eventHub;
this.okHttpClient = new OkHttpClient();

}

public void start() {
Expand Down Expand Up @@ -101,10 +100,10 @@ private void handleMessage(String text) {
eventHub.getAdaptor(PLATFORM).sendListMessage("");
} else {
eventHub.onUserChat(new MessageEvent(
PLATFORM,
null,
eventData.getJSONObject("extra").getJSONObject("author").getString("nickname"),
eventData.getJSONObject("extra").getJSONObject("kmarkdown").getString("raw_content")
PLATFORM,
null,
eventData.getJSONObject("extra").getJSONObject("author").getString("nickname"),
eventData.getJSONObject("extra").getJSONObject("kmarkdown").getString("raw_content")
));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

import java.util.Arrays;

import net.kyori.adventure.text.Component;
import com.velocitypowered.api.event.Subscribe;
import com.velocitypowered.api.event.connection.DisconnectEvent;
import com.velocitypowered.api.event.player.PlayerChatEvent;
import com.velocitypowered.api.event.player.ServerConnectedEvent;
import com.velocitypowered.api.proxy.Player;
import com.velocitypowered.api.proxy.ProxyServer;
import com.velocitypowered.api.proxy.server.RegisteredServer;

import com.zhanganzhi.chathub.ChatHub;
import com.zhanganzhi.chathub.adaptors.IAdaptor;
import com.zhanganzhi.chathub.core.Config;
Expand All @@ -17,9 +19,7 @@
import com.zhanganzhi.chathub.event.MessageEvent;
import com.zhanganzhi.chathub.event.ServerChangeEvent;

import net.kyori.adventure.text.Component;

public class VelocityAdaptor implements IAdaptor{
public class VelocityAdaptor implements IAdaptor {
private static final Platform platform = Platform.VELOCITY;
private final ProxyServer proxyServer;
private final Config config = Config.getInstance();
Expand Down Expand Up @@ -53,15 +53,15 @@ private void sendMessage(Component component, String... ignoredServers) {

@Override
public void onUserChat(MessageEvent event) {
Arrays.stream(event.content.split("\n")).forEach(msg -> {
Component component = Component.text(config.getMinecraftChatMessage(event.getServerName(), event.user, msg));
Arrays.stream(event.content().split("\n")).forEach(msg -> {
Component component = Component.text(config.getMinecraftChatMessage(event.getServerName(), event.user(), msg));
// check complete takeover mode for message from velocity
if(event.platform == Platform.VELOCITY && !config.isCompleteTakeoverMode()) {
sendMessage(component, event.server);
if (event.platform() == Platform.VELOCITY && !config.isCompleteTakeoverMode()) {
sendMessage(component, event.server());
return;
}
sendMessage(component);
});
});
}

@Override
Expand All @@ -79,17 +79,16 @@ public void onSwitchServer(ServerChangeEvent event) {
sendMessage(Component.text(config.getMinecraftSwitchMessage(event.player.getUsername(), event.serverPrev, event.server)));
}


@Subscribe
public void onPlayerChatEvent(PlayerChatEvent event) {
Player player = event.getPlayer();
player.getCurrentServer().ifPresent(
serverConnection -> {
eventHub.onUserChat(new MessageEvent(
platform,
serverConnection.getServerInfo().getName(),
player.getUsername(),
event.getMessage())
platform,
serverConnection.getServerInfo().getName(),
player.getUsername(),
event.getMessage())
);

// denied message if complete takeover mode enabled
Expand All @@ -104,15 +103,9 @@ public void onPlayerChatEvent(PlayerChatEvent event) {
public void onServerConnectedEvent(ServerConnectedEvent event) {
ServerChangeEvent message = new ServerChangeEvent(event);
switch (message.type) {
case JOIN:
eventHub.onJoinServer(message);
break;
case LEAVE:
eventHub.onLeaveServer(message);
break;
case SWITCH:
eventHub.onSwitchServer(message);
break;
case JOIN -> eventHub.onJoinServer(message);
case LEAVE -> eventHub.onLeaveServer(message);
case SWITCH -> eventHub.onSwitchServer(message);
}
}

Expand All @@ -127,18 +120,21 @@ public void sendListMessage(String source) {
for (RegisteredServer registeredServer : proxyServer.getAllServers()) {
if (registeredServer.getPlayersConnected().size() > 0) {
isListEmpty = false;
proxyServer.getPlayer(source)
.ifPresent(player -> player.sendMessage(Component.text(
config.getMinecraftListMessage(
registeredServer.getServerInfo().getName(),
registeredServer.getPlayersConnected().size(),
registeredServer.getPlayersConnected().stream().map(Player::getUsername).toArray(String[]::new)
proxyServer.getPlayer(source).ifPresent(
player -> player.sendMessage(
Component.text(config.getMinecraftListMessage(
registeredServer.getServerInfo().getName(),
registeredServer.getPlayersConnected().size(),
registeredServer.getPlayersConnected().stream().map(Player::getUsername).toArray(String[]::new)
))
)
)));
);
}
}
if (isListEmpty) {
proxyServer.getPlayer(source).ifPresent(player -> player.sendMessage(Component.text(config.getMinecraftListEmptyMessage())));
proxyServer.getPlayer(source).ifPresent(
player -> player.sendMessage(Component.text(config.getMinecraftListEmptyMessage()))
);
}
}

Expand Down
10 changes: 5 additions & 5 deletions src/main/java/com/zhanganzhi/chathub/command/Command.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,13 @@ public List<String> suggest(final Invocation invocation) {
String[] args = invocation.arguments();
if (args.length <= 1) {
return Stream.of("list", "msg")
.filter(s -> s.startsWith(args.length > 0 ? args[0] : ""))
.collect(Collectors.toList());
.filter(s -> s.startsWith(args.length > 0 ? args[0] : ""))
.collect(Collectors.toList());
} else if (args.length == 2 && args[0].equals("msg")) {
return proxyServer.getAllPlayers()
.stream().map(Player::getUsername)
.filter(s -> s.startsWith(args[1]))
.collect(Collectors.toList());
.stream().map(Player::getUsername)
.filter(s -> s.startsWith(args[1]))
.collect(Collectors.toList());
} else {
return List.of();
}
Expand Down
24 changes: 12 additions & 12 deletions src/main/java/com/zhanganzhi/chathub/core/EventHub.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ public class EventHub {

public EventHub(ChatHub chatHub) {
adaptors = List.of(
new KookAdaptor(chatHub, this),
new VelocityAdaptor(chatHub, this)
new KookAdaptor(chatHub, this),
new VelocityAdaptor(chatHub, this)
);
}

Expand All @@ -26,28 +26,28 @@ public IAdaptor getAdaptor(Platform platform) {

public void onUserChat(MessageEvent event) {
// ignore messages from same platform, except velocity
adaptors.stream().filter(adaptor ->
event.platform == Platform.VELOCITY || event.platform != adaptor.getPlatform()
).forEach(adaptor -> adaptor.onUserChat(event));
adaptors.stream()
.filter(adaptor -> event.platform() == Platform.VELOCITY || event.platform() != adaptor.getPlatform())
.forEach(adaptor -> adaptor.onUserChat(event));
}

public void onJoinServer(ServerChangeEvent event) {
adaptors.stream().forEach(adaptor -> adaptor.onJoinServer(event));
adaptors.forEach(adaptor -> adaptor.onJoinServer(event));
}

public void onLeaveServer(ServerChangeEvent event) {
adaptors.stream().forEach(adaptor -> adaptor.onLeaveServer(event));
adaptors.forEach(adaptor -> adaptor.onLeaveServer(event));
}

public void onSwitchServer(ServerChangeEvent event) {
adaptors.stream().forEach(adaptor -> adaptor.onSwitchServer(event));
adaptors.forEach(adaptor -> adaptor.onSwitchServer(event));
}

public void shutdown() {
adaptors.forEach(adaptor -> adaptor.stop());
}
public void shutdown() {
adaptors.forEach(IAdaptor::stop);
}

public void start() {
adaptors.forEach(adaptor -> adaptor.start());
adaptors.forEach(IAdaptor::start);
}
}
3 changes: 2 additions & 1 deletion src/main/java/com/zhanganzhi/chathub/entity/Platform.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ public enum Platform {
VELOCITY("velocity");

private final String name;
private Platform(String name) {

Platform(String name) {
this.name = name;
}

Expand Down
Loading

0 comments on commit b7cf675

Please sign in to comment.