diff --git a/src/main/java/net/minestom/server/instance/InstanceManager.java b/src/main/java/net/minestom/server/instance/InstanceManager.java index b0ca73292..9ad83600d 100644 --- a/src/main/java/net/minestom/server/instance/InstanceManager.java +++ b/src/main/java/net/minestom/server/instance/InstanceManager.java @@ -8,6 +8,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.Collections; +import java.util.Optional; import java.util.Set; import java.util.UUID; import java.util.concurrent.CopyOnWriteArraySet; @@ -153,6 +154,20 @@ public final class InstanceManager { return Collections.unmodifiableSet(instances); } + /** + * Gets instance by given UUID. + * + * @param uuid UUID of the instance + * @return {@link Optional#empty()} if instance is not found + */ + @NotNull + public Optional getInstance(UUID uuid) { + return getInstances() + .stream() + .filter(instance -> instance.getUniqueId().equals(uuid)) + .findFirst(); + } + /** * Registers an {@link Instance} internally. *