package com.alttd.essentia; import org.jetbrains.annotations.ApiStatus; public interface EssentiaAPI { static EssentiaAPI get() { return Provider.instance; } final class Provider { private static EssentiaAPI instance = null; @ApiStatus.Internal static void register(EssentiaAPI instance) { if (Provider.instance != null) throw new UnsupportedOperationException("Cannot redefine singleton"); Provider.instance = instance; } } }