Mob Farm Manager [supports 1.7.10 up to 1.20] Hopper support icon

Mob Farm Manager [supports 1.7.10 up to 1.20] Hopper support -----

Limit mob farms to prevent lags!




  • Small fix where some of the entities didn't had correct limitations applied to it.
----------, Oct 28, 2024

  • Optimization for entity removal task to avoid unnecessary scheduler calls, especially on non Folia servers
  • Fix for an issue where grouped entities would not have been properly grouped
----------, Sep 21, 2024

  • General update for internal async data processing handling
----------, Sep 7, 2024

  • Fix for an issue where plugin didn't wanted to be friends with Folia servers
----------, Aug 27, 2024

  • Limited async to single thread processing which will help out to spread out chunk check instead of pushing all of it in one go which could have caused some issues with more players online and more chunks to be checked, while it was fast it wanted to use more CPU resources than it could have actually handled
----------, Aug 20, 2024

  • Fix/Adjustment for thread usage in some cases
----------, Aug 19, 2024

  • Adjustment for allowed time to process chunk data which was causing some of the timeout errors being shown
----------, Aug 5, 2024

  • Small fix for error appearing in case it took longer than 1 second to process data due to server lagging out
  • Fix for error message in some instances when chunk isn't being loaded in fully to get entities in it
----------, Aug 2, 2024

  • Quick small fix relating to 1.19.4 servers and handling of hoppers causing error message
----------, Jul 18, 2024

  • Fix for an issue with manual clean command
  • Added option to hover over feedback messages from clean command to indicate time it took to check all the chunks. This is just extra information for some idea how long it takes to process data.
  • One more pass to address issue with thread limit
----------, Jul 18, 2024

  • Small update for chunk processing in async mode
----------, Jul 16, 2024

  • Fix for clean command reporting incorrect checked chunk number if chunk grouping is disabled
  • Fix for issue with 1.8.8 and older servers causing error messages
  • Changed approach in how we are processing chunk checks which should be now limited so single thread instead of trying to maximize those which was causing issues in some systems with more limited available thread count
----------, Jul 11, 2024

  • Additional adjustment to optimize speed between chunk processing and thread count exhaustion.
----------, Jul 9, 2024

  • Additional improvements relating to async handling to mitigate issue with error message appearing when you have bunch of players online
  • Fix for manual clean command not cleaning chunks in a correct way when you have grouping disabled
----------, Jul 8, 2024

  • Modified cleaning process to avoid pushing out al chunk checks in one go, which was causing some issues in case we had quite few of those to be done even if it was done async. Now it's done in a queue mannear to just do one after the other to spread out load even when it's done in async.
  • Fix for expanded range option calculating rage by +1 than it should have had
  • Fix for overlapping chunks from multiple players in same area being checked multiple times when we have expandedRange option enabled instead of doing it only once per cycle.
----------, Jul 7, 2024

  • Weekend... Lowered limit for expanded chunks from 3 to 2 max, as this only creates huge numbers of chunks needed to be checked as separate ones which could have caused some issues with thread counts.
----------, Jul 6, 2024

  • Additional fix appeared in latest versions
----------, Jul 6, 2024

  • Addressing issue arisen with latest update
----------, Jul 5, 2024

  • Fix for forniture plugins not being able to spawn in invisible armor stands if it's already over the limit
  • Improved detection of who placed item frames or armor stand to avoid issues if you have people around you with different limit access
  • Fix for issue with older servers
  • Fix for an issue with minecart hoppers
  • Fix for ExpandRange option in autoclean not working as intended as of 3.x version
----------, Jul 5, 2024

  • Fix for issue relating to furniture plugins using invisible armor stands which got cooled off when we should skip those
  • Fix for armor stand placement over allowed limit when you have bypass permission which would have resulted in armorstand not spawning in and item being consumed
----------, Jun 21, 2024

  • Rework on entire cleaning logic. Now we will have improved checks for better performance gains. Basic entity spawns are still checked in sync but one check is only around 0.05ms, while auto clean and clean command will be performed in Async mode which will avoid any increase in server load
  • Some improvements for hopper control to more properly adjust hopper transfer rates
