ASMR/src/main/kotlin/net/shadowfacts/asmr/program/blocks/ChatBlock.kt

30 lines
909 B
Kotlin

package net.shadowfacts.asmr.program.blocks
import net.minecraft.client.MinecraftClient
import net.minecraft.text.LiteralText
import net.minecraft.util.Identifier
import net.shadowfacts.asmr.ASMR
import net.shadowfacts.asmr.program.ProgramBlockInput
import net.shadowfacts.asmr.program.ProgramBlockOutput
import net.shadowfacts.asmr.program.ProgramType
import net.shadowfacts.asmr.program.execution.SimpleExecutableBlock
/**
* @author shadowfacts
*/
class ChatBlock<Type: Any>(
val type: ProgramType<Type>
): SimpleExecutableBlock(
Identifier(ASMR.modid, "chat")
) {
val input = ProgramBlockInput(Identifier(ASMR.modid, "chat.input"), type, this)
override val inputs: Array<ProgramBlockInput<*>> = arrayOf(input)
override val outputs: Array<ProgramBlockOutput<*>> = arrayOf()
override fun execute() {
MinecraftClient.getInstance().player.sendMessage(LiteralText(input.value.toString()))
}
}