MSPT is now the only indicator available for reactive mode - support for TPS has been dropped. MSPT support has been added for Spigot. For those currently using reactive mode with TPS as your indicator, you may need to readjust your config after updating.
Fixed MSPT being halved when using an odd-numbered collection period.
Added toggleable notifications when the plugin performs actions - /farmcontrol notify.
Added a history of recent actions the plugin has performed - /farmcontrol history.
Optimised the entity grouping task. This task was previously quite expensive to run and would throw a lot of garbage onto the heap.
Added a configurable delay before starting the trigger checker task after the plugin is enabled. This is useful if using the reactive mode as it allows the plugin to ignore the performance in the first few minutes following a server restart.
Use the median tick time for calculating MSPT rather than a truncated mean.
Disable the ability to undo the remove-random-movement action when an entity is tempted - doing this causes an exception due to the target event being called while the server is looping through the entity's pathfinder goals.
Version 1.1.0 adds a reactive mode which allows you to set profiles that run only when the servers performance has degraded.
Although it is preferable to ensure your server's performance doesn't degrade in the first place, there are some good use cases for reactive mode. As an example:
Suppose that you currently have farms on your server limited to a maximum of 20 animals, and you want to increase this limit without having performance suffer when a lot of people are online. One option would be to increase the limit for farms (to 50, for example) and use reactive mode to remove the AI of animals in farms with more than 20 animals when the MSPT climbs above 40, for example.
Using this method, players who have farms with less than 20 animals will notice no difference from before. Players who want to keep more than 20 animals in a farm will be able to do so at the cost of having the AI removed from their animals when player counts are higher.
The plugin now uses a smarter strategy for removing entities, ensuring that equal numbers of each entity type are left behind. As an example, if you set a limit of 40 animals within 10 blocks of each other, and someone had 30 cows, 40 pigs and 10 sheep within 10 blocks of each other, the plugin would remove all but 15 cows, 15 pigs and 10 sheep.
Added a custom metric for "Actions in use" to bStats.