package net.minecraft.world.level.saveddata; import java.util.Objects; import net.minecraft.server.level.ServerLevel; import org.jetbrains.annotations.Nullable; public abstract class SavedData { private boolean dirty; /** * Marks this {@code SavedData} dirty, to be saved to disk when the level next saves. */ public void setDirty() { this.setDirty(true); } /** * Sets the dirty state of this {@code SavedData}, whether it needs saving to disk. */ public void setDirty(boolean dirty) { this.dirty = dirty; } /** * Whether this {@code SavedData} needs saving to disk. */ public boolean isDirty() { return this.dirty; } public record Context(@Nullable ServerLevel level, long worldSeed) { public Context(ServerLevel level) { this(level, level.getSeed()); } public ServerLevel levelOrThrow() { return (ServerLevel)Objects.requireNonNull(this.level); } } }