Generando una Entidad
Necesitaras tres cosas para generar una Entity: una Location, una Extent, y una EntityType. El proceso para obtener estos es bastante simple, solo necesitas tener tu``Location``de algun lugar de tu codigo de complemento y elegir el tipo de``Entity`` que deseas generar.
Por ejemplo, intenta crear un Creeper:
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());
}
Esto tomara del mundo nuestra``Location``, la cual necesitaremos para generar actualmente. Despues, usa EntityUniverse#createEntity(EntityType, Vector3d) a generar, y las co-ordenadas de su``Location``.
Una vez que tengamos creada nuestra``Entity``entonces podremos usar el generador del mundo de``Entity``. Nosotros necesitaremos para especificar la``Cause``para el generador. Para generar``Entity``s, es mejor usar :javadoc:`SpawnCause`como la raiz de la causa. En este ejemplo, nosotros fijamos que nuestra entidad fue generada por el plugin, sin embargo podemos crear cualquier causa que mejor se describa porque nosotros generamos esta dentro, semejante a los puntos de generacion(ver:javadoc:`MobSpawnerSpawnCause`),o el huevo generador (ver:javadoc:EntitySpawnCause).