----------, Jun 13, 2024

  • Fix for latest Folia servers causing error messages while auto clean is in process
  • Optimized block limits when it comes to pistons moving them in and out of chunk
  • Fix for issue with pistons being able to move in/out more blocks then defined limit.
----------, Mar 1, 2024

  • Fix for error message while running hopper control on 1.20.3 and 1.20.4 servers.
----------, Jan 1, 2024

  • Fix for issue with modded servers and modded in custom entities
  • Fix for follia support issue
  • Fix for incorrect final amount of item frames as a limit
----------, Nov 23, 2023

  • Just a quick fix to address issue with latest update when mob pickups item
----------, Sep 8, 2023

  • Fix for issue where some mobs would not have been removed if they spawned with equipped items and you had option to ignore mobs with picked up items
----------, Sep 8, 2023

  • Small fix for error message appearing in some situations
----------, Jul 28, 2023

  • Optimized general cleanup script to avoid scanning chunks which already got scanned.
  • Moved most of auto cleanup process into async which now should produce even less of an impact on your server
  • Added initial support for Folia servers. This might need more work to be done.
----------, Jul 28, 2023

  • Removed few default entity types from EntityTypes list which should not be controlled by applying limitations to them. As of example TEXT_DISPLAY entity type should be limited as its used by other plugins to display text in hologram form as of 1.19.3 Keep in mind that existing setup will maintain this entry, clean one will not. you can always add those sections manually if really needed and you have specific use case and you know what you are doing.
  • Now EntityTypes will be sorter alphabetically for convenience sake
----------, Jun 21, 2023

  • Fix for hopper control error on 1.19.4 servers
  • Fix for general hopper control sometimes not adjusting transfer rates as it should
----------, Mar 24, 2023

  • Fix for issue where grouping chunk range would be outside loaded chunk area which would have caused additional load on the server while loading in chunks to check mob limits
  • Lowered max grouped chunk range to 3, which will be more than enough and in most range of 2 is what you should be using for best performance and feature
  • Fix for block place limit message printing out raw block material name, now it will show materials appropriate name or even translated one if possible
  • Fix for IgnoreEntityWithPickedItem option not wanting to properly exclude mobs with items on them
  • Improved mob cleanup caused by command or auto clean, now we will remove entities based on their age which will mean that older ones will remain intact while new ones will be removed. This will address issue where entities spawning outside players owned land would effect entities inside, farms and such, of it during auto or manual cleanup
----------, Feb 27, 2023

  • Added check on piston block moves. This is disabled by default. It will prevent from players moving limited blocks into other chunks by using pistons.
----------, Feb 14, 2023

  • Fix for block placing limiter for 1.12 servers failing to determine correct highest block which was mostly relevant while placing none block type "blocks" like chests from top to bottom in single line without having any solid block above those.
----------, Jul 26, 2022

  • Small update to add option to ignore disabled worlds in /mfm list command output incase you don't really want to see reports from your hub type worlds
----------, May 3, 2022

  • Small fix for block limiter not working correctly on some Y levels
----------, Feb 10, 2022

  • Fixed issue with chests not being limited properly on older servers
  • Improved overall performance when it comes to block limit check
  • Added extra comment indicating that you can actually add custom blocks to that list. Just keep in mind that even tho check itself isint that heavy on server, having more checks than you actually need might add up, so keep it as short as you actually need it to be.
  • Fix for glow item frames not being threated in same way as regular item frames are
----------, Jan 18, 2022

  • Added different message when we perform /mfm clean and there is nothing to remove, to be more clear what happen
  • Now we will be using general list splitter when listing what we removed instead of hard coded , Splitter itself will be located at CMILib plugin
  • We will now ignore invisible armor stands to avoid issues where you have hologram plugin creating armorstands and prevent you from spawning new one in that area as it will be over the limit
  • Fixing issue with armorstand placement introduced in latest build
  • Added option to disable natural entity spawning under EntityTypes section with NaturalSpawn. You will have example of its usage for the first entity in the list. This will allow you to disable specific entities from spawning in naturally, like bats, squids or any other monsters you would not want to have spawning in. Keep in mind that this only prevents natural spawns and you can still spawn in that entity with command, egg or spawner. By default it has no effect and in general will only take effect when you add this specific section and set it to false.
