package net.minecraft.world.level;

import net.minecraft.server.level.WorldServer;
import net.minecraft.world.entity.Entity;

public interface WorldAccess extends GeneratorAccess {

    WorldServer getLevel();

    default void addAllEntities(Entity entity) {
        // CraftBukkit start
        this.addAllEntities(entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT);
    }

    default void addAllEntities(Entity entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason reason) {
        entity.recursiveStream().forEach((e) -> this.addEntity(e, reason));
    }

    @Override
    default WorldServer getMinecraftWorld() {
        return getLevel();
    }
    // CraftBukkit end
}
