Bir varlık yumurtlama

:javadoc:`Entity`de ortaya çıkarmak için dört şeye ihtiyaç duyacaksınız, bir :javadoc:`Location`, bir Extent, ve bir EntityType.Bunları elde etme süreci oldukça basit, eklenti kodunuzdaki herhangi bir yerden bir Location tutup ortaya çıkarmak istediğinizin Entity türünü seçin.

Örneğin, Creeper(karakter) yumurtlayalım:

import org.spongepowered.api.entity.Entity;
import org.spongepowered.api.entity.EntityTypes;
import org.spongepowered.api.event.cause.Cause;
import org.spongepowered.api.event.cause.entity.spawn.SpawnCause;
import org.spongepowered.api.event.cause.entity.spawn.SpawnTypes;
import org.spongepowered.api.world.Location;
import org.spongepowered.api.world.World;

import java.util.Optional;

public void spawnEntity(Location<World> spawnLocation) {
    World world = spawnLocation.getExtent();
    Entity creeper = world
        .createEntity(EntityTypes.CREEPER, spawnLocation.getPosition());
    SpawnCause spawnCause = SpawnCause.builder().type(SpawnTypes.PLUGIN).build();
    world.spawnEntity(creeper, Cause.source(spawnCause).build());
}

Bu, dünyayı gerçek yumurtlama için ihtiyacımız olan Location’a kapacaktır. Sonra, EntityUniverse#createEntity(EntityType, Vector3d) öğesini oluşturmak için kullanır, ancak bunun varlığı dünyaya teşvik etmediğini unutmayın, yalnızca onu oluşturacaktır. Yumurtlamak için Entity türünü ve Location koordinatlarını belirtmemiz gerekecek.

Entity i yarattığımızda, dünyayı Entity’i üretmek için kullanabiliriz. Yumurtlamak için bir Cause belirtmemiz gerekecek. Entity’leri oluşturmak için nedenin kökü olarak bir :javadoc: SpawnCause` kullanmak en iyisidir. Bu örnekte, varlığımızın bir eklenti tarafından üretildiğini belirtmiştik, ancak bunu neden yumurtlayan mob spawner (Bkz:javadoc:”MobSpawnerSpawnCause”) veya yumurtayı yumurtlamak için nedeni en iyi açıklayan herhangi bir sebep olabilir. (Bakınız:javadoc:`EntitySpawnCause).