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 info <entity_name> : Lists the current limit of the specified entity.
  • /ectl count <entity_name> : counts the current amount of the specified entity.

Permission Node:
 
  • entitycontrol.setlimit : allows you to use /ectl setlimit command.
  • entitycontrol.info : allows you to use /ectl info command.
  • entitycontrol.count : allows you to use /ectl count 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:

Messages:
  ErrorMsg : "&c[EC] : Some error occured."
  EnoughEntity: "&a[EC] : There are enough entity of &e%type% &atype (max:&e%max_count%&a) in this chunk!"
  EntityCount : "&a[EC] : The number of &e%type% (max:&e%max_count%&a)is &e%count%"
  LimitSet : "&a[EC] : The new spawn limit for &e%type% &ahas been set to &e%count% &a."
  EntityLimit : "&a[EC] : The maximum number of this entity type (&e%type%&a) is &e%max_count% &a."
  EntityLimitsSaved : "&a[EC] : The entity limit data were successfully saved!"

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.setlimit"
  info:
    msg: "&a/ectl info <entity_name> : shows the current limit of the specified entity."
    permission: "entitycontrol.info"
  count:
    msg: "&a/ectl count <entity_name> <Retion_plugin> : counts the number of <entity_name> mob."
    permission: "entitycontrol.count"

CommandAliases:
  - "ec"
  - "ectl"

# this option is for the target outlet of the messages to go. Previously, they were all sent to chat.
MessageOutlet:
  Title: false
  SubTitle: false
  ActionBar: false
  Chat: true

# 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
RegionPlugin: WorldGuard

# if this option is -1, hight will not be checked.
HeightLimit: -1

# When the entitylimits.yml is first generated, this default limit value will be used.
DefaultLimit: -1