Skip to content

Commit

Permalink
Merge pull request #2 from Ashleyz4/master
Browse files Browse the repository at this point in the history
1.4.2
  • Loading branch information
RhysB authored Oct 31, 2019
2 parents 50ccbaf + b019d3b commit 0d5f380
Show file tree
Hide file tree
Showing 3 changed files with 218 additions and 204 deletions.
206 changes: 103 additions & 103 deletions src/com/johnymuffin/discordGameBridge/ConfigReader.java
Original file line number Diff line number Diff line change
@@ -1,103 +1,103 @@
package com.johnymuffin.discordGameBridge;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

class ConfigReader {
// New Config
//discord.Discord().DiscordSendToChannel(gameBridge,
//"**" + ((PlayerJoinEvent) event).getPlayer().getName() + "** Has Joined The Game ["
//+ Bukkit.getServer().getOnlinePlayers().length + "/"
//+ Bukkit.getServer().getMaxPlayers() + "]");

private static String discordChatMessage = "&f[&6Discord&f]&7 %messageAuthor%: %message%";
private static String gameChatMessage = "**%messageAuthor%**: %message%";
private static String joinMessage = "**%username%** Has Joined THe Game [%onlineCount%/%maxCount%]";
private static String quitMessage = "**%username%** Has Quit THe Game [%onlineCount%/%maxCount%]";
private static String serverName = "";
private static String channelID = "";
private static Boolean PrensencePlayercount = Boolean.TRUE;
private static Boolean OnlineCommand = Boolean.TRUE;

ConfigReader(DiscordBot instance) {
Properties prop = new Properties();

try {
prop.load(new FileInputStream(instance.config));
} catch (FileNotFoundException var4) {
instance.logger.warning("[RetroBot] No properties found! Making new file...");
var4.printStackTrace();
} catch (IOException var5) {
var5.printStackTrace();
}
// New Config
serverName = prop.getProperty("serverName", serverName);
channelID = prop.getProperty("channelID", channelID);
PrensencePlayercount = Boolean.valueOf(Boolean.parseBoolean(prop.getProperty("PrensencePlayercount", "" + PrensencePlayercount)));
OnlineCommand = Boolean.valueOf(Boolean.parseBoolean(prop.getProperty("OnlineCommand", "" + OnlineCommand)));
//Join Custom Message
joinMessage = prop.getProperty("joinMessage", joinMessage);
prop.setProperty("joinMessage", joinMessage);
//Quit Custom Message
quitMessage = prop.getProperty("quitMessage", quitMessage);
prop.setProperty("quitMessage", quitMessage);
//Discord Chat Message
discordChatMessage = prop.getProperty("discordChatMessage", discordChatMessage);
prop.setProperty("discordChatMessage", discordChatMessage);
//Game Chat Message
gameChatMessage = prop.getProperty("gameChatMessage", gameChatMessage);
prop.setProperty("gameChatMessage", gameChatMessage);
prop.setProperty("OnlineCommand", "" + OnlineCommand);
prop.setProperty("PrensencePlayercount", "" + PrensencePlayercount);
prop.setProperty("channelID", channelID);
prop.setProperty("serverName", serverName);

try {
prop.store(new FileOutputStream(instance.config), "Properties for DiscordBot");
} catch (Exception var3) {
instance.logger.severe("Failed to save properties for RetroBot!");
var3.printStackTrace();
}
}

String getServerName() {
return serverName;
}
String getChannel() {
return channelID;
}
String getJoinMessage() {
return joinMessage;
}
String getQuitMessage() {
return quitMessage;
}
String getDiscordChatMessage() {
return discordChatMessage;
}
String getGameChatMessage() {
return gameChatMessage;
}
Boolean getPrensencePlayercount() {
return PrensencePlayercount;
}
Boolean getOnlineCommand() {
return OnlineCommand;
}

void onDisable() {
channelID = null;
serverName = null;
}
}
package com.johnymuffin.discordGameBridge;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

