diff --git a/pom.xml b/pom.xml
index 28bb95a..fa8a648 100644
--- a/pom.xml
+++ b/pom.xml
@@ -120,7 +120,7 @@
org.spigotmc
spigot-api
- 1.9.2-R0.1-SNAPSHOT
+ 1.11-R0.1-SNAPSHOT
provided
diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java
index 8f8cd71..61c4943 100644
--- a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java
+++ b/src/main/java/buttondevteam/discordplugin/DiscordPlugin.java
@@ -80,14 +80,14 @@ public class DiscordPlugin extends JavaPlugin implements IListener {
public static IChannel issuechannel;
public static IChannel debugchannel;
public static IChannel botroomchannel;
+ public static IGuild mainServer;
+ public static IGuild devServer;
public static boolean Test = true;
@Override
public void handle(ReadyEvent event) {
try {
- IGuild mainServer;
- IGuild devServer;
do {
mainServer = event.getClient().getGuildByID("125813020357165056");
devServer = event.getClient().getGuildByID("219529124321034241");
diff --git a/src/main/java/buttondevteam/discordplugin/DiscordSender.java b/src/main/java/buttondevteam/discordplugin/DiscordSender.java
new file mode 100644
index 0000000..12374d9
--- /dev/null
+++ b/src/main/java/buttondevteam/discordplugin/DiscordSender.java
@@ -0,0 +1,115 @@
+package buttondevteam.discordplugin;
+
+import java.util.Set;
+
+import org.bukkit.Bukkit;
+import org.bukkit.Server;
+import org.bukkit.command.CommandSender;
+import org.bukkit.permissions.PermissibleBase;
+import org.bukkit.permissions.Permission;
+import org.bukkit.permissions.PermissionAttachment;
+import org.bukkit.permissions.PermissionAttachmentInfo;
+import org.bukkit.plugin.Plugin;
+
+import buttondevteam.lib.TBMCCoreAPI;
+import sx.blah.discord.handle.obj.IUser;
+
+public class DiscordSender implements CommandSender {
+ private PermissibleBase perm = new PermissibleBase(this);
+ private IUser user;
+
+ public DiscordSender(IUser user) {
+ this.user = user;
+ }
+
+ @Override
+ public boolean isPermissionSet(String name) {
+ return perm.isPermissionSet(name);
+ }
+
+ @Override
+ public boolean isPermissionSet(Permission perm) {
+ return this.perm.isPermissionSet(perm);
+ }
+
+ @Override
+ public boolean hasPermission(String name) {
+ return perm.hasPermission(name);
+ }
+
+ @Override
+ public boolean hasPermission(Permission perm) {
+ return this.perm.hasPermission(perm);
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value) {
+ return perm.addAttachment(plugin, name, value);
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin) {
+ return perm.addAttachment(plugin);
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value, int ticks) {
+ return perm.addAttachment(plugin, name, value, ticks);
+ }
+
+ @Override
+ public PermissionAttachment addAttachment(Plugin plugin, int ticks) {
+ return perm.addAttachment(plugin, ticks);
+ }
+
+ @Override
+ public void removeAttachment(PermissionAttachment attachment) {
+ perm.removeAttachment(attachment);
+ }
+
+ @Override
+ public void recalculatePermissions() {
+ perm.recalculatePermissions();
+ }
+
+ @Override
+ public Set getEffectivePermissions() {
+ return perm.getEffectivePermissions();
+ }
+
+ @Override
+ public boolean isOp() {
+ return perm.isOp();
+ }
+
+ @Override
+ public void setOp(boolean value) {
+ perm.setOp(value);
+ }
+
+ @Override
+ public void sendMessage(String message) {
+ try {
+ DiscordPlugin.sendMessageToChannel(user.getOrCreatePMChannel(), message);
+ } catch (Exception e) {
+ TBMCCoreAPI.SendException("An error occured while sending message to DiscordSender", e);
+ }
+ }
+
+ @Override
+ public void sendMessage(String[] messages) {
+ for (String message : messages)
+ sendMessage(message);
+ }
+
+ @Override
+ public Server getServer() {
+ return Bukkit.getServer();
+ }
+
+ @Override
+ public String getName() {
+ return user.getDisplayName(DiscordPlugin.mainServer);
+ }
+
+}
diff --git a/src/main/java/buttondevteam/discordplugin/listeners/MCChatListener.java b/src/main/java/buttondevteam/discordplugin/listeners/MCChatListener.java
index a0669e6..2e9f0fc 100644
--- a/src/main/java/buttondevteam/discordplugin/listeners/MCChatListener.java
+++ b/src/main/java/buttondevteam/discordplugin/listeners/MCChatListener.java
@@ -5,6 +5,7 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import buttondevteam.discordplugin.DiscordPlugin;
+import buttondevteam.discordplugin.DiscordSender;
import buttondevteam.lib.TBMCChatEvent;
import buttondevteam.lib.chat.Channel;
import buttondevteam.lib.chat.TBMCChatAPI;
@@ -12,17 +13,21 @@ import sx.blah.discord.api.events.IListener;
import sx.blah.discord.handle.impl.events.MessageReceivedEvent;
public class MCChatListener implements Listener, IListener {
- @EventHandler
+ @EventHandler // Minecraft
public void onMCChat(TBMCChatEvent e) {
- DiscordPlugin.sendMessageToChannel(DiscordPlugin.chatchannel,
- "[" + e.getChannel().DisplayName + "] <" + e.getSender().getName() + "> " + e.getMessage());
+ if (e.getSender() instanceof DiscordSender)
+ return;
+ if (e.getChannel().equals(Channel.GlobalChat))
+ DiscordPlugin.sendMessageToChannel(DiscordPlugin.chatchannel,
+ "<" + e.getSender().getName() + "> " + e.getMessage());
}
- @Override
+ @Override // Discord
public void handle(MessageReceivedEvent event) {
if (event.getMessage().getAuthor().isBot())
return;
if (event.getMessage().getChannel().getID().equals(DiscordPlugin.chatchannel.getID()))
- TBMCChatAPI.SendChatMessage(Channel.GlobalChat, Bukkit.getConsoleSender(), event.getMessage().getContent());
+ TBMCChatAPI.SendChatMessage(Channel.GlobalChat, new DiscordSender(event.getMessage().getAuthor()),
+ event.getMessage().getContent());
}
}