Pemijahan suatu Kesatuan

Anda akan membutuhkan tiga hal untuk pemijahan an :javadoc: Entity: a :javadoc:` Location`, an :javadoc: Extent, dan an :javadoc:` EntityType`. Proses untuk mendapatkan ini cukup sederhana, Anda hanya perlu mengambil `` Lokasi`` dari suatu tempat di kode plugin Anda dan memilih jenis `` Entity`` yang ingin Anda timbulkan.

Sebagai contoh, mari mencoba menelurkan seekor 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());
}

Ini akan merebut dunia dari `` Lokasi``, yang akan kita perlukan untuk pemijahan yang sebenarnya. Selanjutnya, ia menggunakan :javadoc: EntityUniverse # createEntity (EntityType, Vector3d) untuk membuat entitas, tapi perhatikan bahwa ini tidak menimbulkan entitas ke dunia, itu hanya akan membuatnya. Kita perlu menentukan tipe `` Entity`` untuk membuat, dan koordinat dari Location` kita.

Begitu kita telah menciptakan `` Entity`` kita, kita kemudian dapat menggunakan dunia untuk memijah `` Entity``. Kita perlu menentukan `` Cause`` untuk pemijahan. Untuk pemijahan `` Entitas`` s, yang terbaik adalah menggunakan :javadoc: SpawnCause sebagai akar penyebabnya. Dalam contoh ini, kami menyatakan bahwa entitas kami telah melahirkan dari plugin, namun kami dapat menjadikannya penyebab yang paling tepat menggambarkan mengapa kami melakukan pemijahan ini, seperti peternak massal (lihat :javadoc: MobSpawnerSpawnCause), atau telur bertelur (Lihat :javadoc: EntitySpawnCause).