diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml
index 16739ca..1a2a882 100644
--- a/dependency-reduced-pom.xml
+++ b/dependency-reduced-pom.xml
@@ -178,10 +178,16 @@
1.2.3
compile
+
+ com.cnaude
+ RedditStream
+ 0.2
+ compile
+
com.kitteh.vanish
VanishNoPacket
- 3.19.1
+ 3.18.7
compile
diff --git a/pom.xml b/pom.xml
index c74551e..ba5e31f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -142,6 +142,13 @@
1.2.3
+
+
+ com.cnaude
+ RedditStream
+ 0.2
+
+
com.kitteh.vanish
diff --git a/src/main/java/com/cnaude/purpleirc/GameListeners/RedditStreamListener.java b/src/main/java/com/cnaude/purpleirc/GameListeners/RedditStreamListener.java
new file mode 100644
index 0000000..c3d3305
--- /dev/null
+++ b/src/main/java/com/cnaude/purpleirc/GameListeners/RedditStreamListener.java
@@ -0,0 +1,36 @@
+package com.cnaude.purpleirc.GameListeners;
+
+import com.cnaude.purpleirc.PurpleBot;
+import com.cnaude.purpleirc.PurpleIRC;
+import io.github.wolf_359.RedditBroadcastEvent;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+
+/**
+ *
+ * @author cnaude
+ */
+public class RedditStreamListener implements Listener {
+
+ private final PurpleIRC plugin;
+
+ /**
+ *
+ * @param plugin
+ */
+ public RedditStreamListener(PurpleIRC plugin) {
+ this.plugin = plugin;
+ }
+
+ /**
+ *
+ * @param event
+ */
+ @EventHandler
+ public void onRedditBroadcastEvent(RedditBroadcastEvent event) {
+ plugin.logDebug("onRedditBroadcastEvent caught");
+ for (PurpleBot ircBot : plugin.ircBots.values()) {
+ ircBot.redditStreamBroadcast(event.getMessage());
+ }
+ }
+}
diff --git a/src/main/java/com/cnaude/purpleirc/PurpleBot.java b/src/main/java/com/cnaude/purpleirc/PurpleBot.java
index 18f6368..7dc41d6 100644
--- a/src/main/java/com/cnaude/purpleirc/PurpleBot.java
+++ b/src/main/java/com/cnaude/purpleirc/PurpleBot.java
@@ -1257,6 +1257,21 @@ public void consoleBroadcast(String message) {
}
}
}
+
+ /**
+ *
+ * @param message
+ */
+ public void redditStreamBroadcast(String message) {
+ if (!this.isConnected()) {
+ return;
+ }
+ for (String channelName : botChannels) {
+ if (isMessageEnabled(channelName, TemplateName.REDDIT_MESSAGES)) {
+ asyncIRCMessage(channelName, plugin.tokenizer.gameChatToIRCTokenizer(plugin.getMsgTemplate(botNick, TemplateName.REDDIT_MESSAGES), message));
+ }
+ }
+ }
/**
*
diff --git a/src/main/java/com/cnaude/purpleirc/PurpleIRC.java b/src/main/java/com/cnaude/purpleirc/PurpleIRC.java
index b461b05..bd031cc 100644
--- a/src/main/java/com/cnaude/purpleirc/PurpleIRC.java
+++ b/src/main/java/com/cnaude/purpleirc/PurpleIRC.java
@@ -17,6 +17,7 @@
import com.cnaude.purpleirc.GameListeners.McMMOChatListener;
import com.cnaude.purpleirc.GameListeners.OreBroadcastListener;
import com.cnaude.purpleirc.GameListeners.PrismListener;
+import com.cnaude.purpleirc.GameListeners.RedditStreamListener;
import com.cnaude.purpleirc.GameListeners.ReportRTSListener;
import com.cnaude.purpleirc.GameListeners.TitanChatListener;
import com.cnaude.purpleirc.GameListeners.TownyChatListener;
@@ -223,6 +224,12 @@ public void onEnable() {
} else {
logInfo("Prism not detected.");
}
+ if (isPluginEnabled("RedditStream")) {
+ logInfo("Enabling RedditStream support.");
+ getServer().getPluginManager().registerEvents(new RedditStreamListener(this), this);
+ } else {
+ logInfo("RedditStream not detected.");
+ }
if (isPluginEnabled("TownyChat")) {
logInfo("Enabling TownyChat support.");
getServer().getPluginManager().registerEvents(new TownyChatListener(this), this);
diff --git a/src/main/java/com/cnaude/purpleirc/TemplateName.java b/src/main/java/com/cnaude/purpleirc/TemplateName.java
index 7d8e6bb..8e52421 100644
--- a/src/main/java/com/cnaude/purpleirc/TemplateName.java
+++ b/src/main/java/com/cnaude/purpleirc/TemplateName.java
@@ -101,5 +101,7 @@ public class TemplateName {
public final static String PRISM_DRAIN = "prism-drain";
public final static String PRISM_EXTINGUISH = "prism-extinguish";
public final static String PRISM_CUSTOM = "prism-custom";
+
+ public final static String REDDIT_MESSAGES = "reddit-messages";
}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 919a98d..d28e5dc 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -171,6 +171,8 @@ message-format:
prism-drain: '[PrismDrain] [Player: %NAME%] [Radius: %RADIUS%] [OrigBlock: %ORIGINALBLOCK%] [NewBlock: %NEWBLOCK%] [X,Y,Z: %X%,%Y%,%Z%] [World: %BLOCKWORLD%]'
prism-extinguish: '[PrismExtinguish] [Player: %NAME%] [Radius%: %RADIUS] [OrigBlock: %ORIGINALBLOCK%] [NewBlock: %NEWBLOCK%] [X,Y,Z: %X%,%Y%,%Z%] [World: %BLOCKWORLD%]'
prism-custom: '[PrismCustom] [Player: %NAME%] [Action: %ACTION%] [Message: %MESSAGE%] [Plugin: %PLUGIN%]'
+ # RedditStream
+ reddit-messages: '[R] %MESSAGE%'
# Defaults below take effect when user joins IRC and matching player is offline
default-player-suffix: ''
default-player-prefix: ''