Lib39/src/main/java/top/r3944realms/lib39/util/ILevelHelper.java

74 lines
1.4 KiB
Java

package top.r3944realms.lib39.util;
import net.minecraft.world.level.Level;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
/**
* The interface Level helper.
*/
public interface ILevelHelper {
/**
* Gets level.
*
* @return the level
*/
Level getLevel();
/**
* The enum Level helper.
*/
enum LevelHelper implements ILevelHelper {
/**
* Server level helper.
*/
SERVER,
/**
* Client level helper.
*/
CLIENT;
/**
* The Level.
*/
Level level;
@Override
@Nullable
public Level getLevel() {
return level;
}
/**
* Sets level.
*
* @param level the level
*/
@ApiStatus.Internal
public void setLevel(Level level) {
this.level = level;
}
}
/**
* Gets server level.
*
* @return the server level
*/
@Nullable
static Level getServerLevel() {
return LevelHelper.SERVER.getLevel();
}
/**
* Gets client level.
*
* @return the client level
*/
@Nullable
@OnlyIn(Dist.CLIENT)
static Level getClientLevel() {
return LevelHelper.CLIENT.getLevel();
}
}