package mods.betterfoliage.util import net.minecraft.client.MinecraftClient import java.util.concurrent.CompletableFuture import java.util.concurrent.CompletionStage import java.util.function.Consumer import java.util.function.Function fun completedVoid() = CompletableFuture.completedFuture(null)!! fun CompletionStage.map(func: (T)->U) = thenApply(Function(func)).toCompletableFuture()!! fun CompletionStage.mapAsync(func: (T)->U) = thenApplyAsync(Function(func), MinecraftClient.getInstance()).toCompletableFuture()!! fun CompletionStage.sink(func: (T)->Unit) = thenAccept(Consumer(func)).toCompletableFuture()!! fun CompletionStage.sinkAsync(func: (T)->Unit) = thenAcceptAsync(Consumer(func), MinecraftClient.getInstance()).toCompletableFuture()!!