diff --git a/pom.xml b/pom.xml
index 0ccfe46..270da7f 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1,251 +1,251 @@
-
- 4.0.0
-
- com.github.TBMCPlugins
- DiscordPlugin
- master-SNAPSHOT
- jar
-
- DiscordPlugin
- http://maven.apache.org
-
-
-
- src/main/java
-
-
- src
-
- **/*.java
-
-
-
- src/main/resources
-
- *.properties
- *.yml
- *.csv
- *.txt
-
- true
-
-
- DiscordPlugin
-
-
- maven-compiler-plugin
- 3.6.2
-
- 1.8
- 1.8
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 2.4.2
-
-
- package
-
- shade
-
-
-
-
- org.spigotmc:spigot-api
- com.github.TBMCPlugins.ButtonCore:ButtonCore
- net.ess3:Essentials
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-resources-plugin
- 3.0.1
-
-
- copy
- compile
-
- copy-resources
-
-
- target
-
-
- resources
-
-
-
-
-
-
-
-
- maven-surefire-plugin
-
- false
-
-
-
-
-
-
-
- UTF-8
-
- master
-
-
-
-
-
- spigot-repo
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/
-
-
- jcenter
- http://jcenter.bintray.com
-
-
- jitpack.io
- https://jitpack.io
-
-
- vault-repo
- http://nexus.hc.to/content/repositories/pub_releases
-
-
- Essentials
- http://repo.ess3.net/content/repositories/essrel/
-
-
- projectlombok.org
- http://projectlombok.org/mavenrepo
-
-
-
-
-
-
- junit
- junit
- 3.8.1
- test
-
-
- org.spigotmc
- spigot-api
- 1.12-R0.1-SNAPSHOT
- provided
-
-
- org.spigotmc
- spigot
- 1.12.2-R0.1-SNAPSHOT
- provided
-
-
-
-
- com.github.SizableShrimp
- Discord4J
- httprequestchange-SNAPSHOT
-
-
-
- org.slf4j
- slf4j-jdk14
- 1.7.21
-
-
- com.github.TBMCPlugins.ButtonCore
- ButtonCore
- ${branch}-SNAPSHOT
- provided
-
-
- com.github.milkbowl
- VaultAPI
- master-SNAPSHOT
- provided
-
-
- net.ess3
- Essentials
- 2.13.1
- provided
-
-
- com.github.xaanit
- D4J-OAuth
- master-SNAPSHOT
-
-
-
- org.projectlombok
- lombok
- 1.16.16
- provided
-
-
-
-
- org.objenesis
- objenesis
- 2.6
- test
-
-
- com.vdurmont
- emoji-java
- 4.0.0
-
-
-
-
-
- ci
-
-
- env.TRAVIS_BRANCH
-
-
-
-
- ${env.TRAVIS_BRANCH}
-
-
-
-
+
+ 4.0.0
+
+ com.github.TBMCPlugins
+ DiscordPlugin
+ master-SNAPSHOT
+ jar
+
+ DiscordPlugin
+ http://maven.apache.org
+
+
+
+ src/main/java
+
+
+ src
+
+ **/*.java
+
+
+
+ src/main/resources
+
+ *.properties
+ *.yml
+ *.csv
+ *.txt
+
+ true
+
+
+ DiscordPlugin
+
+
+ maven-compiler-plugin
+ 3.6.2
+
+ 1.8
+ 1.8
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 2.4.2
+
+
+ package
+
+ shade
+
+
+
+
+ org.spigotmc:spigot-api
+ com.github.TBMCPlugins.ButtonCore:ButtonCore
+ net.ess3:Essentials
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 3.0.1
+
+
+ copy
+ compile
+
+ copy-resources
+
+
+ target
+
+
+ resources
+
+
+
+
+
+
+
+
+ maven-surefire-plugin
+
+ false
+
+
+
+
+
+
+
+ UTF-8
+
+ master
+
+
+
+
+
+ spigot-repo
+ https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
+
+ jcenter
+ http://jcenter.bintray.com
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+
+ Essentials
+ http://repo.ess3.net/content/repositories/essrel/
+
+
+ projectlombok.org
+ http://projectlombok.org/mavenrepo
+
+
+
+
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+ org.spigotmc
+ spigot-api
+ 1.12-R0.1-SNAPSHOT
+ provided
+
+
+ org.spigotmc
+ spigot
+ 1.12.2-R0.1-SNAPSHOT
+ provided
+
+
+
+
+ com.github.SizableShrimp
+ Discord4J
+ httprequestchange-SNAPSHOT
+
+
+
+ org.slf4j
+ slf4j-jdk14
+ 1.7.21
+
+
+ com.github.TBMCPlugins.ButtonCore
+ ButtonCore
+ ${branch}-SNAPSHOT
+ provided
+
+
+ com.github.milkbowl
+ VaultAPI
+ master-SNAPSHOT
+ provided
+
+
+ net.ess3
+ Essentials
+ 2.13.1
+ provided
+
+
+ com.github.xaanit
+ D4J-OAuth
+ master-SNAPSHOT
+
+
+
+ org.projectlombok
+ lombok
+ 1.16.16
+ provided
+
+
+
+
+ org.objenesis
+ objenesis
+ 2.6
+ test
+
+
+ com.vdurmont
+ emoji-java
+ 4.0.0
+
+
+
+
+
+ ci
+
+
+ env.TRAVIS_BRANCH
+
+
+
+
+ ${env.TRAVIS_BRANCH}
+
+
+
+
diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java
index fc12fed..eab7e6e 100755
--- a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java
+++ b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java
@@ -5,6 +5,7 @@ import buttondevteam.discordplugin.commands.Command2DC;
import buttondevteam.discordplugin.commands.DiscordCommandBase;
import buttondevteam.discordplugin.commands.VersionCommand;
import buttondevteam.discordplugin.exceptions.ExceptionListenerModule;
+import buttondevteam.discordplugin.fun.FunModule;
import buttondevteam.discordplugin.listeners.CommonListeners;
import buttondevteam.discordplugin.listeners.MCListener;
import buttondevteam.discordplugin.mcchat.MCChatPrivate;
@@ -89,18 +90,6 @@ public class DiscordPlugin extends ButtonPlugin implements IListener
}
}
- public static IChannel botchannel; //Can be removed
- public static IChannel annchannel;
- public static IChannel genchannel;
- public static IChannel chatchannel;
- public static IChannel botroomchannel;
- public static IChannel modlogchannel;
- /**
- * Don't send messages, just receive, the same channel is used when testing
- */
- public static IChannel officechannel;
- public static IChannel updatechannel;
- public static IChannel devofficechannel;
public static IGuild mainServer;
public static IGuild devServer;
@@ -119,31 +108,10 @@ public class DiscordPlugin extends ButtonPlugin implements IListener
if (mainServer == null || devServer == null)
return; // Retry
if (!TBMCCoreAPI.IsTestServer()) { //Don't change conditions here, see mainServer=devServer=null in onDisable()
- botchannel = mainServer.getChannelByID(209720707188260864L); // bot
- annchannel = mainServer.getChannelByID(126795071927353344L); // announcements
- genchannel = mainServer.getChannelByID(125813020357165056L); // general
- chatchannel = mainServer.getChannelByID(249663564057411596L); // minecraft_chat
- botroomchannel = devServer.getChannelByID(239519012529111040L); // bot-room
- officechannel = devServer.getChannelByID(219626707458457603L); // developers-office
- updatechannel = devServer.getChannelByID(233724163519414272L); // server-updates
- devofficechannel = officechannel; // developers-office
- modlogchannel = mainServer.getChannelByID(283840717275791360L); // modlog
dc.changePresence(StatusType.ONLINE, ActivityType.PLAYING, "Chromacraft");
} else {
- botchannel = devServer.getChannelByID(239519012529111040L); // bot-room
- annchannel = botchannel; // bot-room
- genchannel = botchannel; // bot-room
- botroomchannel = botchannel;// bot-room
- chatchannel = botchannel;// bot-room
- officechannel = devServer.getChannelByID(219626707458457603L); // developers-office
- updatechannel = botchannel;
- devofficechannel = botchannel;// bot-room
- modlogchannel = botchannel; // bot-room
dc.changePresence(StatusType.ONLINE, ActivityType.PLAYING, "testing");
}
- if (botchannel == null || annchannel == null || genchannel == null || botroomchannel == null
- || chatchannel == null || officechannel == null || updatechannel == null)
- return; // Retry
SafeMode = false;
if (task != null)
task.cancel();
@@ -153,6 +121,7 @@ public class DiscordPlugin extends ButtonPlugin implements IListener
Component.registerComponent(this, new ExceptionListenerModule());
Component.registerComponent(this, new GameRoleModule()); //Needs the mainServer to be set
Component.registerComponent(this, new AnnouncerModule());
+ Component.registerComponent(this, new FunModule());
new ChromaBot(this).updatePlayerList(); //Initialize ChromaBot - The MCCHatModule is tested to be enabled
DiscordCommandBase.registerCommands();
diff --git a/src/main/java/buttondevteam/discordplugin/exceptions/DebugMessageListener.java b/src/main/java/buttondevteam/discordplugin/exceptions/DebugMessageListener.java
index cca3e98..95c3cdb 100755
--- a/src/main/java/buttondevteam/discordplugin/exceptions/DebugMessageListener.java
+++ b/src/main/java/buttondevteam/discordplugin/exceptions/DebugMessageListener.java
@@ -1,31 +1,32 @@
-package buttondevteam.discordplugin.exceptions;
-
-import buttondevteam.discordplugin.DiscordPlugin;
-import buttondevteam.lib.TBMCDebugMessageEvent;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-
-public class DebugMessageListener implements Listener{
- @EventHandler
- public void onDebugMessage(TBMCDebugMessageEvent e) {
- SendMessage(e.getDebugMessage());
- e.setSent();
- }
-
- private static void SendMessage(String message) {
- if (DiscordPlugin.SafeMode)
- return;
- try {
- StringBuilder sb = new StringBuilder();
- sb.append("```").append("\n");
- if (message.length() > 2000)
- message = message.substring(0, 2000);
- sb.append(message).append("\n");
- sb.append("```");
- DiscordPlugin.sendMessageToChannel(DiscordPlugin.botroomchannel, sb.toString());
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
-
-}
+package buttondevteam.discordplugin.exceptions;
+
+import buttondevteam.core.ComponentManager;
+import buttondevteam.discordplugin.DiscordPlugin;
+import buttondevteam.lib.TBMCDebugMessageEvent;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+
+public class DebugMessageListener implements Listener{
+ @EventHandler
+ public void onDebugMessage(TBMCDebugMessageEvent e) {
+ SendMessage(e.getDebugMessage());
+ e.setSent();
+ }
+
+ private static void SendMessage(String message) {
+ if (DiscordPlugin.SafeMode || !ComponentManager.isEnabled(ExceptionListenerModule.class))
+ return;
+ try {
+ StringBuilder sb = new StringBuilder();
+ sb.append("```").append("\n");
+ if (message.length() > 2000)
+ message = message.substring(0, 2000);
+ sb.append(message).append("\n");
+ sb.append("```");
+ DiscordPlugin.sendMessageToChannel(ExceptionListenerModule.getChannel(), sb.toString());
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+}
diff --git a/src/main/java/buttondevteam/discordplugin/exceptions/ExceptionListenerModule.java b/src/main/java/buttondevteam/discordplugin/exceptions/ExceptionListenerModule.java
index f491a24..6821e6f 100755
--- a/src/main/java/buttondevteam/discordplugin/exceptions/ExceptionListenerModule.java
+++ b/src/main/java/buttondevteam/discordplugin/exceptions/ExceptionListenerModule.java
@@ -1,76 +1,92 @@
-package buttondevteam.discordplugin.exceptions;
-
-import buttondevteam.core.ComponentManager;
-import buttondevteam.discordplugin.DiscordPlugin;
-import buttondevteam.lib.TBMCCoreAPI;
-import buttondevteam.lib.TBMCExceptionEvent;
-import buttondevteam.lib.architecture.Component;
-import org.apache.commons.lang.exception.ExceptionUtils;
-import org.bukkit.Bukkit;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import sx.blah.discord.handle.obj.IRole;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.stream.Collectors;
-
-public class ExceptionListenerModule extends Component implements Listener {
- private List lastthrown = new ArrayList<>();
- private List lastsourcemsg = new ArrayList<>();
-
- @EventHandler
- public void onException(TBMCExceptionEvent e) {
- if (DiscordPlugin.SafeMode || !ComponentManager.isEnabled(getClass()))
- return;
- if (lastthrown.stream()
- .anyMatch(ex -> Arrays.equals(e.getException().getStackTrace(), ex.getStackTrace())
- && (e.getException().getMessage() == null ? ex.getMessage() == null
- : e.getException().getMessage().equals(ex.getMessage()))) // e.Exception.Message==ex.Message
- && lastsourcemsg.contains(e.getSourceMessage()))
- return;
- SendException(e.getException(), e.getSourceMessage());
- if (lastthrown.size() >= 10)
- lastthrown.remove(0);
- if (lastsourcemsg.size() >= 10)
- lastsourcemsg.remove(0);
- lastthrown.add(e.getException());
- lastsourcemsg.add(e.getSourceMessage());
- e.setHandled();
- }
-
- private static IRole coderRole;
-
- private static void SendException(Throwable e, String sourcemessage) {
- try {
- if (coderRole == null)
- coderRole = DiscordPlugin.devServer.getRolesByName("Coder").get(0);
- StringBuilder sb = TBMCCoreAPI.IsTestServer() ? new StringBuilder()
- : new StringBuilder(coderRole.mention()).append("\n");
- sb.append(sourcemessage).append("\n");
- sb.append("```").append("\n");
- String stackTrace = Arrays.stream(ExceptionUtils.getStackTrace(e).split("\\n"))
- .filter(s -> !s.contains("\tat ") || s.contains("\tat buttondevteam."))
- .collect(Collectors.joining("\n"));
- if (stackTrace.length() > 1800)
- stackTrace = stackTrace.substring(0, 1800);
- sb.append(stackTrace).append("\n");
- sb.append("```");
- DiscordPlugin.sendMessageToChannel(DiscordPlugin.botroomchannel, sb.toString());
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
-
- @Override
- protected void enable() {
- Bukkit.getPluginManager().registerEvents(new ExceptionListenerModule(), getPlugin());
- TBMCCoreAPI.RegisterEventsForExceptions(new DebugMessageListener(), getPlugin());
- }
-
- @Override
- protected void disable() {
-
- }
-}
+package buttondevteam.discordplugin.exceptions;
+
+import buttondevteam.core.ComponentManager;
+import buttondevteam.discordplugin.DPUtils;
+import buttondevteam.discordplugin.DiscordPlugin;
+import buttondevteam.lib.TBMCCoreAPI;
+import buttondevteam.lib.TBMCExceptionEvent;
+import buttondevteam.lib.architecture.Component;
+import buttondevteam.lib.architecture.ConfigData;
+import org.apache.commons.lang.exception.ExceptionUtils;
+import org.bukkit.Bukkit;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import sx.blah.discord.handle.obj.IChannel;
+import sx.blah.discord.handle.obj.IRole;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class ExceptionListenerModule extends Component implements Listener {
+ private List lastthrown = new ArrayList<>();
+ private List lastsourcemsg = new ArrayList<>();
+
+ @EventHandler
+ public void onException(TBMCExceptionEvent e) {
+ if (DiscordPlugin.SafeMode || !ComponentManager.isEnabled(getClass()))
+ return;
+ if (lastthrown.stream()
+ .anyMatch(ex -> Arrays.equals(e.getException().getStackTrace(), ex.getStackTrace())
+ && (e.getException().getMessage() == null ? ex.getMessage() == null
+ : e.getException().getMessage().equals(ex.getMessage()))) // e.Exception.Message==ex.Message
+ && lastsourcemsg.contains(e.getSourceMessage()))
+ return;
+ SendException(e.getException(), e.getSourceMessage());
+ if (lastthrown.size() >= 10)
+ lastthrown.remove(0);
+ if (lastsourcemsg.size() >= 10)
+ lastsourcemsg.remove(0);
+ lastthrown.add(e.getException());
+ lastsourcemsg.add(e.getSourceMessage());
+ e.setHandled();
+ }
+
+ private static IRole coderRole;
+
+ private static void SendException(Throwable e, String sourcemessage) {
+ if (instance == null) return;
+ try {
+ if (coderRole == null)
+ coderRole = DiscordPlugin.devServer.getRolesByName("Coder").get(0);
+ StringBuilder sb = TBMCCoreAPI.IsTestServer() ? new StringBuilder()
+ : new StringBuilder(coderRole.mention()).append("\n");
+ sb.append(sourcemessage).append("\n");
+ sb.append("```").append("\n");
+ String stackTrace = Arrays.stream(ExceptionUtils.getStackTrace(e).split("\\n"))
+ .filter(s -> !s.contains("\tat ") || s.contains("\tat buttondevteam."))
+ .collect(Collectors.joining("\n"));
+ if (stackTrace.length() > 1800)
+ stackTrace = stackTrace.substring(0, 1800);
+ sb.append(stackTrace).append("\n");
+ sb.append("```");
+ DiscordPlugin.sendMessageToChannel(getChannel(), sb.toString()); //Instance isn't null here
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
+
+ private static ExceptionListenerModule instance;
+
+ public static IChannel getChannel() {
+ if (instance != null) return instance.channel().get();
+ return null;
+ }
+
+ private ConfigData channel() {
+ return DPUtils.channelData(getConfig(), "channel", 239519012529111040L);
+ }
+
+ @Override
+ protected void enable() {
+ instance = this;
+ Bukkit.getPluginManager().registerEvents(new ExceptionListenerModule(), getPlugin());
+ TBMCCoreAPI.RegisterEventsForExceptions(new DebugMessageListener(), getPlugin());
+ }
+
+ @Override
+ protected void disable() {
+ instance = null;
+ }
+}
diff --git a/src/main/java/buttondevteam/discordplugin/fun/FunModule.java b/src/main/java/buttondevteam/discordplugin/fun/FunModule.java
index 9565a53..c5bfd8d 100644
--- a/src/main/java/buttondevteam/discordplugin/fun/FunModule.java
+++ b/src/main/java/buttondevteam/discordplugin/fun/FunModule.java
@@ -1,6 +1,7 @@
package buttondevteam.discordplugin.fun;
import buttondevteam.core.ComponentManager;
+import buttondevteam.discordplugin.DPUtils;
import buttondevteam.discordplugin.DiscordPlugin;
import buttondevteam.lib.TBMCCoreAPI;
import buttondevteam.lib.architecture.Component;
@@ -12,6 +13,7 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import sx.blah.discord.handle.impl.events.user.PresenceUpdateEvent;
+import sx.blah.discord.handle.obj.IChannel;
import sx.blah.discord.handle.obj.IMessage;
import sx.blah.discord.handle.obj.IRole;
import sx.blah.discord.handle.obj.StatusType;
@@ -123,6 +125,11 @@ public class FunModule extends Component implements Listener {
}, IRole::getName);
}
+
+ private ConfigData fullHouseChannel() {
+ return DPUtils.channelData(getConfig(), "fullHouseChannel", 219626707458457603L);
+ }
+
private static long lasttime = 0;
public static void handleFullHouse(PresenceUpdateEvent event) {
@@ -138,7 +145,7 @@ public class FunModule extends Component implements Listener {
.noneMatch(u -> u.getPresence().getStatus().equals(StatusType.OFFLINE))
&& lasttime + 10 < TimeUnit.NANOSECONDS.toHours(System.nanoTime())
&& Calendar.getInstance().get(Calendar.DAY_OF_MONTH) % 5 == 0) {
- DiscordPlugin.sendMessageToChannel(DiscordPlugin.devofficechannel, "Full house!",
+ DiscordPlugin.sendMessageToChannel(mod.fullHouseChannel().get(), "Full house!",
new EmbedBuilder()
.withImage(
"https://cdn.discordapp.com/attachments/249295547263877121/249687682618359808/poker-hand-full-house-aces-kings-playing-cards-15553791.png")
diff --git a/src/main/java/buttondevteam/discordplugin/mcchat/MCListener.java b/src/main/java/buttondevteam/discordplugin/mcchat/MCListener.java
index ca34d8c..fbf9d27 100644
--- a/src/main/java/buttondevteam/discordplugin/mcchat/MCListener.java
+++ b/src/main/java/buttondevteam/discordplugin/mcchat/MCListener.java
@@ -3,8 +3,10 @@ package buttondevteam.discordplugin.mcchat;
import buttondevteam.discordplugin.*;
import buttondevteam.lib.TBMCCoreAPI;
import buttondevteam.lib.TBMCSystemChatEvent;
+import buttondevteam.lib.architecture.ConfigData;
import buttondevteam.lib.player.*;
import com.earth2me.essentials.CommandSource;
+import lombok.RequiredArgsConstructor;
import lombok.val;
import net.ess3.api.events.AfkStatusChangeEvent;
import net.ess3.api.events.MuteStatusChangeEvent;
@@ -26,14 +28,17 @@ import sx.blah.discord.handle.obj.IUser;
import sx.blah.discord.util.DiscordException;
import sx.blah.discord.util.MissingPermissionsException;
+@RequiredArgsConstructor
class MCListener implements Listener {
+ private final MinecraftChatModule module;
+
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerLogin(PlayerLoginEvent e) {
if (e.getResult() != Result.ALLOWED)
return;
MCChatUtils.ConnectedSenders.values().stream().flatMap(v -> v.values().stream()) //Only private mcchat should be in ConnectedSenders
- .filter(s -> s.getUniqueId().equals(e.getPlayer().getUniqueId())).findAny()
- .ifPresent(dcp -> buttondevteam.discordplugin.listeners.MCListener.callEventExcludingSome(new PlayerQuitEvent(dcp, "")));
+ .filter(s -> s.getUniqueId().equals(e.getPlayer().getUniqueId())).findAny()
+ .ifPresent(dcp -> buttondevteam.discordplugin.listeners.MCListener.callEventExcludingSome(new PlayerQuitEvent(dcp, "")));
}
@EventHandler(priority = EventPriority.LOWEST)
@@ -46,9 +51,9 @@ class MCListener implements Listener {
if (dp != null) {
val user = DiscordPlugin.dc.getUserByID(Long.parseLong(dp.getDiscordID()));
MCChatUtils.addSender(MCChatUtils.OnlineSenders, dp.getDiscordID(),
- new DiscordPlayerSender(user, user.getOrCreatePMChannel(), p));
+ new DiscordPlayerSender(user, user.getOrCreatePMChannel(), p));
MCChatUtils.addSender(MCChatUtils.OnlineSenders, dp.getDiscordID(),
- new DiscordPlayerSender(user, DiscordPlugin.chatchannel, p)); //Stored per-channel
+ new DiscordPlayerSender(user, module.chatChannel().get(), p)); //Stored per-channel
}
final String message = e.GetPlayer().PlayerName().get() + " joined the game";
MCChatUtils.forAllowedCustomAndAllMCChat(MCChatUtils.send(message), e.getPlayer(), ChannelconBroadcast.JOINLEAVE, true);
@@ -61,13 +66,13 @@ class MCListener implements Listener {
if (e.getPlayer() instanceof DiscordConnectedPlayer)
return; // Only care about real users
MCChatUtils.OnlineSenders.entrySet()
- .removeIf(entry -> entry.getValue().entrySet().stream().anyMatch(p -> p.getValue().getUniqueId().equals(e.getPlayer().getUniqueId())));
+ .removeIf(entry -> entry.getValue().entrySet().stream().anyMatch(p -> p.getValue().getUniqueId().equals(e.getPlayer().getUniqueId())));
Bukkit.getScheduler().runTask(DiscordPlugin.plugin,
- () -> MCChatUtils.ConnectedSenders.values().stream().flatMap(v -> v.values().stream())
- .filter(s -> s.getUniqueId().equals(e.getPlayer().getUniqueId())).findAny()
- .ifPresent(dcp -> buttondevteam.discordplugin.listeners.MCListener.callEventExcludingSome(new PlayerJoinEvent(dcp, ""))));
+ () -> MCChatUtils.ConnectedSenders.values().stream().flatMap(v -> v.values().stream())
+ .filter(s -> s.getUniqueId().equals(e.getPlayer().getUniqueId())).findAny()
+ .ifPresent(dcp -> buttondevteam.discordplugin.listeners.MCListener.callEventExcludingSome(new PlayerJoinEvent(dcp, ""))));
Bukkit.getScheduler().runTaskLaterAsynchronously(DiscordPlugin.plugin,
- ChromaBot.getInstance()::updatePlayerList, 5);
+ ChromaBot.getInstance()::updatePlayerList, 5);
final String message = e.GetPlayer().PlayerName().get() + " left the game";
MCChatUtils.forAllowedCustomAndAllMCChat(MCChatUtils.send(message), e.getPlayer(), ChannelconBroadcast.JOINLEAVE, true);
}
@@ -90,32 +95,36 @@ class MCListener implements Listener {
if (e.isCancelled() || !base.isOnline())
return;
final String msg = base.getDisplayName()
- + " is " + (e.getValue() ? "now" : "no longer") + " AFK.";
+ + " is " + (e.getValue() ? "now" : "no longer") + " AFK.";
MCChatUtils.forAllowedCustomAndAllMCChat(MCChatUtils.send(msg), base, ChannelconBroadcast.AFK, false);
}
+ private ConfigData muteRole() {
+ return DPUtils.roleData(module.getConfig(), "muteRole", "Muted");
+ }
+
@EventHandler
public void onPlayerMute(MuteStatusChangeEvent e) {
try {
DPUtils.performNoWait(() -> {
- final IRole role = DiscordPlugin.dc.getRoleByID(164090010461667328L); //TODO: Config
+ final IRole role = muteRole().get();
final CommandSource source = e.getAffected().getSource();
if (!source.isPlayer())
return;
final DiscordPlayer p = TBMCPlayerBase.getPlayer(source.getPlayer().getUniqueId(), TBMCPlayer.class)
- .getAs(DiscordPlayer.class);
+ .getAs(DiscordPlayer.class);
if (p == null) return;
final IUser user = DiscordPlugin.dc.getUserByID(
- Long.parseLong(p.getDiscordID()));
+ Long.parseLong(p.getDiscordID()));
if (e.getValue())
user.addRole(role);
else
user.removeRole(role);
- DiscordPlugin.sendMessageToChannel(DiscordPlugin.modlogchannel, (e.getValue() ? "M" : "Unm") + "uted user: " + user.getName());
+ DiscordPlugin.sendMessageToChannel(module.modlogChannel().get(), (e.getValue() ? "M" : "Unm") + "uted user: " + user.getName());
});
} catch (DiscordException | MissingPermissionsException ex) {
TBMCCoreAPI.SendException("Failed to give/take Muted role to player " + e.getAffected().getName() + "!",
- ex);
+ ex);
}
}
@@ -132,7 +141,7 @@ class MCListener implements Listener {
@EventHandler
public void onYEEHAW(TBMCYEEHAWEvent event) { //TODO: Inherit from the chat event base to have channel support
String name = event.getSender() instanceof Player ? ((Player) event.getSender()).getDisplayName()
- : event.getSender().getName();
+ : event.getSender().getName();
//Channel channel = ChromaGamerBase.getFromSender(event.getSender()).channel().get(); - TODO
MCChatUtils.forAllMCChat(MCChatUtils.send(name + " <:YEEHAW:" + DiscordPlugin.mainServer.getEmojiByName("YEEHAW").getStringID() + ">s"));
}
diff --git a/src/main/java/buttondevteam/discordplugin/mcchat/MinecraftChatModule.java b/src/main/java/buttondevteam/discordplugin/mcchat/MinecraftChatModule.java
index 55d68d6..3684a5f 100644
--- a/src/main/java/buttondevteam/discordplugin/mcchat/MinecraftChatModule.java
+++ b/src/main/java/buttondevteam/discordplugin/mcchat/MinecraftChatModule.java
@@ -32,12 +32,16 @@ public class MinecraftChatModule extends Component {
return DPUtils.channelData(getConfig(), "chatChannel", 239519012529111040L);
}
+ public ConfigData modlogChannel() {
+ return DPUtils.channelData(getConfig(), "modlogChannel", 283840717275791360L);
+ }
+
@Override
protected void enable() {
listener = new MCChatListener(this);
DiscordPlugin.dc.getDispatcher().registerListener(listener);
TBMCCoreAPI.RegisterEventsForExceptions(listener, getPlugin());
- TBMCCoreAPI.RegisterEventsForExceptions(new MCListener(), getPlugin());//These get undone if restarting/resetting - it will ignore events if disabled
+ TBMCCoreAPI.RegisterEventsForExceptions(new MCListener(this), getPlugin());//These get undone if restarting/resetting - it will ignore events if disabled
val chcons = getConfig().getConfig().getConfigurationSection("chcons");
if (chcons == null) //Fallback to old place