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 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.CommandBase
import net.minecraft.command.ICommandSender import net.minecraft.command.ICommandSender
import net.minecraft.command.WrongUsageException
import net.minecraft.server.MinecraftServer import net.minecraft.server.MinecraftServer
import net.minecraft.util.text.TextComponentString
class CommandMatterlink : CommandBase() { class CommandMatterlink : CommandBase() {
private val aliases: List<String>
init {
aliases = Lists.newArrayList(MODID, "bridge", "BRIDGE")
}
override fun getName(): String { override fun getName(): String {
return "bridge" return CommandCore.getName()
} }
override fun getUsage(sender: ICommandSender): String { override fun getUsage(sender: ICommandSender): String {
return "bridge <connect|disconnect>" return CommandCore.getUsage()
} }
override fun getAliases(): List<String> { 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()) { if (args.isEmpty()) {
//throw new WrongUsageException("") throw WrongUsageException("Invalid command! Valid uses: ${this.getUsage(sender)}")
return
} }
//TODO: check if sender is OP or test if normal users cannot send this //TODO: check if sender is OP or test if normal users cannot send this
val reply = CommandCore.execute(args)
val cmd = args[0].toLowerCase() if (reply.isNotEmpty() && sender.sendCommandFeedback()) {
when (cmd) { sender.sendMessage(TextComponentString(reply))
"connect" -> {
instance.connect()
}
"disconnect" -> {
instance.disconnect()
} }
} }
}
} }

View File

@ -1,53 +1,35 @@
package matterlink.command 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.CommandBase
import net.minecraft.command.ICommandSender import net.minecraft.command.ICommandSender
import net.minecraft.command.WrongUsageException
import net.minecraft.server.MinecraftServer import net.minecraft.server.MinecraftServer
import net.minecraft.util.text.TextComponentString
class CommandMatterlink : CommandBase() { class CommandMatterlink : CommandBase() {
private val aliases: List<String>
init {
aliases = Lists.newArrayList(MODID, "bridge", "BRIDGE")
}
override fun getName(): String { override fun getName(): String {
return "bridge" return CommandCore.getName()
} }
override fun getUsage(sender: ICommandSender): String { override fun getUsage(sender: ICommandSender): String {
return "bridge <connect|disconnect>" return CommandCore.getUsage()
} }
override fun getAliases(): List<String> { 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()) { if (args.isEmpty()) {
//throw new WrongUsageException("") throw WrongUsageException("Invalid command! Valid uses: ${this.getUsage(sender)}")
return
} }
//TODO: check if sender is OP or test if normal users cannot send this //TODO: check if sender is OP or test if normal users cannot send this
val reply = CommandCore.execute(args)
val cmd = args[0].toLowerCase() if (reply.isNotEmpty() && sender.sendCommandFeedback()) {
when (cmd) { sender.sendMessage(TextComponentString(reply))
"connect" -> {
instance.connect()
}
"disconnect" -> {
instance.disconnect()
} }
} }
}
} }

View File

@ -1,53 +1,36 @@
package matterlink.command 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.CommandBase
import net.minecraft.command.ICommandSender import net.minecraft.command.ICommandSender
import net.minecraft.command.WrongUsageException
import net.minecraft.server.MinecraftServer import net.minecraft.server.MinecraftServer
import net.minecraft.util.text.TextComponentString
class CommandMatterlink : CommandBase() { class CommandMatterlink : CommandBase() {
private val aliases: List<String>
init {
aliases = Lists.newArrayList(MODID, "bridge", "BRIDGE")
}
override fun getName(): String { override fun getName(): String {
return "bridge" return CommandCore.getName()
} }
override fun getUsage(sender: ICommandSender): String { override fun getUsage(sender: ICommandSender): String {
return "bridge <connect|disconnect>" return CommandCore.getUsage()
} }
override fun getAliases(): List<String> { 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()) { if (args.isEmpty()) {
//throw new WrongUsageException("") throw WrongUsageException("Invalid command! Valid uses: ${this.getUsage(sender)}")
return
} }
//TODO: check if sender is OP or test if normal users cannot send this //TODO: check if sender is OP or test if normal users cannot send this
val reply = CommandCore.execute(args)
val cmd = args[0].toLowerCase() if (reply.isNotEmpty() && sender.sendCommandFeedback()) {
when (cmd) { sender.sendMessage(TextComponentString(reply))
"connect" -> {
instance.connect()
}
"disconnect" -> {
instance.disconnect()
} }
} }
}
} }

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
}
}