FarmControl [1.15-1.17] 1.1.8

A plugin for controlling the size and other properties of mob farms.

  1. froobynooby
    Native Minecraft Version:
    1.16
    Tested Minecraft Versions:
    • 1.15
    • 1.16
    • 1.17
    Source Code:
    https://github.com/froobynooby/FarmControl/
    FarmControl
    Control the size and other properties of mob farms on your server.

    [​IMG]
    This plugin allows you to manage certain properties of farms on your server. Among other things, the plugin acts as a farm limiter, can remove the ability of mobs in farms to collide and perform random movements, or can completely disable the AI of mobs in farms. These actions can be performed either passively or in response to the server's performance degrading.

    The plugin is highly configurable, with per-world customisation available. You are able to define custom profiles to perform any number of different actions on groups of entities characterised by their entity type, distance from each other and count.

    Installation
    To install the plugin, simply place the downloaded jar into your plugin directory.

    Be sure to configure the plugin by looking through its config.yml and profiles.yml, both located in the FarmControl folder of your plugin directory. By default, the plugin will only remove the random movement capabilities of and disable collisions for mobs in animal farms.

    Configuration
    There is much to configure with this plugin
    Code (YAML):
    # Configuration for FarmControl.
    # Plugin page: https://www.spigotmc.org/resources/86923/
    # GitHub: https://github.com/froobynooby/FarmControl

    # Please don't change this!
    version
    : 4

    # Every how many ticks should we run the profile check / action cycle?
    cycle-period
    : 600

    # How long in ticks should we wait before starting the checking tasks following the plugin's start up?
    #  * This is useful when using the 'reactive' mode where it is desirable to ignore the server's performance in the first
    #    few minutes following a restart.
    start-up-delay
    : 0

    # These settings can be specified per world.
    #  * Note: If a world is not specified or if a setting is missing, it will use the settings listed under the default
    #    section.
    world-settings
    :
      default
    :
      # Which profiles (as given in profiles.yml) should we run?
       profiles
    :
        # These profiles are constantly run.
         proactive
    :
          - soft-nerf-animal-farms
         #  - trim-animal-farms
         #  - trim-sparse-animal-farms

         # These profiles only run when the server is performing poorly and are progressively undone as performance
         # improves (as defined under the reactive-mode-settings).
         #  * Note: It is generally preferable to ensure your server's performance doesn't degrade in the first place,
         #    rather than try to mitigate it. That said, there are some reasonable use cases for this mode, such as
         #    allowing your players to keep larger farms at the cost of nerfing them when performance begins to degrade.
         reactive
    :
        #  - hard-nerf-animal-farms
         #  - freeze-animal-farms

       # These settings concern the reactive mode for triggering profile check / action cycles.
       reactive-mode-settings
    :
        # Below what TPS should the reactive mode be triggered?
         trigger-tps-threshold
    : 18.0

         # Above what TPS should the reactive mode be untriggered, and actions undone.
         untrigger-tps-threshold
    : 19.9

         # These settings concern how the plugin should handle undoing actions performed on mobs once the reactive mode has
         # been untriggered.
         untrigger-settings
    :
          # How many cycles of the reactive mode being untriggered should have to pass before any actions are undone?
           minimum-cycles-before-undo
    : 10

           # At most how many mobs should have their actions undone per cycle?
           maximum-undos-per-cycle
    : 40

           # How much should an entity contribute to the maximum-undos-per-cycle limit?
           #  * For example, if maximum-undos-per-cycle was 40 and the entity-undo-weight for villagers was 5, at most 8
           #    villagers could have their actions undone (since 5 * 8 = 40).
           #  * If an entity type is not specified, the value under default will be used.
           entity-undo-weight
    :
             default
    : 1
             villager
    : 5

       # These settings concern when we should exclude a mob from having actions applied to them.
       exclusion-settings
    :
        # Should we not perform actions on tamed mobs?
         tamed
    : true

         # Should we not perform actions on named mobs?
         named
    : true

         # Should we not perform actions on mobs in love-mode (breeding animals)?
         love-mode
    : true

         # Should we not perform actions on mobs that are leashed?
         leashed
    : true

         # Should we not perform actions on mobs that are younger than this value (in ticks)?
         younger-than
    : 0

         # Which types of mobs should we not perform actions on?
         type
    :
        #  - villager

         # For which metadata should we not perform actions on a mob?
         #  * Some plugins will add metadata to mobs that they spawn or use. This setting allows you to exclude those mobs
         #    from having actions performed on them by this plugin.
         metadata
    :
          - Elitemob # Elite mobs from the plugin EliteMobs.
           - Elitemobs_NPC # NPCs from the plugin EliteMobs.
           - Supermob # Super mobs from the plugin EliteMobs.
           - infernalMetadata # Infernal mobs from the plugin InfernalMobs.
           - NPC # NPCs from the plugin Citizens.
           - shopkeeper # Shopkeepers from the plugin Shopkeepers.

       # These settings concern properties of actions.
       action-settings
    :
        # These settings concern when an action should be undone, and can be specified per action.
         #  * Note: If an action is not specified, or if an option is blank, the settings listed under default will be
         #    used.
         undo-on
    :
           default
    :
            # Should we undo this action when the mob is interacted with?
             interact
    : false

             # Should we undo this action when the mob is damaged?
             damage
    : false

             # Should we undo this action when the mob is targeted by another entity (e.g. a zombie targeting a villager)?
             target
    : false

             # Should we undo this action when the mob is tempted by a player (e.g. a cow tempted a player holding wheat)?
             tempt
    : false

           remove-ai
    :
             interact
    : true

             damage
    : true

             target
    : true

           remove-awareness
    :
             interact
    : true

             damage
    : true

             target
    : true

           disable-collisions
    :
             tempt
    : true

    # These settings concern how we determine the TPS.
    #  * Only touch these settings if you know what you're doing.
    tps-tracker-settings
    :
     # Over how many ticks should we collect tick durations for calculating the TPS?
      #  * Setting this too high will make the TPS very slow to react to changes.
      #  * Setting this too low will make the TPS volatile.
      collection-period
    : 1200

      # By how much (in percent) should we allow the tick durations we use to calculate the TPS vary from the average
      # tick duration.
      #  * This is used for smoothing the TPS; making sure it's not heavily affected by sudden large lag spikes, such as
      #    those caused by garbage collections or world-saves.
      #  * Setting this to 0 will mean your TPS will never change - don't do that.
      trim-outliers-to-within
    : 100.0

    # These are additional settings that apply if you are using Paper as your server software.
    paper-settings
    :
     # These settings concern how we determine the server's MSPT.
      #  * Only touch these settings if you know what you're doing.
      mspt-tracker-settings
    :
      # Over how many ticks should we collect tick durations for calculating the MSPT?
       #  * Setting this too high will make the MSPT very slow to react to changes.
       #  * Setting this too low will make the MSPT volatile.
       collection-period
    : 1200

      # These settings can be specified per world.
      #  * Note: If a world is not specified or if a setting is missing, it will use the settings listed under the default
      #    section.
      world-settings
    :
       default
    :
        # These are alternative settings for reactive-mode if you are using Paper, allowing the use of MSPT over TPS.
         alternative-reactive-mode-settings
    :
          # Should these alternative settings be used?
           use-alternative-settings
    : false

           # Above what MSPT should the reactive-mode be triggered?
           trigger-mspt-threshold
    : 47.0

           # Below what MSPT should the reactive-mode be untriggered?
           untrigger-mspt-threshold
    : 40.0
    Code (YAML):
    # Please visit https://github.com/froobynooby/FarmControl/wiki/Profiles for help with making profiles.

    profiles
    :
     # Remove random movements and disable collisions of mobs in animal farms
      soft-nerf-animal-farms
    :
       group
    :
         types
    :
          - "category:animal"
         count
    : 15
         distance
    : 5
       actions
    :
        - remove-random-movement
         - disable-collisions

      # Remove the awareness of mobs in animal farms
      hard-nerf-animal-farms
    :
       group
    :
         types
    :
          - "category:animal"
         count
    : 15
         distance
    : 5
       actions
    :
        - remove-awareness

      # Remove the AI of mobs in animal farms
      freeze-animal-farms
    :
       group
    :
         types
    :
          - "category:animal"
         count
    : 15
         distance
    : 5
       actions
    :
        - remove-ai
         - disable-collisions

      # No more than 20 animals (all of the same type) within close proximity
      trim-animal-farms
    :
       group
    :
         types
    :
          - "category:animal"
         count
    : 21
         distance
    : 5
         pure
    : true
       actions
    :
        - kill

      # No more than 50 animals (all of the same type) sparsely placed (within 160 blocks of each other)
      trim-sparse-animal-farms
    :
       group
    :
         types
    :
          - "category:animal"
         count
    : 51
         distance
    : 160
         pure
    : true
       actions
    :
        - kill
    For help with making profiles, please visit the wiki.

    Commands
    To access the base command, users will require the farmcontrol.command.farmcontrol permission node.

    /farmcontrol reload - Reload the plugin's configuration
    Permission: farmcontrol.command.reload

    /farmcontrol status <world> - Show the status of the given world.
    Permission: farmcontrol.command.status

    Metrics
    This plugin uses bStats to collect some (non-identifying) data about the servers running this plugin. You can opt-out by editing the config.yml in the bStats folder located within your server's plugin directory.
    [​IMG]
    Zinoks, GsTn, galacticwarrior and 4 others like this.

