2024-02-03 20:58:02 +00:00
|
|
|
package com.alttd.essentia;
|
|
|
|
|
|
2024-10-17 18:22:28 +00:00
|
|
|
import com.alttd.essentia.api.model.randomteleport.LocationValidator;
|
2024-02-03 20:58:02 +00:00
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-10-17 18:22:28 +00:00
|
|
|
|
|
|
|
|
public void addLocationValidator(LocationValidator locationValidator);
|
2024-02-03 20:58:02 +00:00
|
|
|
}
|