diff --git a/1.10.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt b/1.10.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt index 50b5131..4b1e8d7 100644 --- a/1.10.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt +++ b/1.10.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt @@ -1,53 +1,35 @@ package matterlink.command -import com.google.common.collect.Lists -import matterlink.MODID -import matterlink.bridge.MessageHandler -import matterlink.bridge.ServerChatHandler -import matterlink.instance -import matterlink.logger import net.minecraft.command.CommandBase import net.minecraft.command.ICommandSender +import net.minecraft.command.WrongUsageException import net.minecraft.server.MinecraftServer +import net.minecraft.util.text.TextComponentString class CommandMatterlink : CommandBase() { - private val aliases: List - - init { - aliases = Lists.newArrayList(MODID, "bridge", "BRIDGE") - } - override fun getName(): String { - return "bridge" + return CommandCore.getName() } override fun getUsage(sender: ICommandSender): String { - return "bridge " + return CommandCore.getUsage() } override fun getAliases(): List { - return aliases + return CommandCore.getAliases() } - override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array) /*throws CommandException*/ { + override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array) { if (args.isEmpty()) { - //throw new WrongUsageException("") - return + throw WrongUsageException("Invalid command! Valid uses: ${this.getUsage(sender)}") } //TODO: check if sender is OP or test if normal users cannot send this + val reply = CommandCore.execute(args) - val cmd = args[0].toLowerCase() - when (cmd) { - "connect" -> { - instance.connect() - } - "disconnect" -> { - instance.disconnect() - } + if (reply.isNotEmpty() && sender.sendCommandFeedback()) { + sender.sendMessage(TextComponentString(reply)) } } - - } diff --git a/1.11.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt b/1.11.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt index 50b5131..4b1e8d7 100644 --- a/1.11.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt +++ b/1.11.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt @@ -1,53 +1,35 @@ package matterlink.command -import com.google.common.collect.Lists -import matterlink.MODID -import matterlink.bridge.MessageHandler -import matterlink.bridge.ServerChatHandler -import matterlink.instance -import matterlink.logger import net.minecraft.command.CommandBase import net.minecraft.command.ICommandSender +import net.minecraft.command.WrongUsageException import net.minecraft.server.MinecraftServer +import net.minecraft.util.text.TextComponentString class CommandMatterlink : CommandBase() { - private val aliases: List - - init { - aliases = Lists.newArrayList(MODID, "bridge", "BRIDGE") - } - override fun getName(): String { - return "bridge" + return CommandCore.getName() } override fun getUsage(sender: ICommandSender): String { - return "bridge " + return CommandCore.getUsage() } override fun getAliases(): List { - return aliases + return CommandCore.getAliases() } - override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array) /*throws CommandException*/ { + override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array) { if (args.isEmpty()) { - //throw new WrongUsageException("") - return + throw WrongUsageException("Invalid command! Valid uses: ${this.getUsage(sender)}") } //TODO: check if sender is OP or test if normal users cannot send this + val reply = CommandCore.execute(args) - val cmd = args[0].toLowerCase() - when (cmd) { - "connect" -> { - instance.connect() - } - "disconnect" -> { - instance.disconnect() - } + if (reply.isNotEmpty() && sender.sendCommandFeedback()) { + sender.sendMessage(TextComponentString(reply)) } } - - } diff --git a/1.12.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt b/1.12.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt index 50b5131..26ba51e 100644 --- a/1.12.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt +++ b/1.12.2/src/main/kotlin/matterlink/command/CommandMatterlink.kt @@ -1,53 +1,36 @@ package matterlink.command -import com.google.common.collect.Lists -import matterlink.MODID -import matterlink.bridge.MessageHandler -import matterlink.bridge.ServerChatHandler -import matterlink.instance -import matterlink.logger import net.minecraft.command.CommandBase import net.minecraft.command.ICommandSender +import net.minecraft.command.WrongUsageException import net.minecraft.server.MinecraftServer +import net.minecraft.util.text.TextComponentString class CommandMatterlink : CommandBase() { - private val aliases: List - - init { - aliases = Lists.newArrayList(MODID, "bridge", "BRIDGE") - } - override fun getName(): String { - return "bridge" + return CommandCore.getName() } override fun getUsage(sender: ICommandSender): String { - return "bridge " + return CommandCore.getUsage() } override fun getAliases(): List { - return aliases + return CommandCore.getAliases() } - override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array) /*throws CommandException*/ { + override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array) { if (args.isEmpty()) { - //throw new WrongUsageException("") - return + throw WrongUsageException("Invalid command! Valid uses: ${this.getUsage(sender)}") } //TODO: check if sender is OP or test if normal users cannot send this + val reply = CommandCore.execute(args) - val cmd = args[0].toLowerCase() - when (cmd) { - "connect" -> { - instance.connect() - } - "disconnect" -> { - instance.disconnect() - } + if (reply.isNotEmpty() && sender.sendCommandFeedback()) { + sender.sendMessage(TextComponentString(reply)) } } - } diff --git a/core/src/main/kotlin/matterlink/command/CommandCore.kt b/core/src/main/kotlin/matterlink/command/CommandCore.kt new file mode 100644 index 0000000..ede5611 --- /dev/null +++ b/core/src/main/kotlin/matterlink/command/CommandCore.kt @@ -0,0 +1,34 @@ +package matterlink.command + +import matterlink.instance + +object CommandCore { + fun getName() : String { return "bridge" } + fun getAliases() : List { return listOf("BRIDGE","bridge") } + fun getUsage() : String { return "bridge "} + + fun execute(args : Array) : String { + val cmd = args[0].toLowerCase() + + val reply : String = when (cmd) { + "connect" -> { + instance.connect() + "Bridge connected!" + } + "disconnect" -> { + instance.disconnect() + "Bridge disconnected!" + } + "reload" -> { + + "Bridge config reloaded!" + } + else -> { + "Invalid arguments for command!" + } + } + + return reply + } + +} \ No newline at end of file