class ConfigReader {
// New Config

//discord.Discord().DiscordSendToChannel(gameBridge,
//"**" + ((PlayerJoinEvent) event).getPlayer().getName() + "** Has Joined The Game ["
//+ Bukkit.getServer().getOnlinePlayers().length + "/"
//+ Bukkit.getServer().getMaxPlayers() + "]");

private String discordChatMessage = "&f[&6Discord&f]&7 %messageAuthor%: %message%";
private String gameChatMessage = "**%messageAuthor%**: %message%";
private String joinMessage = "**%username%** Has Joined THe Game [%onlineCount%/%maxCount%]";
private String quitMessage = "**%username%** Has Quit THe Game [%onlineCount%/%maxCount%]";

private String serverName = "";
private String channelID = "";
private Boolean PrensencePlayercount = true;
private Boolean OnlineCommand = true;
private boolean announceStartStop = true;

ConfigReader(DiscordBot instance) {
Properties prop = new Properties();

try {
prop.load(new FileInputStream(instance.config));
} catch (IOException var4) {
instance.logger.warning("[RetroBot] No properties found! Making new file...");
var4.printStackTrace();
}
// New Config
serverName = prop.getProperty("serverName", serverName);
channelID = prop.getProperty("channelID", channelID);
PrensencePlayercount = Boolean.parseBoolean(prop.getProperty("PrensencePlayercount", "" + PrensencePlayercount));
OnlineCommand = Boolean.parseBoolean(prop.getProperty("OnlineCommand", "" + OnlineCommand));
announceStartStop = Boolean.parseBoolean(prop.getProperty("announceStartStop", "" + announceStartStop));
//Join Custom Message
joinMessage = prop.getProperty("joinMessage", joinMessage);
prop.setProperty("joinMessage", joinMessage);
//Quit Custom Message
quitMessage = prop.getProperty("quitMessage", quitMessage);
prop.setProperty("quitMessage", quitMessage);
//Discord Chat Message
discordChatMessage = prop.getProperty("discordChatMessage", discordChatMessage);
prop.setProperty("discordChatMessage", discordChatMessage);
//Game Chat Message
gameChatMessage = prop.getProperty("gameChatMessage", gameChatMessage);
prop.setProperty("gameChatMessage", gameChatMessage);
//Announce Server Start/Stop

prop.setProperty("OnlineCommand", "" + OnlineCommand);
prop.setProperty("PrensencePlayercount", "" + PrensencePlayercount);
prop.setProperty("channelID", channelID);
prop.setProperty("serverName", serverName);
prop.setProperty("announceStartStop", ""+announceStartStop);

try {
prop.store(new FileOutputStream(instance.config), "Properties for DiscordBot");
} catch (Exception var3) {
instance.logger.severe("Failed to save properties for RetroBot!");
var3.printStackTrace();
}
}

String getServerName() {
return this.serverName;
}

String getChannel() {
return this.channelID;
}

String getJoinMessage() {
return this.joinMessage;
}
String getQuitMessage() {
return this.quitMessage;
}
String getDiscordChatMessage() {
return this.discordChatMessage;
}
String getGameChatMessage() {
return this.gameChatMessage;
}

Boolean getPrensencePlayercount() {
return this.PrensencePlayercount;

}
Boolean getOnlineCommand() {
return this.OnlineCommand;
}

boolean canAnnounceStartStop() {
return announceStartStop;
}
}
77 changes: 35 additions & 42 deletions src/com/johnymuffin/discordGameBridge/DiscordBot.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,21 @@ public class DiscordBot extends JavaPlugin implements Listener, EventListener {
// Custom Messages
private String discordChatMessage = "";

Boolean botEnabled = false;
private static Boolean botEnabled = false;
private ConfigReader configReader;
private int taskId = 0;
private DiscordBot plugin;

public static final String PLUGIN_FOLDER = "./plugins/DiscordBot";
private File pluginFolder = new File("./plugins/DiscordBot");
File config;

private static DiscordBot instance;
public static DiscordBot getInstance() {
return instance;
}

public void onLoad() {
instance = this;
this.config = new File(this.pluginFolder, "config.properties");
this.logger = getServer().getLogger();
if (!this.pluginFolder.exists() || !this.pluginFolder.exists()) {
Expand All @@ -55,52 +60,63 @@ public void onLoad() {
}
}

private void quickSend(String s) {
discord.Discord().DiscordSendToChannel(gameBridge, s);
}

private GamePlayerEvents events;
public void onEnable() {
this.configReader = new ConfigReader(this);
this.logger = this.getServer().getLogger();
this.logger.info("[DiscordBot] Enabling DiscordBot...");
discord = (DiscordCore) getServer().getPluginManager().getPlugin("DiscordCore");
JDA jda = discord.Discord().jda;

gameBridge = this.configReader.getChannel();
serverName = this.configReader.getServerName();
// Custom Messages
discordChatMessage = this.configReader.getDiscordChatMessage();
if (!gameBridge.isEmpty() && !serverName.isEmpty()) {
botEnabled = true;
discord.Discord().DiscordSendToChannel(gameBridge, "**SERVER HAS STARTED** :yes:");
discord.Discord().jda.addEventListener(this);
} else {
// Since this didn't work properly, the server start status has been moved down
if (gameBridge.isEmpty() || serverName.isEmpty()) {
this.logger.info("---------------------------[DiscordBot]---------------------------");
this.logger.info("Please provide a Servername and Channel for the Link");
this.logger.info("Please provide a ServerName and Channel for the Link");
this.logger.info("------------------------------------------------------------------");
}

if (configReader.getPrensencePlayercount() == true) {

if (configReader.getPrensencePlayercount()) {
System.out.println("[DiscordBot] Discord Player Timer Has Started");
Bukkit.getServer().broadcastMessage("Discord Player Timer Has Started");
taskId = this.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
public void run() {
if (discord.Discord().jda.getStatus() == JDA.Status.CONNECTED) {
discord.Discord().jda.getPresence().setGame(Game.playing(
serverName + " With " + Bukkit.getServer().getOnlinePlayers().length + " Players"));
if (jda.getStatus() == JDA.Status.CONNECTED) {
// There's no good way to announce the server was stopped as of now.
if(!botEnabled) {
botEnabled = true;
if(configReader.canAnnounceStartStop())
quickSend("**SERVER HAS STARTED**");
jda.addEventListener(instance);
}
jda.getPresence().setGame(Game.playing(serverName + " With " + Bukkit.getServer().getOnlinePlayers().length + " Players"));
}
}
}, 0L, 20*60);
}


//Player Events
final GamePlayerEvents GamePlayerEvents = new GamePlayerEvents(plugin, discord, configReader);
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_JOIN, GamePlayerEvents, Priority.Lowest, this);
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_QUIT, GamePlayerEvents, Priority.Lowest, this);
getServer().getPluginManager().registerEvent(Type.PLAYER_CHAT, GamePlayerEvents, Priority.Lowest, this);
this.events = new GamePlayerEvents(this, discord, configReader);
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_JOIN, events, Priority.Lowest, this);
getServer().getPluginManager().registerEvent(Event.Type.PLAYER_QUIT, events, Priority.Lowest, this);
getServer().getPluginManager().registerEvent(Type.PLAYER_CHAT, events, Priority.Lowest, this);
}

