2022-03-03 07:44:57 +01:00
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
*/
|
2022-05-04 13:25:24 +02:00
|
|
|
public sealed interface ServerSnapshot extends Snapshot
|
|
|
|
permits SnapshotImpl.Server {
|
2022-03-03 07:44:57 +01:00
|
|
|
@NotNull Collection<@NotNull InstanceSnapshot> instances();
|
|
|
|
|
|
|
|
@NotNull Collection<EntitySnapshot> entities();
|
|
|
|
|
|
|
|
@UnknownNullability EntitySnapshot entity(int id);
|
|
|
|
|
|
|
|
@ApiStatus.Experimental
|
|
|
|
static ServerSnapshot update() {
|
|
|
|
return SnapshotUpdater.update(MinecraftServer.process());
|
|
|
|
}
|
|
|
|
}
|