/** * Spawns all the mobs for this isntance */ public void spawnMobs(){ Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(InstancesBase.plugin, new Runnable(){ @Override public void run() { List spawns = getSpawns(getType()); for (String type : spawns){ String[] data = spawns.get(spawns.indexOf(type)).split(":"); EntityType mob = EntityType.fromName(data[0]); World world = Bukkit.getServer().getWorld(instanceWorld); double x = Double.parseDouble(data[1])+(getType().getID()*64); double y = Double.parseDouble(data[2]); double z = Double.parseDouble(data[3])+(getID()*64); Location loc = new Location(world, x, y, z); Entity spawnedMob = world.spawnEntity(loc, mob); spawnedMob.setMetadata("instanceMob", new FixedMetadataValue(InstancesBase.plugin, getID())); addMob(spawnedMob.getUniqueId()); } } }, 20l); } /** * Gets the entityType + spawn location * @param type instanceType to get hte thigns for * @return Hashmap key = EntityType, value = location */ public List getSpawns(instanceType type){ List mobs = new LinkedList(); for (String instanceSpawn : spawns){ String[] data = instanceSpawn.split(":"); if (data[0].equals(type.toString())){ mobs.add(data[1] + ":" + data[2] + ":" + data[3] + ":" + data[4]); } } return mobs; }