Frage von Trachom, 32

Spigot programmieren: Viele mobs spawnen und nach einer zeit wieder entfernen?

Hey, wie kann ich bei spigot viele Schafe auf einem Fleck(also einer Location) spawnen und die dann wieder löschen? Ich möchte eine Funktion haben, in der man die Anzahl der Schafe angeben kann. Vielen dank im voraus!

Antwort
von LudwigSchindler, 20

Du machst einfach eine for-Schleife in der du die Entitys spawnst. Dann speicherst du dir die UUID des Entitys in einer ArrayList ab. Wenn du die Entitys wieder löschen willst, die mit der Methode generiert wurden, musst du einfach die ArrayList mit den UUIDs in einer foreach-Schleife durchgehen und das Entity entfernen.

Kommentar von Trachom ,

So?

public static HashSet sheeps = new HashSet<>();

public static void spawnSheep(int amount) {

for (int i = 0; i < amount; i++) {
File file = new File(getPath(), "spawns.yml");
FileConfiguration cfg = YamlConfiguration.loadConfiguration(file);

String world = cfg.getString("Sheepspawn.world");
Double x = cfg.getDouble("Sheepspawn.x");
Double y = cfg.getDouble("Sheepspawn.y");
Double z = cfg.getDouble("Sheepspawn.z");

World w = Bukkit.getWorld(world);
Location loc = new Location(w, x, y, z);
Sheep sheep = (Sheep) loc.getWorld().spawnCreature(loc, CreatureType.SHEEP);
UUID uuid = sheep.getUniqueId();
sheeps.add(uuid);

}

}

Kommentar von LudwigSchindler ,

Wenn es funktioniert, ja. Habe es mir nicht genau durchgelesen aber so ungefähr wirds schon passen ;D

Kommentar von Trachom ,

und wie entferne ich die wieder?

Kommentar von LudwigSchindler ,

Du gehst einfach jedes Entity einzeln durch und wenn es eines aus der Liste ist, entfernst du es.

Kommentar von Trachom ,

Dankeschön, hat geklappt! Noch eine Frage, wenn ich eine Location habe, wie kann ich mit Randoms einen Radius erzeugen?

Kommentar von LudwigSchindler ,

Du meinst wahrscheinlich dann so einen Bereich, mit/in dem du dann Sachen machen kannst, oder? Egal ob du das meinst, muss ich dir leider sagen, dass ich keine Ahnung habe :/ 

Keine passende Antwort gefunden?

Fragen Sie die Community