----------, Nov 3, 2021

  • Fix for offhand item usage for placing item frames and armorstands
  • Fix for autocleanup excluding armorstands which could have allowed some exploitations
----------, Sep 27, 2021

  • Cleaned up some NMS class dependencies which now allows this plugin to be ready at moment new minecraft version is out without any additional work.
  • Removed few locale lines which became deprecated as of CMILib update which currently is a central point for most used messages.
  • General cleanup from deprecated methods, so size went down by quite a bit.
----------, Aug 9, 2021

Update for 1.17 servers and transition towards CMILib plugin utilization. Please download latest version of it if you want to use 2.x and newer version of this plugin.
Plugin size went down by 150KB due to this transition.
----------, Jun 16, 2021

  • Better handling for EntityGroups world handling and more obvious initial example. Keep in mind that Worlds section should contain basic world names without any extra information.
  • Fixing issue where you would be able to place more item frames than allowed if you did it on edge of chunk
  • Added option to disable specific entity cleaning ether with /mfm clean or with auto clean feature. This allows you to have different behavior while auto clean mode is running vs manually performed command. You will get basic example of usage for DROPPED_ITEM type entity
  • Small optimization for hopper handling
----------, Jun 4, 2021

  • Taking into consideration possibility that player might place armor stand with dispenser which could have bypassed armor stand limitations. Now we will prevent this action.
  • Added RemoveExisting for grouped entities and for regular ones to be able to define their removal or not when entity limit gets over defined amount. This effects only overflow and will not effect entity natural spawning. This will override global RemoveExisting value. Usage
    Code (Text):
      VILLAGER:
        Use: true
        Limit: 20
        RemoveExisting: false
    Which will not remove villagers even if they get over the limit, but it would still prevent from new ones spawning in if that would be over the limit. Same thing can be used for groups
  • Now /mfm list (range) will properly output mob count from your current location and defined range. In case you want to check what is around you.
  • Added new option to log mob removal. Currently its in basic form and will simply record removed mobs and amount. This applies to clean command ant autoClean feature and will only record if removed mob amount if over specified amount. Some what convenient thing to have in case you want to keep track of which entities get removed most often. Disabled by default.
----------, Feb 6, 2021

  • Updated for 1.16.4 servers
----------, Nov 3, 2020

  • Small fix related to some configuration sections taking effect even when it was set to false
----------, Sep 30, 2020

  • Fix for EntityGroups still taking effect even if you set it to false
  • Fix for issue related to 1.16 servers and entities teleporting throw nether portal and bugging out if they are in a overflow. Issue with how 1.16 handles this particular action
  • Now config file will accept custom entity types for EntityTypes section
  • Added option to define entity group worlds where this limitation should apply, so you can have different group limitations depending on worlds
  • Added option to define specific entity limits by world. So you can have default limit of 10 zombies while in nether it can be only 5 and block any zombie spawning in the end world and any extra world will inherit 10 zombie limit.
Code (Text):
  ZOMBIE:
    Use: true
    Limit: 10
    WorldLimit:
      LT_Craft_nether: 5
      LT_Craft_the_end: 0
----------, Sep 14, 2020

  • Fix for issue with entity spawn causing error
  • Fix for entity groups setting entities to one less than it should be
  • Fix for issue when you have limit of entity set to 1 which results in prevention of this entity to spawn in entirely
  • Fix for old entities getting removed when new ones spawn in if you have them in a group
----------, Aug 21, 2020

  • Small optimization to address some possible extra load when we are checking chunks which got unloaded, in which case we can ignore them. This applies for auto cleaner feature.
----------, Aug 15, 2020

  • Updated for 1.16.2 version
  • Optimized some base entity recognition which will give us some boost in performance
----------, Aug 13, 2020

  • Slight change for /mfm list command behavior. Now we will output 15 instead of 20 most populated chunks. We will check more of them, so instead of checking only around players, we will check every loaded chunk, in case we have overpopulated chunks with mobs which are some what further away from player but chunk is still active. Additionally first 5 chunk entries will output mob count around them which will give some what more clear view if this chunk is potential cause of lag or does it simply have couple mobs in it.
  • /mfm clean got its own config section where you can define if you want to group chunks and in what range. So you can make command to behave differently than auto or entity spawn listener or make it exactly same
  • Updated base code and optimized it to have better performance. From initial testing it gained from 23% general boost to up to 80% in specific situations
