aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/ledger/TriggerCommand.kt
blob: c97627d29b29a074701aadea7a6553361247c105 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package moe.nea.ledger

import moe.nea.ledger.events.TriggerEvent
import net.minecraft.command.CommandBase
import net.minecraft.command.ICommandSender
import net.minecraft.event.ClickEvent
import net.minecraft.util.ChatComponentText
import net.minecraftforge.common.MinecraftForge

class TriggerCommand : CommandBase() {
	fun getTriggerCommandLine(trigger: String): ClickEvent {
		return ClickEvent(ClickEvent.Action.RUN_COMMAND, "/${commandName} $trigger")
	}

	override fun getCommandName(): String {
		return "__ledgertrigger"
	}

	override fun getCommandUsage(sender: ICommandSender?): String {
		return ""
	}

	override fun processCommand(sender: ICommandSender, args: Array<out String>) {
		val event = TriggerEvent(args.joinToString(" "))
		MinecraftForge.EVENT_BUS.post(event)
		if (!event.isCanceled)
			sender.addChatMessage(ChatComponentText("§cCould not find the given trigger. This is an internal command for ledger."))
	}

	override fun canCommandSenderUseCommand(sender: ICommandSender?): Boolean {
		return true
	}

}