This plugin allows the server owner to control how many entities can be spawned in a chunk (or a region such as a plot if you're using a region management plugin).

If your server faces a problem with players spawning too many entities (mobs/animals), you can control the spawning with this plugin.

You can set the maximum spawn number per chunk/plot for each entity type.

If you have a region management plugin such as:

 

you can use the entity limit per plot/region/etc.
You can find the types of entities at https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html

Commands:
 
  • /ectl | /ectl help : displays the help menu
  • /ectl setlimit <entity_name> <max_num> : Sets the maximum number of the specified entity can be spawned in the chunk/plot.
  • /ectl list <entity_name> : Lists the current limit of the specified entity.

Permission Node:
 
  • entitycontrol.list.modify : allows you to use /ectl setlimit command.
  • entitycontrol.list : allows you to use /ectl list command.

Installation:
You just need to install EntityControl.jar in the plugins folder.

Dependency:
You do not need these plugins but if you have one EntityContol's plot support can be turned on :
 
  • Plotz
  • PlotMe
  • PlotSquared

Sample Config:

# This is a template config file
# define your parameter and its value like:
Messages:
  ErrorMsg : "&c[EC] : Some error occured."
  EnoughEntity: "&a[EC] : There are enough entity of %type% type in this chunk!"
  EntityCount : "&a[EC] : The number of &e%type% &ais &e%count%"

HelpMessages:
  banner:
    msg: "=== &e[&aEntityControl Commands List (%version%)&e] &r==="
  help:
    msg: "&a/ectl help : displays this help menu."
  reload:
    msg: "&a/ectl reload : reloads config file."
    permission: "entitycontrol.reload"
  debug:
    msg: "&a/ectl debug <true|false> : turn on / off the debug mode."
    permission: "entitycontrol.debug"
  setlimit:
    msg: "&a/ectl setlimit <entity_name> <max_number> : Sets the maximum number of the specified entity can be spawned in the chunk/plot."
    permission: "entitycontrol.list.modify"
  list:
    msg: "&a/ectl list <entity_name> : Lists the current limit of the specified entity."
    permission: "entitycontrol.list"
  count:
    msg: "&a/ectl count <entity_name> <Retion_plugin> : counts the number of <entity_name> mob."
    permission: "entitycontrol.count"

# default is LOW, you can have LOWEST, LOW, NORMAL, HIGH, HIGHEST or MONITOR
# adjust these event priority if those event processes from this plugin
# interfere with other plugins' event processes.
EventPriorityMap:
  CreatureSpawnEvent: "LOWEST"
  PlayerInteractEvent: "HIGHEST"
  VehicleEnterEvent: "HIGHEST"
  EntityPortalExitEvent: "HIGHEST"

CountCheckInterval : 5

DisabledWorlds:
#  - pvp

# ASkyBlock, Factions, FactionsUUID, Feudal, GriefPrevention, Kingdoms, LegacyFactions, NovaGuilds, PreciousStone, RedProtect, Residence, Towny, uSkyBlock, PlotSquared v3, PlotSquared v4, etc.
RegionPlugin: "WorldGuard"

EntityLimits:
  VILLAGER: 10
  CHICKEN: 10
  OCELOT: 10
  'null': -1
  GUARDIAN: 5
  MINECARTCHEST: -1
  THROWNEXPBOTTLE: -1
  LEASHKNOT: -1
  THROWNENDERPEARL: -1
  SKELETON: 10
  PRIMEDTNT: -1
  FIREBALL: -1
  ENDERDRAGON: -1
  CAVESPIDER: 5
  FIREWORKSROCKETENTITY: -1
  ENTITYHORSE: 10
  MINECARTTNT: -1
  ENDERMAN: 5
  COW: 10
  MINECARTFURNACE: -1
  MUSHROOMCOW: 10
  GHAST: -1
  SPIDER: 10
  PIGZOMBIE: 10
  XPORB: -1
  MINECARTCOMMANDBLOCK: -1
  ITEMFRAME: 20
  WITHERSKULL: -1
  GIANT: -1
  SNOWMAN: 5
  WITHERBOSS: -1
  MINECARTHOPPER: -1
  CREEPER: 3
  PIG: 10
  FALLINGSAND: -1
  ITEM: -1
  MINECARTMOBSPAWNER: -1
  VILLAGERGOLEM: 5
  ARMORSTAND: 10
  SNOWBALL: -1
  EYEOFENDERSIGNAL: -1
  PAINTING: 10
  RABBIT: 10
  BOAT: 3
  SMALLFIREBALL: -1
  LAVASLIME: 5
  ENDERCRYSTAL: -1
  SQUID: 10
  MINECARTRIDEABLE: -1
  BLAZE: -1
  OZELOT: 10
  ENDERMITE: -1
  WOLF: 10
  ARROW: -1
  SILVERFISH: -1
  SLIME: 10
  ZOMBIE: 10
  BAT: -1
  SHEEP: 10
  WITCH: 10
  POLARBEAR: 10
  EVOKER: 10
HightLimit: false