public void onDisable() {
discord.Discord().DiscordSendToChannel(gameBridge, "**SERVER HAS STOPPED** :no:");
quickSend("**SERVER HAS STOPPED**");
this.logger.info("[DiscordBot] Successfully stopped!");
// if (configReader.getPrensencePlayercount() == true) {
// if (configReader.getPrensencePlayercount()) {
Bukkit.getServer().getScheduler().cancelTask(taskId);
discord.Discord().jda.removeEventListener(this);
// }
}

Expand Down Expand Up @@ -153,27 +169,4 @@ public void onEvent(net.dv8tion.jda.core.events.Event event) {
}

}

// public boolean onCommand(CommandSender cs, Command cmdObj, String label, String[] args) {
// String cmd = cmdObj.getName();
// if (cmd.equalsIgnoreCase("discordchatreload")) {
// if (cs.hasPermission("retro.discordchatreload")) {
// this.configReader = new ConfigReader(this);
// gameBridge = this.configReader.getChannel();
// serverName = this.configReader.getServerName();
// // Custom Messages
// discordChatMessage = this.configReader.getDiscordChatMessage();
// gameChatMessage = this.configReader.getGameChatMessage();
// joinMessage = this.configReader.getJoinMessage();
// quitMessage = this.configReader.getQuitMessage();
// cs.sendMessage("Discord Chat Bridge has been reloaded, please do restart tho when you are done testing");
// return true;
// } else {
// cs.sendMessage(ChatColor.RED + "GG mate, no perms tho :(");
// return true;
// }
// } else {
// return false;
// }
// }
}
}
Loading

0 comments on commit 0d5f380

Please sign in to comment.