Recent Updates

  1. FarmControl 1.1.8
  2. FarmControl 1.1.7
  3. FarmControl 1.1.6

Recent Reviews

  1. Zaligan
    Zaligan
    5/5,
    Version: 1.1.8
    10/10 really good quality. can be well customized. config easely understandable.
  2. portakaal
    portakaal
    5/5,
    Version: 1.1.8
    if you're an smp owner and don't want to decrease the spawnings, then this may what you're looking for.
  3. victorlindox
    victorlindox
    5/5,
    Version: 1.1.7
    The best plugin, very very very thanks men
    ....................................................................................
  4. Minestick
    Minestick
    5/5,
    Version: 1.1.5
    This is the true must-have plugin for smp servers beyond 1.13... Thanks for all the effort that's been put into this. As well as SAML.
  5. victorlindox
    victorlindox
    5/5,
    Version: 1.1.5
    The Best plugin
    Thankssss
    .......................................................
  6. timr2000
    timr2000
    5/5,
    Version: 1.1.5
    Easy to use plugin, and almost exactly the same as SAML. Keep up the good work on this plugin ;)
  7. TW_seer67875
    TW_seer67875
    5/5,
    Version: 1.1.5
    thanks for your fix
    Excellent developers and support
    Thx bro!!!!!!!!!!!!!!!!!!!!
  8. baaghi
    baaghi
    5/5,
    Version: 1.1.5
    Perfect plugin and Dev is awesome. Thank You. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  9. MrKapitowa
    MrKapitowa
    5/5,
    Version: 1.1.3
    FarmControl must have on each server. Plugin lower impact from entity-ticking by reduce amount of entities and optionally disable some checks (AI, collision, random movements). Thx for your work.
  10. marco.paggioro
    marco.paggioro
    5/5,
    Version: 1.1.1
    --------------------
    Excellent plugin. 5 stars. Please keep it updated! :D
    --------------------