diff --git a/build.sbt b/build.sbt index 19c60c3..8171c2d 100644 --- a/build.sbt +++ b/build.sbt @@ -8,12 +8,14 @@ name := "Chroma-Discord" version := "1.1" -scalaVersion := "3.0.0" +scalaVersion := "3.1.0" resolvers += "spigot-repo" at "https://hub.spigotmc.org/nexus/content/repositories/snapshots/" resolvers += "jitpack.io" at "https://jitpack.io" resolvers += Resolver.mavenLocal +// assembly / assemblyOption := (assembly / assemblyOption).value.copy(includeScala = false) + libraryDependencies ++= Seq( "org.spigotmc" % "spigot-api" % "1.12.2-R0.1-SNAPSHOT" % Provided, "org.spigotmc" % "spigot" % "1.12.2-R0.1-SNAPSHOT" % Provided, diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 691f3d9..711b62d 100755 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -10,3 +10,9 @@ commands: description: 'Main command for Chroma-Discord' website: 'https://github.com/TBMCPlugins/Chroma-Discord' api-version: '1.13' +#libraries: +# - 'org.slf4j:slf4j-jdk14:1.7.32' +# - 'com.vdurmont:emoji-java:5.1.1' +# - 'org.mockito:mockito-core:4.2.0' +# - 'io.projectreactor:reactor-scala-extensions_2.13:0.8.0' +# - 'org.scala-lang:scala3-library_3:3.1.0' \ No newline at end of file diff --git a/src/main/scala/buttondevteam/discordplugin/DiscordPlugin.scala b/src/main/scala/buttondevteam/discordplugin/DiscordPlugin.scala index 9521482..9e767e0 100644 --- a/src/main/scala/buttondevteam/discordplugin/DiscordPlugin.scala +++ b/src/main/scala/buttondevteam/discordplugin/DiscordPlugin.scala @@ -8,6 +8,7 @@ import buttondevteam.discordplugin.exceptions.ExceptionListenerModule import buttondevteam.discordplugin.fun.FunModule import buttondevteam.discordplugin.listeners.{CommonListeners, MCListener} import buttondevteam.discordplugin.mcchat.MinecraftChatModule +import buttondevteam.discordplugin.mcchat.sender.{DiscordPlayer, DiscordSenderBase} import buttondevteam.discordplugin.mccommands.DiscordMCCommand import buttondevteam.discordplugin.role.GameRoleModule import buttondevteam.discordplugin.util.{DPState, Timings} @@ -32,6 +33,7 @@ import org.bukkit.configuration.file.YamlConfiguration import org.mockito.internal.util.MockUtil import reactor.core.Disposable import reactor.core.scala.publisher.SMono +import reactor.core.scala.publisher.scalaOption2JavaOptional import java.io.File import java.nio.charset.StandardCharsets @@ -129,16 +131,11 @@ import java.util.Optional } } starting = true - //System.out.println("This line should show up for sure"); val cb = DiscordClientBuilder.create(token).build.gateway - //System.out.println("Got gateway bootstrap"); cb.setInitialPresence((si: ShardInfo) => ClientPresence.doNotDisturb(ClientActivity.playing("booting"))) - //cb.setStore(new JdkStoreService) //The default doesn't work for some reason - it's waaay faster now - //System.out.println("Initial status and store service set"); cb.login.doOnError((t: Throwable) => { def foo(t: Throwable): Unit = { stopStarting() - //System.out.println("Got this error: " + t); t.printStackTrace(); } foo(t) @@ -192,10 +189,10 @@ import java.util.Optional CommonListeners.register(DiscordPlugin.dc.getEventDispatcher) TBMCCoreAPI.RegisterEventsForExceptions(new MCListener, this) TBMCCoreAPI.RegisterUserClass(classOf[DiscordPlayer], () => new DiscordPlayer) - ChromaGamerBase.addConverter((sender: CommandSender) => Optional.ofNullable(sender match { - case dsender: DiscordSenderBase => dsender.getChromaUser - case _ => null - })) + ChromaGamerBase.addConverter((sender: CommandSender) => sender match { + case dsender: DiscordSenderBase => Some(dsender.getChromaUser) + case _ => None + }) IHaveConfig.pregenConfig(this, null) ChromaBot.enabled = true //Initialize ChromaBot Component.registerComponent(this, new GeneralEventBroadcasterModule) diff --git a/src/main/scala/buttondevteam/discordplugin/IMCPlayer.scala b/src/main/scala/buttondevteam/discordplugin/IMCPlayer.scala deleted file mode 100644 index 70f1a5d..0000000 --- a/src/main/scala/buttondevteam/discordplugin/IMCPlayer.scala +++ /dev/null @@ -1,8 +0,0 @@ -package buttondevteam.discordplugin - -import buttondevteam.discordplugin.playerfaker.VCMDWrapper -import org.bukkit.entity.Player - -trait IMCPlayer[T] extends Player { - def getVanillaCmdListener: VCMDWrapper -} \ No newline at end of file diff --git a/src/main/scala/buttondevteam/discordplugin/announcer/AnnouncerModule.scala b/src/main/scala/buttondevteam/discordplugin/announcer/AnnouncerModule.scala index 5c72574..0472894 100644 --- a/src/main/scala/buttondevteam/discordplugin/announcer/AnnouncerModule.scala +++ b/src/main/scala/buttondevteam/discordplugin/announcer/AnnouncerModule.scala @@ -1,6 +1,7 @@ package buttondevteam.discordplugin.announcer -import buttondevteam.discordplugin.{DPUtils, DiscordPlayer, DiscordPlugin} +import buttondevteam.discordplugin.mcchat.sender.DiscordPlayer +import buttondevteam.discordplugin.{DPUtils, DiscordPlugin} import buttondevteam.lib.TBMCCoreAPI import buttondevteam.lib.architecture.{Component, ComponentMetadata} import buttondevteam.lib.player.ChromaGamerBase @@ -9,6 +10,7 @@ import discord4j.core.`object`.entity.channel.MessageChannel import reactor.core.scala.publisher.SMono import scala.annotation.tailrec +import scala.collection.mutable /** * Posts new posts from Reddit to the specified channel(s). It will pin the regular posts (not the mod posts). @@ -55,8 +57,8 @@ import scala.annotation.tailrec if (isEnabled) try { //If not enabled, just wait val body = TBMCCoreAPI.DownloadString(subredditURL.get + "/new/.json?limit=10") val json = new JsonParser().parse(body).getAsJsonObject.get("data").getAsJsonObject.get("children").getAsJsonArray - val msgsb = new StringBuilder - val modmsgsb = new StringBuilder + val msgsb = new mutable.StringBuilder + val modmsgsb = new mutable.StringBuilder var lastanntime = lastAnnouncementTime.get for (i <- json.size - 1 to 0 by -1) { val item = json.get(i).getAsJsonObject diff --git a/src/main/scala/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.scala b/src/main/scala/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.scala index 49c2a01..4357944 100644 --- a/src/main/scala/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.scala +++ b/src/main/scala/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.scala @@ -1,7 +1,7 @@ package buttondevteam.discordplugin.broadcaster import buttondevteam.discordplugin.mcchat.MCChatUtils -import buttondevteam.discordplugin.playerfaker.DelegatingMockMaker +import buttondevteam.discordplugin.mcchat.playerfaker.DelegatingMockMaker import buttondevteam.lib.TBMCCoreAPI import org.bukkit.Bukkit import org.mockito.Mockito diff --git a/src/main/scala/buttondevteam/discordplugin/commands/ConnectCommand.scala b/src/main/scala/buttondevteam/discordplugin/commands/ConnectCommand.scala index dc05087..d783110 100644 --- a/src/main/scala/buttondevteam/discordplugin/commands/ConnectCommand.scala +++ b/src/main/scala/buttondevteam/discordplugin/commands/ConnectCommand.scala @@ -1,6 +1,6 @@ package buttondevteam.discordplugin.commands -import buttondevteam.discordplugin.DiscordPlayer +import buttondevteam.discordplugin.mcchat.sender.DiscordPlayer import buttondevteam.lib.chat.{Command2, CommandClass} import buttondevteam.lib.player.{TBMCPlayer, TBMCPlayerBase} import com.google.common.collect.HashBiMap diff --git a/src/main/scala/buttondevteam/discordplugin/commands/UserinfoCommand.scala b/src/main/scala/buttondevteam/discordplugin/commands/UserinfoCommand.scala index 5fa100d..a2cc118 100644 --- a/src/main/scala/buttondevteam/discordplugin/commands/UserinfoCommand.scala +++ b/src/main/scala/buttondevteam/discordplugin/commands/UserinfoCommand.scala @@ -1,6 +1,7 @@ package buttondevteam.discordplugin.commands -import buttondevteam.discordplugin.{DiscordPlayer, DiscordPlugin} +import buttondevteam.discordplugin.DiscordPlugin +import buttondevteam.discordplugin.mcchat.sender.DiscordPlayer import buttondevteam.lib.chat.{Command2, CommandClass} import buttondevteam.lib.player.ChromaGamerBase import buttondevteam.lib.player.ChromaGamerBase.InfoTarget diff --git a/src/main/scala/buttondevteam/discordplugin/listeners/MCListener.scala b/src/main/scala/buttondevteam/discordplugin/listeners/MCListener.scala index a68a48e..84e50ae 100644 --- a/src/main/scala/buttondevteam/discordplugin/listeners/MCListener.scala +++ b/src/main/scala/buttondevteam/discordplugin/listeners/MCListener.scala @@ -3,7 +3,8 @@ package buttondevteam.discordplugin.listeners import buttondevteam.discordplugin.commands.ConnectCommand import buttondevteam.discordplugin.mcchat.MinecraftChatModule import buttondevteam.discordplugin.util.DPState -import buttondevteam.discordplugin.{DiscordPlayer, DiscordPlugin} +import buttondevteam.discordplugin.DiscordPlugin +import buttondevteam.discordplugin.mcchat.sender.DiscordPlayer import buttondevteam.lib.ScheduledServerRestartEvent import buttondevteam.lib.player.TBMCPlayerGetInfoEvent import discord4j.common.util.Snowflake diff --git a/src/main/scala/buttondevteam/discordplugin/mcchat/ChannelconCommand.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/ChannelconCommand.scala index aa77081..fd46441 100644 --- a/src/main/scala/buttondevteam/discordplugin/mcchat/ChannelconCommand.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/ChannelconCommand.scala @@ -4,6 +4,7 @@ import buttondevteam.core.component.channel.{Channel, ChatRoom} import buttondevteam.discordplugin.* import buttondevteam.discordplugin.ChannelconBroadcast.ChannelconBroadcast import buttondevteam.discordplugin.commands.{Command2DCSender, ICommand2DC} +import buttondevteam.discordplugin.mcchat.sender.{DiscordConnectedPlayer, DiscordPlayer} import buttondevteam.lib.TBMCSystemChatEvent import buttondevteam.lib.chat.{Command2, CommandClass} import buttondevteam.lib.player.{ChromaGamerBase, TBMCPlayer} diff --git a/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCommand.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCommand.scala index 74c27f0..2568b45 100644 --- a/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCommand.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCommand.scala @@ -1,7 +1,8 @@ package buttondevteam.discordplugin.mcchat import buttondevteam.discordplugin.commands.{Command2DCSender, ICommand2DC} -import buttondevteam.discordplugin.{DPUtils, DiscordPlayer, DiscordPlugin} +import buttondevteam.discordplugin.mcchat.sender.DiscordPlayer +import buttondevteam.discordplugin.{DPUtils, DiscordPlugin} import buttondevteam.lib.chat.{Command2, CommandClass} import buttondevteam.lib.player.ChromaGamerBase import discord4j.core.`object`.entity.channel.PrivateChannel diff --git a/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCustom.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCustom.scala index df29986..103babd 100644 --- a/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCustom.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCustom.scala @@ -1,7 +1,7 @@ package buttondevteam.discordplugin.mcchat import buttondevteam.core.component.channel.{Channel, ChatRoom} -import buttondevteam.discordplugin.DiscordConnectedPlayer +import buttondevteam.discordplugin.mcchat.sender.DiscordConnectedPlayer import buttondevteam.lib.TBMCSystemChatEvent import discord4j.common.util.Snowflake import discord4j.core.`object`.entity.User diff --git a/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatListener.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatListener.scala index c1c1af9..6f843d4 100644 --- a/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatListener.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatListener.scala @@ -3,7 +3,8 @@ package buttondevteam.discordplugin.mcchat import buttondevteam.core.ComponentManager import buttondevteam.discordplugin.* import buttondevteam.discordplugin.DPUtils.SpecExtensions -import buttondevteam.discordplugin.playerfaker.{VanillaCommandListener, VanillaCommandListener14, VanillaCommandListener15} +import buttondevteam.discordplugin.mcchat.playerfaker.{VanillaCommandListener, VanillaCommandListener14, VanillaCommandListener15} +import buttondevteam.discordplugin.mcchat.sender.{DiscordPlayer, DiscordSender, DiscordSenderBase} import buttondevteam.lib.* import buttondevteam.lib.chat.{ChatMessage, TBMCChatAPI} import buttondevteam.lib.player.TBMCPlayer diff --git a/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatPrivate.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatPrivate.scala index 773113f..1b6783f 100644 --- a/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatPrivate.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatPrivate.scala @@ -2,7 +2,8 @@ package buttondevteam.discordplugin.mcchat import buttondevteam.core.ComponentManager import buttondevteam.discordplugin.mcchat.MCChatUtils.LastMsgData -import buttondevteam.discordplugin.{DiscordConnectedPlayer, DiscordPlayer, DiscordPlugin, DiscordSenderBase} +import buttondevteam.discordplugin.mcchat.sender.{DiscordConnectedPlayer, DiscordPlayer, DiscordSenderBase} +import buttondevteam.discordplugin.DiscordPlugin import buttondevteam.lib.player.TBMCPlayer import discord4j.core.`object`.entity.User import discord4j.core.`object`.entity.channel.{MessageChannel, PrivateChannel} diff --git a/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatUtils.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatUtils.scala index b76182f..4e8c40e 100644 --- a/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatUtils.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatUtils.scala @@ -6,6 +6,7 @@ import buttondevteam.discordplugin.ChannelconBroadcast.ChannelconBroadcast import buttondevteam.discordplugin.DPUtils.SpecExtensions import buttondevteam.discordplugin.broadcaster.GeneralEventBroadcasterModule import buttondevteam.discordplugin.mcchat.MCChatCustom.CustomLMD +import buttondevteam.discordplugin.mcchat.sender.{DiscordConnectedPlayer, DiscordPlayerSender, DiscordSender, DiscordSenderBase} import buttondevteam.lib.{TBMCCoreAPI, TBMCSystemChatEvent} import com.google.common.collect.Sets import discord4j.common.util.Snowflake diff --git a/src/main/scala/buttondevteam/discordplugin/mcchat/MCListener.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCListener.scala index 5782f0e..1e7dec6 100644 --- a/src/main/scala/buttondevteam/discordplugin/mcchat/MCListener.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/MCListener.scala @@ -2,6 +2,7 @@ package buttondevteam.discordplugin.mcchat import buttondevteam.discordplugin.* import buttondevteam.discordplugin.DPUtils.{FluxExtensions, MonoExtensions} +import buttondevteam.discordplugin.mcchat.sender.{DiscordConnectedPlayer, DiscordPlayer, DiscordPlayerSender} import buttondevteam.lib.TBMCSystemChatEvent import buttondevteam.lib.player.{TBMCPlayer, TBMCPlayerBase, TBMCYEEHAWEvent} import discord4j.common.util.Snowflake @@ -107,8 +108,10 @@ class MCListener(val module: MinecraftChatModule) extends Listener { @EventHandler def onChatSystemMessage(event: TBMCSystemChatEvent): Unit = MCChatUtils.forAllowedMCChat(MCChatUtils.send(event.getMessage), event).subscribe() - @EventHandler def onBroadcastMessage(event: BroadcastMessageEvent): Unit = + @EventHandler def onBroadcastMessage(event: BroadcastMessageEvent): Unit = { + module.broadcastedMessages += ((event.getMessage, System.nanoTime())) MCChatUtils.forCustomAndAllMCChat(MCChatUtils.send(event.getMessage), ChannelconBroadcast.BROADCAST, hookmsg = false).subscribe() + } @EventHandler def onYEEHAW(event: TBMCYEEHAWEvent): Unit = { //TODO: Inherit from the chat event base to have channel support val name = event.getSender match { diff --git a/src/main/scala/buttondevteam/discordplugin/mcchat/MinecraftChatModule.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MinecraftChatModule.scala index c9e2f67..6e56331 100644 --- a/src/main/scala/buttondevteam/discordplugin/mcchat/MinecraftChatModule.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/MinecraftChatModule.scala @@ -2,10 +2,11 @@ package buttondevteam.discordplugin.mcchat import buttondevteam.core.component.channel.Channel import buttondevteam.discordplugin.DPUtils.{MonoExtensions, SpecExtensions} -import buttondevteam.discordplugin.playerfaker.ServerWatcher -import buttondevteam.discordplugin.playerfaker.perm.LPInjector +import buttondevteam.discordplugin.mcchat.playerfaker.ServerWatcher +import buttondevteam.discordplugin.mcchat.playerfaker.perm.LPInjector +import buttondevteam.discordplugin.mcchat.sender.DiscordConnectedPlayer import buttondevteam.discordplugin.util.DPState -import buttondevteam.discordplugin.{ChannelconBroadcast, DPUtils, DiscordConnectedPlayer, DiscordPlugin} +import buttondevteam.discordplugin.{ChannelconBroadcast, DPUtils, DiscordPlugin} import buttondevteam.lib.architecture.{Component, ConfigData, ReadOnlyConfigData} import buttondevteam.lib.{TBMCCoreAPI, TBMCSystemChatEvent} import com.google.common.collect.Lists @@ -18,6 +19,7 @@ import reactor.core.scala.publisher.SMono import java.util import java.util.stream.Collectors import java.util.{Objects, UUID} +import scala.collection.mutable import scala.jdk.CollectionConverters.IterableHasAsScala /** @@ -100,6 +102,8 @@ class MinecraftChatModule extends Component[DiscordPlugin] { final private val mcChatCommand = new MCChatCommand(this) final private val channelconCommand = new ChannelconCommand(this) + val broadcastedMessages: mutable.Map[String, Long] = mutable.Map() + override protected def enable(): Unit = { if (DPUtils.disableIfConfigErrorRes(this, chatChannel, chatChannelMono)) return () listener = new MCChatListener(this) diff --git a/src/main/scala/buttondevteam/discordplugin/playerfaker/DelegatingMockMaker.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/DelegatingMockMaker.scala similarity index 97% rename from src/main/scala/buttondevteam/discordplugin/playerfaker/DelegatingMockMaker.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/DelegatingMockMaker.scala index b9f7ca7..0383b52 100644 --- a/src/main/scala/buttondevteam/discordplugin/playerfaker/DelegatingMockMaker.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/DelegatingMockMaker.scala @@ -1,4 +1,4 @@ -package buttondevteam.discordplugin.playerfaker +package buttondevteam.discordplugin.mcchat.playerfaker import org.mockito.MockedConstruction import org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker diff --git a/src/main/scala/buttondevteam/discordplugin/playerfaker/DiscordInventory.java b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/DiscordInventory.java similarity index 98% rename from src/main/scala/buttondevteam/discordplugin/playerfaker/DiscordInventory.java rename to src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/DiscordInventory.java index b730cc8..54cbd02 100644 --- a/src/main/scala/buttondevteam/discordplugin/playerfaker/DiscordInventory.java +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/DiscordInventory.java @@ -1,4 +1,4 @@ -package buttondevteam.discordplugin.playerfaker; +package buttondevteam.discordplugin.mcchat.playerfaker; import org.bukkit.Location; import org.bukkit.Material; diff --git a/src/main/scala/buttondevteam/discordplugin/playerfaker/ServerWatcher.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/ServerWatcher.scala similarity index 97% rename from src/main/scala/buttondevteam/discordplugin/playerfaker/ServerWatcher.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/ServerWatcher.scala index 8ab2f74..94cb475 100644 --- a/src/main/scala/buttondevteam/discordplugin/playerfaker/ServerWatcher.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/ServerWatcher.scala @@ -1,7 +1,7 @@ -package buttondevteam.discordplugin.playerfaker +package buttondevteam.discordplugin.mcchat.playerfaker -import buttondevteam.discordplugin.DiscordConnectedPlayer import buttondevteam.discordplugin.mcchat.MCChatUtils +import buttondevteam.discordplugin.mcchat.sender.DiscordConnectedPlayer import com.destroystokyo.paper.profile.CraftPlayerProfile import net.bytebuddy.implementation.bind.annotation.IgnoreForBinding import org.bukkit.entity.Player diff --git a/src/main/scala/buttondevteam/discordplugin/playerfaker/VCMDWrapper.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VCMDWrapper.scala similarity index 94% rename from src/main/scala/buttondevteam/discordplugin/playerfaker/VCMDWrapper.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VCMDWrapper.scala index 15a3653..e49478b 100644 --- a/src/main/scala/buttondevteam/discordplugin/playerfaker/VCMDWrapper.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VCMDWrapper.scala @@ -1,7 +1,7 @@ -package buttondevteam.discordplugin.playerfaker +package buttondevteam.discordplugin.mcchat.playerfaker import buttondevteam.discordplugin.mcchat.MinecraftChatModule -import buttondevteam.discordplugin.{DiscordSenderBase, IMCPlayer} +import buttondevteam.discordplugin.mcchat.sender.{DiscordSenderBase, IMCPlayer} import buttondevteam.lib.TBMCCoreAPI import org.bukkit.Bukkit import org.bukkit.entity.Player diff --git a/src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VanillaCommandListener.scala similarity index 96% rename from src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VanillaCommandListener.scala index 3622871..396aafd 100644 --- a/src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VanillaCommandListener.scala @@ -1,6 +1,6 @@ -package buttondevteam.discordplugin.playerfaker +package buttondevteam.discordplugin.mcchat.playerfaker -import buttondevteam.discordplugin.{DiscordSenderBase, IMCPlayer} +import buttondevteam.discordplugin.mcchat.sender.{DiscordSenderBase, IMCPlayer} import net.minecraft.server.v1_12_R1.* import org.bukkit.Bukkit import org.bukkit.craftbukkit.v1_12_R1.command.VanillaCommandWrapper diff --git a/src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener14.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VanillaCommandListener14.scala similarity index 96% rename from src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener14.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VanillaCommandListener14.scala index e7062c8..3427718 100644 --- a/src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener14.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VanillaCommandListener14.scala @@ -1,6 +1,6 @@ -package buttondevteam.discordplugin.playerfaker +package buttondevteam.discordplugin.mcchat.playerfaker -import buttondevteam.discordplugin.{DiscordSenderBase, IMCPlayer} +import buttondevteam.discordplugin.mcchat.sender.{DiscordSenderBase, IMCPlayer} import net.minecraft.server.v1_14_R1.* import org.bukkit.Bukkit import org.bukkit.command.CommandSender diff --git a/src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener15.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VanillaCommandListener15.scala similarity index 98% rename from src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener15.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VanillaCommandListener15.scala index 7bc187e..7650792 100644 --- a/src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener15.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/VanillaCommandListener15.scala @@ -1,6 +1,6 @@ -package buttondevteam.discordplugin.playerfaker +package buttondevteam.discordplugin.mcchat.playerfaker -import buttondevteam.discordplugin.{DiscordSenderBase, IMCPlayer} +import buttondevteam.discordplugin.mcchat.sender.{DiscordSenderBase, IMCPlayer} import org.bukkit.Bukkit import org.bukkit.command.{CommandSender, SimpleCommandMap} import org.bukkit.entity.Player diff --git a/src/main/scala/buttondevteam/discordplugin/playerfaker/perm/LPInjector.java b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/perm/LPInjector.java similarity index 99% rename from src/main/scala/buttondevteam/discordplugin/playerfaker/perm/LPInjector.java rename to src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/perm/LPInjector.java index 31ff53e..43d824c 100644 --- a/src/main/scala/buttondevteam/discordplugin/playerfaker/perm/LPInjector.java +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/playerfaker/perm/LPInjector.java @@ -1,4 +1,4 @@ -package buttondevteam.discordplugin.playerfaker.perm; +package buttondevteam.discordplugin.mcchat.playerfaker.perm; import org.bukkit.event.Listener; diff --git a/src/main/scala/buttondevteam/discordplugin/DiscordConnectedPlayer.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordConnectedPlayer.scala similarity index 98% rename from src/main/scala/buttondevteam/discordplugin/DiscordConnectedPlayer.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordConnectedPlayer.scala index 71585e4..abfa522 100644 --- a/src/main/scala/buttondevteam/discordplugin/DiscordConnectedPlayer.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordConnectedPlayer.scala @@ -1,7 +1,7 @@ -package buttondevteam.discordplugin +package buttondevteam.discordplugin.mcchat.sender import buttondevteam.discordplugin.mcchat.MinecraftChatModule -import buttondevteam.discordplugin.playerfaker.{DiscordInventory, VCMDWrapper} +import buttondevteam.discordplugin.mcchat.playerfaker.{DiscordInventory, VCMDWrapper} import discord4j.core.`object`.entity.User import discord4j.core.`object`.entity.channel.MessageChannel import org.bukkit.* diff --git a/src/main/scala/buttondevteam/discordplugin/DiscordPlayer.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordPlayer.scala similarity index 92% rename from src/main/scala/buttondevteam/discordplugin/DiscordPlayer.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordPlayer.scala index 4cfca44..b436169 100644 --- a/src/main/scala/buttondevteam/discordplugin/DiscordPlayer.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordPlayer.scala @@ -1,4 +1,4 @@ -package buttondevteam.discordplugin +package buttondevteam.discordplugin.mcchat.sender import buttondevteam.discordplugin.mcchat.MCChatPrivate import buttondevteam.lib.player.{ChromaGamerBase, UserClass} diff --git a/src/main/scala/buttondevteam/discordplugin/DiscordPlayerSender.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordPlayerSender.scala similarity index 93% rename from src/main/scala/buttondevteam/discordplugin/DiscordPlayerSender.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordPlayerSender.scala index 4f3f035..6683c02 100644 --- a/src/main/scala/buttondevteam/discordplugin/DiscordPlayerSender.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordPlayerSender.scala @@ -1,7 +1,7 @@ -package buttondevteam.discordplugin +package buttondevteam.discordplugin.mcchat.sender import buttondevteam.discordplugin.mcchat.MinecraftChatModule -import buttondevteam.discordplugin.playerfaker.VCMDWrapper +import buttondevteam.discordplugin.mcchat.playerfaker.VCMDWrapper import discord4j.core.`object`.entity.User import discord4j.core.`object`.entity.channel.MessageChannel import org.bukkit.entity.Player diff --git a/src/main/scala/buttondevteam/discordplugin/DiscordSender.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordSender.scala similarity index 96% rename from src/main/scala/buttondevteam/discordplugin/DiscordSender.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordSender.scala index a77979e..1006618 100644 --- a/src/main/scala/buttondevteam/discordplugin/DiscordSender.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordSender.scala @@ -1,5 +1,6 @@ -package buttondevteam.discordplugin +package buttondevteam.discordplugin.mcchat.sender +import buttondevteam.discordplugin.DiscordPlugin import discord4j.core.`object`.entity.User import discord4j.core.`object`.entity.channel.MessageChannel import org.bukkit.command.CommandSender diff --git a/src/main/scala/buttondevteam/discordplugin/DiscordSenderBase.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordSenderBase.scala similarity index 95% rename from src/main/scala/buttondevteam/discordplugin/DiscordSenderBase.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordSenderBase.scala index 46a9e69..ab198bc 100644 --- a/src/main/scala/buttondevteam/discordplugin/DiscordSenderBase.scala +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/DiscordSenderBase.scala @@ -1,5 +1,6 @@ -package buttondevteam.discordplugin +package buttondevteam.discordplugin.mcchat.sender +import buttondevteam.discordplugin.{DPUtils, DiscordPlugin} import buttondevteam.lib.TBMCCoreAPI import buttondevteam.lib.player.ChromaGamerBase import discord4j.core.`object`.entity.User diff --git a/src/main/scala/buttondevteam/discordplugin/mcchat/sender/IMCPlayer.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/IMCPlayer.scala new file mode 100644 index 0000000..09ecda2 --- /dev/null +++ b/src/main/scala/buttondevteam/discordplugin/mcchat/sender/IMCPlayer.scala @@ -0,0 +1,8 @@ +package buttondevteam.discordplugin.mcchat.sender + +import buttondevteam.discordplugin.mcchat.playerfaker.VCMDWrapper +import org.bukkit.entity.Player + +trait IMCPlayer[T] extends Player { + def getVanillaCmdListener: VCMDWrapper +} \ No newline at end of file diff --git a/src/main/scala/buttondevteam/discordplugin/mccommands/DiscordMCCommand.scala b/src/main/scala/buttondevteam/discordplugin/mccommands/DiscordMCCommand.scala index db4c38e..a115918 100644 --- a/src/main/scala/buttondevteam/discordplugin/mccommands/DiscordMCCommand.scala +++ b/src/main/scala/buttondevteam/discordplugin/mccommands/DiscordMCCommand.scala @@ -1,9 +1,10 @@ package buttondevteam.discordplugin.mccommands import buttondevteam.discordplugin.commands.{ConnectCommand, VersionCommand} +import buttondevteam.discordplugin.mcchat.sender.{DiscordPlayer, DiscordSenderBase} import buttondevteam.discordplugin.mcchat.{MCChatUtils, MinecraftChatModule} import buttondevteam.discordplugin.util.DPState -import buttondevteam.discordplugin.{DPUtils, DiscordPlayer, DiscordPlugin, DiscordSenderBase} +import buttondevteam.discordplugin.{DPUtils, DiscordPlugin} import buttondevteam.lib.chat.{Command2, CommandClass, ICommand2MC} import buttondevteam.lib.player.{ChromaGamerBase, TBMCPlayer, TBMCPlayerBase} import discord4j.core.`object`.ExtendedInvite