Skip to content

Commit 3b8a036

Browse files
committed
VelocityにもRedisBungee対応
1 parent 5a62a2c commit 3b8a036

10 files changed

Lines changed: 239 additions & 81 deletions

File tree

src/main/java/jp/simplespace/simplecommandlog/bungee/BCmdLog.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package jp.simplespace.simplecommandlog.bungee;
22

3-
import jp.simplespace.simplecommandlog.redisbungee.CommandLogListener;
4-
import jp.simplespace.simplecommandlog.redisbungee.ToggleListener;
3+
import jp.simplespace.simplecommandlog.redisbungee.BCommandLogListener;
4+
import jp.simplespace.simplecommandlog.redisbungee.BToggleListener;
55
import net.md_5.bungee.api.ChatColor;
66
import net.md_5.bungee.api.CommandSender;
77
import net.md_5.bungee.api.chat.TextComponent;
@@ -41,7 +41,7 @@ public void execute(CommandSender sender, String[] args) {
4141
}
4242
else {
4343
try {
44-
ToggleListener.sendChannelMessage(p.getUniqueId().toString(),false);
44+
BToggleListener.sendChannelMessage(p.getUniqueId().toString(),false);
4545
} catch (IOException e) {
4646
throw new RuntimeException(e);
4747
}
@@ -54,7 +54,7 @@ public void execute(CommandSender sender, String[] args) {
5454
}
5555
else {
5656
try {
57-
ToggleListener.sendChannelMessage(p.getUniqueId().toString(),true);
57+
BToggleListener.sendChannelMessage(p.getUniqueId().toString(),true);
5858
} catch (IOException e) {
5959
throw new RuntimeException(e);
6060
}
@@ -92,7 +92,7 @@ public void onChat(ChatEvent event){
9292
//有効だったら
9393
else {
9494
try {
95-
CommandLogListener.sendChannelMessage(serverName,senderName,message);
95+
BCommandLogListener.sendChannelMessage(serverName,senderName,message);
9696
} catch (IOException e) {
9797
throw new RuntimeException(e);
9898
}

src/main/java/jp/simplespace/simplecommandlog/bungee/BSimpleCommandLog.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package jp.simplespace.simplecommandlog.bungee;
22

33
import com.imaginarycode.minecraft.redisbungee.RedisBungeeAPI;
4-
import jp.simplespace.simplecommandlog.redisbungee.CommandLogListener;
5-
import jp.simplespace.simplecommandlog.redisbungee.ToggleListener;
4+
import jp.simplespace.simplecommandlog.redisbungee.BCommandLogListener;
5+
import jp.simplespace.simplecommandlog.redisbungee.BToggleListener;
66
import net.md_5.bungee.api.ChatColor;
77
import net.md_5.bungee.api.ProxyServer;
88
import net.md_5.bungee.api.plugin.Plugin;
@@ -37,8 +37,8 @@ public void onEnable() {
3737
RedisBungeeAPI rapi = RedisBungeeAPI.getRedisBungeeApi();
3838
rapi.registerPubSubChannels("scl_cmdlog");
3939
rapi.registerPubSubChannels("scl_toggle");
40-
pm.registerListener(this,new CommandLogListener());
41-
pm.registerListener(this,new ToggleListener());
40+
pm.registerListener(this,new BCommandLogListener());
41+
pm.registerListener(this,new BToggleListener());
4242
}
4343
//コマンドの登録
4444
pm.registerCommand(this,new BCmdLog());
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package jp.simplespace.simplecommandlog.redisbungee;
2+
3+
import com.google.gson.JsonObject;
4+
import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
5+
import jp.simplespace.simplecommandlog.bungee.BCmdLog;
6+
import jp.simplespace.simplecommandlog.bungee.BSimpleCommandLog;
7+
import net.md_5.bungee.api.chat.TextComponent;
8+
import net.md_5.bungee.api.plugin.Listener;
9+
import net.md_5.bungee.event.EventHandler;
10+
11+
public class BCommandLogListener extends CommandLogListener implements Listener {
12+
@EventHandler
13+
public void onBungeePubSubMessage(PubSubMessageEvent event){
14+
if(!event.getChannel().equals("scl_cmdlog")){
15+
return;
16+
}
17+
JsonObject jsonObject = gson.fromJson(event.getMessage(),JsonObject.class);
18+
String serverName = jsonObject.get("server").getAsString();
19+
String senderName = jsonObject.get("sender").getAsString();
20+
String message = jsonObject.get("message").getAsString();
21+
TextComponent component = BCmdLog.createTextComponent(serverName,senderName,message);
22+
BSimpleCommandLog.getLog().info(component.getText());
23+
BCmdLog.sendCommandLogMessage(component);
24+
}
25+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package jp.simplespace.simplecommandlog.redisbungee;
2+
3+
import com.google.gson.JsonObject;
4+
import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
5+
import jp.simplespace.simplecommandlog.bungee.BSimpleCommandLog;
6+
import net.md_5.bungee.api.ChatColor;
7+
import net.md_5.bungee.api.chat.TextComponent;
8+
import net.md_5.bungee.api.connection.ProxiedPlayer;
9+
import net.md_5.bungee.api.plugin.Listener;
10+
import net.md_5.bungee.config.ConfigurationProvider;
11+
import net.md_5.bungee.config.YamlConfiguration;
12+
import net.md_5.bungee.event.EventHandler;
13+
14+
import java.io.File;
15+
import java.io.IOException;
16+
import java.util.List;
17+
import java.util.UUID;
18+
19+
import static jp.simplespace.simplecommandlog.bungee.BSimpleCommandLog.*;
20+
21+
public class BToggleListener extends ToggleListener implements Listener {
22+
@EventHandler
23+
public void onBungeePubSubMessage(PubSubMessageEvent event){
24+
if(!event.getChannel().equals("scl_toggle")){
25+
return;
26+
}
27+
JsonObject jsonObject = gson.fromJson(event.getMessage(),JsonObject.class);
28+
String uuid = jsonObject.get("uuid").getAsString();
29+
boolean boo = jsonObject.get("boolean").getAsBoolean();
30+
List<String> list = config.getStringList("cmdlog.players");
31+
ProxiedPlayer p = BSimpleCommandLog.proxy.getPlayer(UUID.fromString(uuid));
32+
if(boo){
33+
list.add(uuid);
34+
if(p!=null){
35+
p.sendMessage(new TextComponent(prefix + ChatColor.GRAY + "コマンドログ表示を有効にしました。"));
36+
}
37+
}
38+
else {
39+
list.remove(uuid);
40+
if(p!=null){
41+
p.sendMessage(new TextComponent(prefix + ChatColor.GRAY + "コマンドログ表示を無効にしました。"));
42+
}
43+
}
44+
config.set("cmdlog.players",list);
45+
try {
46+
ConfigurationProvider.getProvider(YamlConfiguration.class).save(config,new File(plugin.getDataFolder(),"config.yml"));
47+
} catch (IOException e) {
48+
e.printStackTrace();
49+
}
50+
}
51+
}

src/main/java/jp/simplespace/simplecommandlog/redisbungee/CommandLogListener.java

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import com.velocitypowered.api.event.Subscribe;
99
import jp.simplespace.simplecommandlog.bungee.BCmdLog;
1010
import jp.simplespace.simplecommandlog.bungee.BSimpleCommandLog;
11+
import jp.simplespace.simplecommandlog.velocity.VCmdLog;
12+
import jp.simplespace.simplecommandlog.velocity.VSimpleCommandLog;
1113
import net.md_5.bungee.api.chat.TextComponent;
1214
import net.md_5.bungee.api.plugin.Listener;
1315
import net.md_5.bungee.event.EventHandler;
@@ -16,27 +18,8 @@
1618
import java.io.IOException;
1719
import java.io.StringWriter;
1820

19-
public class CommandLogListener implements Listener {
20-
private final Gson gson = new Gson();
21-
@EventHandler
22-
public void onBungeePubSubMessage(PubSubMessageEvent event){
23-
if(!event.getChannel().equals("scl_cmdlog")){
24-
return;
25-
}
26-
JsonObject jsonObject = gson.fromJson(event.getMessage(),JsonObject.class);
27-
String serverName = jsonObject.get("server").getAsString();
28-
String senderName = jsonObject.get("sender").getAsString();
29-
String message = jsonObject.get("message").getAsString();
30-
TextComponent component = BCmdLog.createTextComponent(serverName,senderName,message);
31-
BSimpleCommandLog.getLog().info(component.getText());
32-
BCmdLog.sendCommandLogMessage(component);
33-
}
34-
@Subscribe
35-
public void onVelocityPubSubMessage(PubSubMessageEvent event){
36-
if(!event.getChannel().equals("scl_cmdlog")){
37-
return;
38-
}
39-
}
21+
public class CommandLogListener {
22+
final Gson gson = new Gson();
4023
public static String serializeJson(String server,String sender,String message) throws IOException {
4124
StringWriter stringWriter = new StringWriter();
4225
JsonWriter jsonWriter = new JsonWriter(new BufferedWriter(stringWriter));

src/main/java/jp/simplespace/simplecommandlog/redisbungee/ToggleListener.java

Lines changed: 9 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,13 @@
66
import com.imaginarycode.minecraft.redisbungee.RedisBungeeAPI;
77
import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
88
import com.velocitypowered.api.event.Subscribe;
9+
import com.velocitypowered.api.proxy.Player;
10+
import jp.simplespace.simplecommandlog.ConfigData;
911
import jp.simplespace.simplecommandlog.bungee.BCmdLog;
1012
import jp.simplespace.simplecommandlog.bungee.BSimpleCommandLog;
13+
import jp.simplespace.simplecommandlog.velocity.VSimpleCommandLog;
14+
import net.kyori.adventure.text.Component;
15+
import net.kyori.adventure.text.format.NamedTextColor;
1116
import net.md_5.bungee.api.ChatColor;
1217
import net.md_5.bungee.api.chat.TextComponent;
1318
import net.md_5.bungee.api.connection.ProxiedPlayer;
@@ -20,48 +25,15 @@
2025
import java.io.File;
2126
import java.io.IOException;
2227
import java.io.StringWriter;
28+
import java.util.ArrayList;
2329
import java.util.List;
30+
import java.util.Optional;
2431
import java.util.UUID;
2532

2633
import static jp.simplespace.simplecommandlog.bungee.BSimpleCommandLog.*;
2734

28-
public class ToggleListener implements Listener {
29-
private final Gson gson = new Gson();
30-
@EventHandler
31-
public void onBungeePubSubMessage(PubSubMessageEvent event){
32-
if(!event.getChannel().equals("scl_toggle")){
33-
return;
34-
}
35-
JsonObject jsonObject = gson.fromJson(event.getMessage(),JsonObject.class);
36-
String uuid = jsonObject.get("uuid").getAsString();
37-
boolean boo = jsonObject.get("boolean").getAsBoolean();
38-
List<String> list = config.getStringList("cmdlog.players");
39-
ProxiedPlayer p = BSimpleCommandLog.proxy.getPlayer(UUID.fromString(uuid));
40-
if(boo){
41-
list.add(uuid);
42-
if(p!=null){
43-
p.sendMessage(new TextComponent(prefix + ChatColor.GRAY + "コマンドログ表示を有効にしました。"));
44-
}
45-
}
46-
else {
47-
list.remove(uuid);
48-
if(p!=null){
49-
p.sendMessage(new TextComponent(prefix + ChatColor.GRAY + "コマンドログ表示を無効にしました。"));
50-
}
51-
}
52-
config.set("cmdlog.players",list);
53-
try {
54-
ConfigurationProvider.getProvider(YamlConfiguration.class).save(config,new File(plugin.getDataFolder(),"config.yml"));
55-
} catch (IOException e) {
56-
e.printStackTrace();
57-
}
58-
}
59-
@Subscribe
60-
public void onVelocityPubSubMessage(PubSubMessageEvent event){
61-
if(!event.getChannel().equals("scl_toggle")){
62-
return;
63-
}
64-
}
35+
public class ToggleListener {
36+
final Gson gson = new Gson();
6537
public static String serializeJson(String uuid,boolean boo) throws IOException {
6638
StringWriter stringWriter = new StringWriter();
6739
JsonWriter jsonWriter = new JsonWriter(new BufferedWriter(stringWriter));
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package jp.simplespace.simplecommandlog.redisbungee;
2+
3+
import com.google.gson.JsonObject;
4+
import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
5+
import com.velocitypowered.api.event.Subscribe;
6+
import jp.simplespace.simplecommandlog.velocity.VCmdLog;
7+
import jp.simplespace.simplecommandlog.velocity.VSimpleCommandLog;
8+
9+
public class VCommandLogListener extends CommandLogListener{
10+
@Subscribe
11+
public void onVelocityPubSubMessage(PubSubMessageEvent event){
12+
if(!event.getChannel().equals("scl_cmdlog")){
13+
return;
14+
}
15+
JsonObject jsonObject = gson.fromJson(event.getMessage(),JsonObject.class);
16+
String serverName = jsonObject.get("server").getAsString();
17+
String senderName = jsonObject.get("sender").getAsString();
18+
String message = jsonObject.get("message").getAsString();
19+
net.kyori.adventure.text.TextComponent component = VCmdLog.createTextComponent(serverName,senderName,message);
20+
VSimpleCommandLog.getLogger().info(component.content());
21+
VCmdLog.sendCommandLogMessage(component);
22+
}
23+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package jp.simplespace.simplecommandlog.redisbungee;
2+
3+
import com.google.gson.JsonObject;
4+
import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
5+
import com.velocitypowered.api.event.Subscribe;
6+
import com.velocitypowered.api.proxy.Player;
7+
import jp.simplespace.simplecommandlog.ConfigData;
8+
import jp.simplespace.simplecommandlog.velocity.VSimpleCommandLog;
9+
import net.kyori.adventure.text.Component;
10+
import net.kyori.adventure.text.format.NamedTextColor;
11+
12+
import java.util.ArrayList;
13+
import java.util.List;
14+
import java.util.Optional;
15+
import java.util.UUID;
16+
17+
public class VToggleListener extends ToggleListener{
18+
@Subscribe
19+
public void onVelocityPubSubMessage(PubSubMessageEvent event){
20+
if(!event.getChannel().equals("scl_toggle")){
21+
return;
22+
}
23+
JsonObject jsonObject = gson.fromJson(event.getMessage(),JsonObject.class);
24+
String uuid = jsonObject.get("uuid").getAsString();
25+
boolean boo = jsonObject.get("boolean").getAsBoolean();
26+
ConfigData configData = VSimpleCommandLog.getConfigData();
27+
List<String> list = configData.getCmdlog().get("players");
28+
if(list==null){
29+
list=new ArrayList<>();
30+
}
31+
Optional<Player> p = VSimpleCommandLog.getServer().getPlayer(UUID.fromString(uuid));
32+
if(boo){
33+
list.add(uuid);
34+
p.ifPresent(player -> player.sendMessage(Component.text().append(VSimpleCommandLog.prefix).append(Component.text("コマンドログ表示を有効にしました。", NamedTextColor.GRAY)).build()));
35+
}
36+
else {
37+
list.remove(uuid);
38+
if(p.isPresent()){
39+
p.ifPresent(player -> player.sendMessage(Component.text().append(VSimpleCommandLog.prefix).append(Component.text("コマンドログ表示を無効にしました。", NamedTextColor.GRAY)).build()));
40+
}
41+
}
42+
if(!configData.cmdlog.containsKey("players")) configData.getCmdlog().put("players",list);
43+
else configData.getCmdlog().replace("players",list);
44+
VSimpleCommandLog.saveConfig(configData);
45+
}
46+
}

0 commit comments

Comments
 (0)