----------, Jul 29, 2020

  • Updated for 1.16+ servers
  • Now locale supports hex color codes as {#6600cc}, only applies for 1.16 servers, obviously.
----------, Jun 27, 2020

  • Added option to disable natural iron golem spawns which usually happen in villages. This will prevent players from creating farms based around iron golems.
----------, May 28, 2020

  • Added support for 1.15 servers
----------, Dec 12, 2019

  • Added missing cats in a type list
  • Added option to define max amount of entities we want to remove from a chunk or chunk group when performing clean command. This allows to limit the amount of entities we want to remove in one go. So for example, if you have set sheep limit to 10 in a chunk, but you have chunk with 17 of them and you have set max removed limit to 5, then it will take 2 clean ups to remove the overflow.
  • Added option to define max amount of entities we want to remove from a chunk or chunk group when performing auto clean. Same as clean command change.
  • Changed base behavior of autoclean to include some surrounding chunks around player instead of only checking chunk player is in. By default this will check in 3 chunk radius, but you can change it to anything between 1 and 5. This only applies when you have GroupChunks set to false.
----------, Sep 28, 2019

  • Fix for issue when mob spawning could not be limited and spawn would not be prevented in general, but auto clean would remove them properly.
----------, Sep 16, 2019

  • Quick one, forgot to increase version in plugin file...
----------, Aug 12, 2019

  • Change for mob handling which picked up items. Now we will cache mobs in memory and will only check them instead of every monster with equipment. So pillagers, skeletons with bows and zombies with armors which they got from natural spawning will get removed, while any monster which picked up item, will remain, even if it's above allowed cap.
  • Renamed IgnoreEntityWithEquipment to IgnoreEntityWithPickedItem to better represent what it does now
----------, Aug 12, 2019

  • Added option (enabled by default) to prevent entity removal if they have equipment. This will prevent you loosing your things if monster picked it up and was marked as overflow in that chunk and would be subject for removal. Now we will ignore those entities. They are still counted to overall chunk population, but we will not remove them.
----------, Jul 25, 2019

  • Now auto clean up feature will output feedback message with detailed information what was removed. Only players with mfm.cleaninform permission node sees this message. Enabled by default, but you can completely disable this in config file.
  • Now /mfm hoppers will output message informing that there is no information about active hoppers instead of showing 2 separator lines
  • Added tabcomplete support for commands. Just a small convenience.
----------, Jul 5, 2019

  • Fix related to list command not showing full 20 entry list
----------, Jul 2, 2019

  • Fix related to 1.14 servers and hopper handling throwing error message
  • Now /mfm list will output list of chunks with detailed list (hover over) what type of mobs are present in that chunk. Max 20 different types. Descending list by quantity.
----------, Jun 25, 2019

  • Updated libraries to be more friendly with older versions and to be simpler when updating to next ones.
----------, May 19, 2019

  • Extra change to address some minor issues some one has
----------, May 19, 2019

  • Small fix related to list command in some particular situations throwing out error
----------, May 19, 2019

  • Added support for 1.14 servers
  • Added new feature to limit hoppers, pistons, sticky pistons and observers for each chunk. Can be bypassed with mfm.bypasslimit.[type] this will only apply for block place event at this point and will not take into account possible block transfers between chunks with help of pistons as this action can be quite heavy on server to recheck each moved block on each piston action. Unless some one really needs that one too, then give me a PM on discord.
----------, May 13, 2019

  • Fix for issue with new Spigot API and some renamed method which caused error spam related to hopper handling.
----------, Jan 29, 2019

  • Updated to support 1.13 and 1.13.1 versions
----------, Sep 12, 2018

  • Now itemframe and armorstand will not be passively removed on each check. Limits you can define in config still aplies, but only on placement.
  • New permission node mfm.bypasslimit.armorstand which allows to place more armorstand in one chunk then you have set limit
  • New permission node mfm.bypasslimit.itemframe which allows to place more item frames in one chunk then you have set limit
  • Fixed issue when armorstand or item frame gets removed when you cant place any of them in chunk
----------, Jul 5, 2018

  • Added option to limit how many tamed wolfs can follow one player. This is to limit and prevent from players getting into combat or farming mobs with 50 tamed wolfs. Any extra wolf will be seated on ground, so they will not lose them, they just cant really effectively use them. This action will be done on any general mob count check, so it can have some "delay" before you will see effect.
----------, Jun 8, 2018

Sorry for long wait, trying to get my PM's to 0 and it took some time to get throw them all until noticed this reported issue.
  • Fix for spam in console for failed cast from type.
----------, May 17, 2018

  • Added support for hoppers (1.8.x and up). Yes, its slightly out of what this plugin should do. But as its aimed to reduce load on server. Then why not :)
  • There is HUGE issue on minecraft servers with hoppers and especially with minecart hoppers which will "fire" item move events 20 times in one second. Even spigot settings are not helping here (bugged?). Sooo, what we have now is dynamic hopper transfer item rates. So more you use one hopper, lower its transfer rate will get up to defined point. This should not effect regular usage of them as transfer rate will reset it self after some unused time. But this will break any contraptions which needs fixed rates. Tho performance gains are more needed than some funky contraption.
  • Some example without hopper control and with one
