46 lines
1.4 KiB
Kotlin
46 lines
1.4 KiB
Kotlin
package matterlink.command
|
|
|
|
import matterlink.bridge.command.IBridgeCommand
|
|
import matterlink.bridge.command.IMinecraftCommandSender
|
|
import net.minecraft.command.ICommandSender
|
|
import net.minecraft.server.MinecraftServer
|
|
import net.minecraft.util.ChatComponentText
|
|
import net.minecraft.util.ChunkCoordinates
|
|
import net.minecraft.util.IChatComponent
|
|
import net.minecraft.world.World
|
|
|
|
class MatterLinkCommandSender(
|
|
user: String,
|
|
env: IBridgeCommand.CommandEnvironment,
|
|
op: Boolean) : IMinecraftCommandSender(user, env, op), ICommandSender {
|
|
|
|
override fun execute(cmdString: String): Boolean {
|
|
return 0 < MinecraftServer.getServer().commandManager.executeCommand(
|
|
this,
|
|
cmdString
|
|
).apply {
|
|
sendReply(cmdString)
|
|
}
|
|
}
|
|
|
|
override fun getFormattedCommandSenderName(): IChatComponent {
|
|
return ChatComponentText(displayName)
|
|
}
|
|
|
|
override fun getCommandSenderName() = accountName
|
|
|
|
override fun getEntityWorld(): World {
|
|
return MinecraftServer.getServer().worldServerForDimension(0)
|
|
}
|
|
|
|
override fun canCommandSenderUseCommand(permLevel: Int, commandName: String): Boolean {
|
|
//we do permission
|
|
return canExecute(commandName)
|
|
}
|
|
|
|
override fun addChatMessage(component: IChatComponent) {
|
|
appendReply(component.unformattedText)
|
|
}
|
|
|
|
override fun getCommandSenderPosition(): ChunkCoordinates = ChunkCoordinates(0, 0, 0)
|
|
} |