Abstracted commands into core
This commit is contained in:
parent
acaca1a04e
commit
06957f07fb
|
@ -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()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue