31 lines
606 B
Kotlin
31 lines
606 B
Kotlin
|
package net.shadowfacts.asmr.program.execution
|
||
|
|
||
|
import net.minecraft.util.Identifier
|
||
|
import net.minecraft.util.Language
|
||
|
|
||
|
/**
|
||
|
* @author shadowfacts
|
||
|
*/
|
||
|
class OutgoingExecutionFlow(
|
||
|
val identifier: Identifier,
|
||
|
val block: ExecutableBlock
|
||
|
) {
|
||
|
|
||
|
var destination: IncomingExecutionFlow? = null
|
||
|
private set
|
||
|
|
||
|
fun link(to: IncomingExecutionFlow) {
|
||
|
destination = to
|
||
|
to.source = this
|
||
|
}
|
||
|
|
||
|
fun unlink() {
|
||
|
destination?.source = null
|
||
|
destination = null
|
||
|
}
|
||
|
|
||
|
fun translateName(): String {
|
||
|
return Language.getInstance().translate("programblock.execution.${identifier.namespace}.${identifier.path}")
|
||
|
}
|
||
|
|
||
|
}
|