Biome Spawners
BiomesAPI provides a built-in system for customizing mob spawns inside custom biomes. BiomeSpawners
inform the server what mobs to spawn, how many, how likely, and how many concurrently can spawn.
Example Usage
Section titled “Example Usage”import me.outspending.biomesapi.biome.CustomBiome;
import me.outspending.biomesapi.registry.ResourceKey;
import me.outspending.biomesapi.wrapper.BiomeSettings;
import me.outspending.biomesapi.wrapper.entity.BiomeSpawner;
import me.outspending.biomesapi.wrapper.entity.MobCategory;
import me.outspending.biomesapi.wrapper.entity.data.NaturalSpawner;
import org.bukkit.entity.EntityType;
import org.bukkit.plugin.java.JavaPlugin;
public class ExamplePlugin extends JavaPlugin {
@Override
public void onEnable() {
// A biome that will only ever spawn large quantities of pigs.
BiomeSpawner spawner = BiomeSpawner.builder()
.setCreatureGenerationProbability(0.1f)
.addSpawner(MobCategory.CREATURE, 100, NaturalSpawner.of(EntityType.PIG, 4, 12))
.build();
CustomBiome.builder()
.resourceKey(ResourceKey.of("test", "custombiome"))
.settings(BiomeSettings.defaultSettings())
.waterColor("#F5F2EB")
.grassColor("#DBE9EC")
.setSpawner(spawner)
.register();
}
} import me.outspending.biomesapi.biome.CustomBiome;
import me.outspending.biomesapi.registry.ResourceKey;
import me.outspending.biomesapi.wrapper.BiomeSettings;
import me.outspending.biomesapi.wrapper.entity.BiomeSpawner;
import me.outspending.biomesapi.wrapper.entity.MobCategory;
import me.outspending.biomesapi.wrapper.entity.data.NaturalSpawner;
import org.bukkit.entity.EntityType;
import org.bukkit.plugin.java.JavaPlugin;
public class ExamplePlugin extends JavaPlugin {
@Override
public void onEnable() {
// A biome that will spawn no mobs.
BiomeSpawner spawner = BiomeSpawner.empty();
CustomBiome.builder()
.resourceKey(ResourceKey.of("test", "custombiome"))
.settings(BiomeSettings.defaultSettings())
.waterColor("#F5F2EB")
.grassColor("#DBE9EC")
.setSpawner(spawner)
.register();
}
} Mob Spawn Costs
Section titled “Mob Spawn Costs”Setting charge lower and energyBudget higher allows more of a specific mob to spawn concurrently.
Example Usage
Section titled “Example Usage”import me.outspending.biomesapi.biome.CustomBiome;
import me.outspending.biomesapi.registry.ResourceKey;
import me.outspending.biomesapi.wrapper.BiomeSettings;
import me.outspending.biomesapi.wrapper.entity.BiomeSpawner;
import me.outspending.biomesapi.wrapper.entity.MobCategory;
import me.outspending.biomesapi.wrapper.entity.data.NaturalSpawner;
import org.bukkit.entity.EntityType;
import org.bukkit.plugin.java.JavaPlugin;
public class ExamplePlugin extends JavaPlugin {
@Override
public void onEnable() {
BiomeSpawner spawner = BiomeSpawner.builder()
.setCreatureGenerationProbability(0.1f)
.addSpawner(MobCategory.CREATURE, 100, NaturalSpawner.of(EntityType.PIG, 4, 12))
.addSpawner(MobCategory.CREATURE, 100, NaturalSpawner.of(EntityType.COW, 4, 12))
// Allows cows to spawn faster in this biome.
.addMobSpawnCost(EntityType.COW, SpawnCost.of(25, 100))
.build();
CustomBiome.builder()
.resourceKey(ResourceKey.of("test", "custombiome"))
.settings(BiomeSettings.defaultSettings())
.waterColor("#F5F2EB")
.grassColor("#DBE9EC")
.setSpawner(spawner)
.register();
}
}