Abstracted commands into core

This commit is contained in:
DaMachinator 2018-02-14 11:11:54 -05:00
parent acaca1a04e
commit 06957f07fb
4 changed files with 64 additions and 83 deletions

View File

@ -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<String>
init {
aliases = Lists.newArrayList(MODID, "bridge", "BRIDGE")
}
override fun getName(): String {
return "bridge"
return CommandCore.getName()
}
override fun getUsage(sender: ICommandSender): String {
return "bridge <connect|disconnect>"
return CommandCore.getUsage()
}
override fun getAliases(): List<String> {
return aliases
return CommandCore.getAliases()
}
override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array<String>) /*throws CommandException*/ {
override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array<String>) {
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))
}
}
}
}

View File

@ -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<String>
init {
aliases = Lists.newArrayList(MODID, "bridge", "BRIDGE")
}
override fun getName(): String {
return "bridge"
return CommandCore.getName()
}
override fun getUsage(sender: ICommandSender): String {
return "bridge <connect|disconnect>"
return CommandCore.getUsage()
}
override fun getAliases(): List<String> {
return aliases
return CommandCore.getAliases()
}
override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array<String>) /*throws CommandException*/ {
override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array<String>) {
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))
}
}
}
}

View File

@ -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<String>
init {
aliases = Lists.newArrayList(MODID, "bridge", "BRIDGE")
}
override fun getName(): String {
return "bridge"
return CommandCore.getName()
}
override fun getUsage(sender: ICommandSender): String {
return "bridge <connect|disconnect>"
return CommandCore.getUsage()
}
override fun getAliases(): List<String> {
return aliases
return CommandCore.getAliases()
}
override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array<String>) /*throws CommandException*/ {
override fun execute(server: MinecraftServer, sender: ICommandSender, args: Array<String>) {
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))
}
}
}
}

View File

@ -0,0 +1,34 @@
package matterlink.command
import matterlink.instance
object CommandCore {
fun getName() : String { return "bridge" }
fun getAliases() : List<String> { return listOf("BRIDGE","bridge") }
fun getUsage() : String { return "bridge <connect|disconnect|reload>"}
fun execute(args : Array<String>) : 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
}
}