Skip to content

Commit 969b5af

Browse files
committed
Feat: Do not require restart to change useChannels config
1 parent a9c0466 commit 969b5af

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

integrations/ChatControl-Red/src/main/java/com/loohp/multichatdiscordsrvaddon/integration/impl/ChatControlRedIntegration.java

+7-4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.bukkit.Bukkit;
1212
import org.bukkit.entity.Player;
1313
import org.bukkit.event.EventPriority;
14+
import org.bukkit.event.player.AsyncPlayerChatEvent;
1415
import org.bukkit.plugin.java.JavaPlugin;
1516
import org.mineacademy.chatcontrol.api.ChatChannelEvent;
1617
import org.mineacademy.chatcontrol.api.SimpleChatEvent;
@@ -33,12 +34,15 @@ public void enable(JavaPlugin plugin) {
3334
EventPriority eventPriority = EventPriority.valueOf(Config.i().getHook().priority());
3435
if (eventPriority == null) throw new IllegalArgumentException("Unknown Hook event priority: " + Config.i().getHook().priority());
3536

36-
if (Config.i().getHook().useChannels()) Events.subscribe(ChatChannelEvent.class, eventPriority)
37+
Events.subscribe(ChatChannelEvent.class, eventPriority)
3738
.filter(EventFilters.ignoreCancelled())
39+
.filter(e -> Config.i().getHook().useChannels())
3840
.filter(e -> !Config.i().getHook().ignoredChannels().contains(e.getChannel().getName()))
3941
.filter(e -> e.getSender() instanceof Player)
4042
.handler(this::onChannelChatEvent);
41-
else Events.subscribe(SimpleChatEvent.class)
43+
44+
Events.subscribe(AsyncPlayerChatEvent.class, eventPriority)
45+
.filter(e -> !Config.i().getHook().useChannels())
4246
.filter(EventFilters.ignoreCancelled())
4347
.handler(this::onPlayerMessage);
4448

@@ -50,7 +54,6 @@ public void disable(JavaPlugin plugin) {}
5054

5155
@Override
5256
public String filter(DynmapSender dynmapSender, String message) {
53-
5457
Checker checker = Checker.filterChannel(dynmapSender, message, null);
5558
if (checker.isCancelledSilently()) return "";
5659

@@ -69,7 +72,7 @@ public void onChannelChatEvent(ChatChannelEvent event) {
6972
);
7073
}
7174

72-
public void onPlayerMessage(SimpleChatEvent event) {
75+
public void onPlayerMessage(AsyncPlayerChatEvent event) {
7376
String formatted = formatForDiscord(event.getMessage());
7477

7578
ChatUtils.toAllow.add(formatted);

integrations/ChatControl/src/main/java/com/loohp/multichatdiscordsrvaddon/integration/impl/ChatControlIntegration.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,16 @@ public void enable(JavaPlugin plugin) {
3636
EventPriority eventPriority = EventPriority.valueOf(Config.i().getHook().priority());
3737
if (eventPriority == null) throw new IllegalArgumentException("Unknown Hook event priority: " + Config.i().getHook().priority());
3838

39-
if (Config.i().getHook().useChannels()) Events.subscribe(ChannelPreChatEvent.class, eventPriority)
39+
Events.subscribe(ChannelPreChatEvent.class, eventPriority)
4040
.filter(EventFilters.ignoreCancelled())
41+
.filter(e -> Config.i().getHook().useChannels())
4142
.filter(e -> !Config.i().getHook().ignoredChannels().contains(e.getChannel().getName()))
4243
.filter(e -> e.getSender() instanceof Player)
4344
.handler(this::onChannelPreChatEvent);
44-
else Events.subscribe(AsyncPlayerChatEvent.class, eventPriority)
45+
46+
Events.subscribe(AsyncPlayerChatEvent.class, eventPriority)
4547
.filter(EventFilters.ignoreCancelled())
48+
.filter(e -> !Config.i().getHook().useChannels())
4649
.handler(this::onPlayerMessage);
4750

4851
ChatUtils.sendMessage("<green>Registered external ChatControl v11 module!");

0 commit comments

Comments
 (0)