package net.shadowfacts.asmr.program.execution import net.minecraft.util.Identifier import net.shadowfacts.asmr.ASMR import net.shadowfacts.asmr.program.ProgramBlock /** * @author shadowfacts */ abstract class ExecutableBlock(identifier: Identifier): ProgramBlock(identifier) { val incoming = IncomingExecutionFlow(Identifier(ASMR.modid, "incoming"), this) abstract val outgoing: Array abstract fun execute() abstract fun next(): ExecutableBlock? }