[​IMG]
and after MFM enabled
[​IMG]
  • So we went down from 265 900 item transfer events down to only
    4 400 which resulted in huge improvement. And this is only over 30sec sample with 170 hoppers and 20 minecart hoppers. Which are nothing if you are trying intentionally lag out server.
  • Feature is disabled by default. So don't forget to enable it.
  • Added /mfm hoppers to show chunks with most active hoppers in them, just to have easy way in finding "bad" players who is causing uneaded load on server ^.^
----------, Dec 13, 2017

  • Added option to prevennt mob build depending by permission node:
    • mfm.build.wither
    • mfm.build.irongolem
    • mfm.build.snowman
  • which will prevent particular monster spawning if player doesn't have particular permission node.
----------, Sep 10, 2017

  • Fix for slime spawn from split event creating an endless loop.
----------, Aug 6, 2017

  • Updated base code of plugin to be more up to date.
  • Locale file handling change to have better support
  • Small optimizations
  • Small bugfix for reported issue
  • Added new command to list chunks with most entities in them with /mfm list (rangeInChunks) and you can click on any of lines to have suggested teleport command printed in chat field for simple usage
----------, Aug 4, 2017

  • Added initial 1.12 server support
----------, May 17, 2017

  • Added initial support for 1.11 version
  • Added one missing locale line
----------, Nov 22, 2016

  • Added missing support for zombie husk control
  • Fixed issue with skeleton horses with skeleton passengers being not controlled by plugin
----------, Jun 15, 2016

  • Initial update for 1.10 servers
  • Added separate sections to define custom mobs like skeleton horses, elder guardian and so on. (Zombie_Hust is present in config file, but currently there is no API to check if zombie is Husk, so this will be "fixed" after spigot releases fixed version)
----------, Jun 9, 2016

  • Some changes in how mob spawning are handled.
  • Now itemframe and armorstand should be blocked properly if they are over limit.
  • Added some additional checks for full armor stands for 1.9 servers.
----------, May 18, 2016

  • Fix for issue with huge clean ranges, now its limited to servers view range
  • Fix for issue with /mfm clean being performed from console
----------, Apr 5, 2016

  • Added shulker mob support
  • Recompiled for 1.9 servers
----------, Mar 1, 2016

  • Added option to ignore baby animals from cleaning
----------, Dec 30, 2015

  • Fix for custom names for 1.7 servers
----------, Dec 29, 2015

  • Added better compatibility with 1.7 servers
----------, Dec 29, 2015

  • Fix for error in console issue when performing clean command or auto clean is performed
----------, Dec 17, 2015

Resource Information
Author:
----------
Total Downloads: 3,035
First Release: Dec 5, 2015
Last Update: Oct 28, 2024
Category: ---------------
All-Time Rating:
75 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings