package me.hammerle.snuviscript.code; import java.util.function.BiFunction; public final class BasicFunction { private final String name; private final BiFunction f; public BasicFunction(String name, BiFunction f) { this.name = name; this.f = f; } public String getName() { return name; } public Object execute(Script sc, InputProvider[] input) { sc.currentFunction = name; Object o = f.apply(sc, input); sc.currentFunction = name; return o; } }