67 lines
1.5 KiB
Java
67 lines
1.5 KiB
Java
package top.r3944realms.lib39.util;
|
|
|
|
import top.r3944realms.lib39.Lib39;
|
|
|
|
import java.util.function.Supplier;
|
|
|
|
/**
|
|
* The interface Client only.
|
|
*/
|
|
public interface IClientOnly {
|
|
/**
|
|
* Check.
|
|
*
|
|
* @param runnable the runnable
|
|
*/
|
|
static void check(Runnable runnable) {
|
|
if (Lib39.isClientEnvironment()) {
|
|
runnable.run();
|
|
return;
|
|
}
|
|
throw new RuntimeException("This method should be called in ClientEnvironment");
|
|
}
|
|
|
|
/**
|
|
* Check.
|
|
*
|
|
* @param runnable the runnable
|
|
* @param fallback the fallback
|
|
*/
|
|
static void check(Runnable runnable, Runnable fallback) {
|
|
if (Lib39.isClientEnvironment()) {
|
|
runnable.run();
|
|
return;
|
|
}
|
|
fallback.run();
|
|
}
|
|
|
|
/**
|
|
* Check t.
|
|
*
|
|
* @param <T> the type parameter
|
|
* @param supplier the supplier
|
|
* @return the t
|
|
*/
|
|
static <T> T check(Supplier<T> supplier) {
|
|
if (Lib39.isClientEnvironment()) {
|
|
return supplier.get();
|
|
}
|
|
throw new RuntimeException("This method should be called in ClientEnvironment");
|
|
}
|
|
|
|
/**
|
|
* Check t.
|
|
*
|
|
* @param <T> the type parameter
|
|
* @param supplier the supplier
|
|
* @param fallback the fallback
|
|
* @return the t
|
|
*/
|
|
static <T> T check(Supplier<T> supplier, Supplier<T> fallback) {
|
|
if (Lib39.isClientEnvironment()) {
|
|
return supplier.get();
|
|
}
|
|
return fallback.get();
|
|
}
|
|
}
|