Minestom/src/main/java/net/minestom/server/snapshot/ServerSnapshot.java
TheMode fdd3e2c53c Seal snapshot interfaces
Signed-off-by: TheMode <themode@outlook.fr>
2022-05-04 13:25:24 +02:00

28 lines
736 B
Java

package net.minestom.server.snapshot;
import net.minestom.server.MinecraftServer;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.UnknownNullability;
import java.util.Collection;
/**
* Represents the complete state of the server at a given moment.
*/
public sealed interface ServerSnapshot extends Snapshot
permits SnapshotImpl.Server {
@NotNull Collection<@NotNull InstanceSnapshot> instances();
@NotNull Collection<EntitySnapshot> entities();
@UnknownNullability EntitySnapshot entity(int id);
@ApiStatus.Experimental
static ServerSnapshot update() {
return SnapshotUpdater.update(MinecraftServer.process());
}
}