[MECH] CustomDifficulty v4.5.0 - Monsters too strong or too weak for you? Change it! [1240]

Discussion in 'Inactive/Unsupported Plugins' started by Pasukaru, Jun 6, 2011.

  1. Offline


    The Plugin to adjust the difficulty in SMP
    Latest version: 4.5.0
    blank line
    BLANK LINE : D : D
    CustomDifficulty provides a lot of features to change the all around difficulty in Minecraft.
    You can change the monster's HP, damage, aggressiveness and more! You are also able to modify the player's damage.
    Each difficulty is stored in its own file - which enables you to create as many difficulties as you like! It's possible to set a difficulty for a certain region only (Use the built-in regions, or WorldGuard regions). This enables you - for example - to create hard dungeons with ease.
    For more information, take a look at the 'Features' section below.

    Please report any bugs you may encounter!

    If you are a developer and take a look at the source, please let me know if you have some improvements! I'm still new to this (Java/programming in general) and want to get better. :)

    • Change monster's hp (200 HP is max - but that should be enough, a player has 20)
    • Change monster's damage - Let them beat you up - or not even scratch you :>
    • Change aggressiveness of monsters and animals. (Aggressive, Passive, Friendly)
    • Change if monsters burn in sunlight.
    • Spawn any mob, anywhere - naturally! Giant, 'monster' and sheep in any color included!
    • Define spawn chance.
    • Define min/max height for mobs to spawn.
    • Define min/max light level for mobs to spawn.
    • Define block types mobs will only/will never spawn on.
    • Define custom drops for each mob in each difficulty.
    • Define a loot-multiplier to let monsters drop more items!
    • Limit mobs per server/world/chunk
    • iConomy support! (For monster-killing rewards)
    • Change player's damage.
    • Multi-world support!
    • Permissions support!
    • WorldGuard support!
    • Create regions, each with a custom difficulty!
    • No need to restart/reload the server to apply changes, simply use the /difficulty reload command!
    • All (reasonable) commands can be used from the console!
    If you download, please also click the 'like' button at the lower right corner of this post - Thanks!

    If you need a more detailed explanation, feel free to drop me a message and I'll try to help as much as I can. :)
    This text is only used to have an empty line! :>
    How to use:
    Click me :)

    • Copy CustomDifficulty.jar into the /root/plugins folder.
    • Download WorldEdit (If you want to use regions) and place it into the /root/plugins folder as well.
    • Difficulties are located in the /root/plugins/CustomDifficulty/difficulties folder. Each difficulty is in its own [difficulty].yml file.
    • Simply change the values of the default configs and/or create new config files. The plugin will load all *.yml files inside the difficulties folder automatically on reload.
    • If you remove a configuration node, this plugin won't change anything of the corresponding event, thus preventing conflicts with other plugins.
    • You can create regions with the /difficulty region [regionCommand] commands and set difficulties for each of them independently! (See 'Commands and Permissions' below)
    Note that you must notuse tabs in *.yml (YAML) files. If you do, it will mess up the format and Bukkit will throw you a million errors (something like *snakeyaml* ) :>
    Important notes:
    Click me :)

    • All configuration nodes are case sensitive and your world's names shouldn't contain special character, as it might mess up the configuration nodes!
      If a configuration node does not exist, Bukkits default will be used - or nothing happens at all.
      The plugin will check if the monster/player is in a region first (if enabled - see below)
      If the monster/player is in no region, the world's difficulty settings will be used.
    • Slimes are handled according to their size.
    • Wolves are handled according to their tamed/untamed status.
    • Creepers are handled according to their powered/unpowered. status.
    • The last three points exclude the following nodes:
      spawnChance, spawnOnlyOn, spawnNotOn, lightLevelMin, lightLevelMax
    • Creepers have a floating point (e.g. 1.65) damage value and it's used as multiplier, not as fixed damage. This value applies to the damage only, not the explosion range/radius.
    • Wild wolves can be aggressive. They will attack a player on sight, but it is still possible to tame them - unless the player fights back.
    • Tamed wolves HP will always be read from the worlds difficulty! (To avoid exploits like healing it in a region where it as a maximum of 100 hp and then move to a region with a maximum of 50 hp)
    • Player's damage will be calculated like this:
      Round( (usualDamage * damageMultiply) + damageAdd )
      damageAdd is an integer.
      damageMultiply is a floating point value.
      usualDamage is the players default damage (e.g. 2 with fists, 5 with diamond pickaxe) - might be different if another plugin modified the event damage before CustomDifficulty did!
      You can use different values for Player vs Player and Player vs Monster. You can also set negative values - but a negative multiplier is not recommended.
    • Regions are disabled by default! If you want to use them, go to your config.yml(not difficulty.yml!) and set useRegions for the specified actions to 'true' (without quotes!)
      I disabled them by default do increase performance (a tiny, tiny bit :p, unless you have 1 million regions in one world) and I guess not everyone will use them.
    • Change difficulty of (regions or worlds) by using the corresponding command where difficulty = one of your /difficulties/[difficulty].yml without the ".yml" extension!
    Commands and Permissions:
    Click me :)
    Permission node to receive rewards: 'CustomDifficulty.reward'
    Ops can use all commands and permission nodes are case sensitive!
    bold = mandatory
    underlined = optional
    " | " = "or"

    Difficulty-related commands:
    • /difficulty help - Displays the help / lists commands and descriptions.
      Permission node: 'CustomDifficulty.help'
    • /difficulty - Displays difficulty of the world the player is currently in - or of all worlds if the command user is no player (e.g. console)
      Permission node: 'CustomDifficulty.check'
    • /difficulty check <World | all> - Displays the difficulty of <World>, <all> worlds or the world the player is currently in if <World> is not specified. If the command user is no player, it will list all worlds.
      Permission node: 'CustomDifficulty.check'
    • /difficulty <change | set><World> <Difficulty> - Change difficulty of <World>, or the world you are currently in if none specified.
      Permission node: 'CustomDifficulty.change'
    • /difficulty reload - Reloads the config files. Use this after changing/adding difficulties or other configurations!
      Permission node: 'CustomDifficulty.reload'
    • /difficulty performance - Counts the used time for each feature for the next 10 seconds. Use this if you think the plugin causes lag, and to find out which part of it.
    Region-related commands (These require WorldEdit and WorldGuard):
    All commands start with /difficulty region *** - Replace "***" with one of the below:
    • help - Displays help about region commands.
      Permission node: 'CustomDifficulty.region.help'
    • <set | change> <World> <Difficulty> - Change difficulty of world <World>, or the world you are currently in, if <World> is not specified, to <Difficulty>
      Permission node: 'CustomDifficulty.region.set'
    • info <World> <RegionName> - Displays some information about region <RegionName> on world <World> or the world you are currently in.
      Permission node: 'CustomDifficulty.region.list'
    If you are using WorldGuard regions, only the region commands 'info' and 'set | change' are available. To define new regions, you WorldGuard's '/region define' command.
    Version 4.5.0 | 10/6/2011
    • Fixed: Squid spawn - for real this time
    • Fixed: min/max spawn distance works now.
    • Fixed: Ghats can now be friendly. (passive too, but they will behave as friendly. :/) Friendly ghasts hardly move though.
    • Added: OPs will receive a message on login, if a new of CD is available. Can be turned off, config.yml -> global.checkForUpdates
    • Added: Some code to make squids follow their targets. They don't do that naturally like other mobs. -.-
    • Ghasts and PigZombies take damage over time to simulate burning in sunlight. (If enabled)
    Old versions (open)
    Version 4.4.0 | 9/28/2011
    • Changed: Mob limit configuration; Nodes you have to use now:
        mobLimit: 500 #= server Limit
            mobAggressiveLimit: 75
            mobPassiveLimit: 75
            mobFriendlyLimit: 75
            mobChunkLimit: 1
    You can remove all other limit nodes, they aren't used anymore.
    • Added: A new config node inside the difficulty files:
        dropOnlyWhenKilledByPlayer: false
    Should be self-explanatory, but you have to add it manually if you want to enable it.
    • Fixed: Squid spawning. Was checking for lava instead of water..
    • Fixed: A NPE inside the spawn algorithm.
    • Fixed: Another NPE inside spawn algorithm (dev build only)
    • Added: Multiverse-Core will now load before CD does.
    • Added: Register support. All major economy plugins should work with CD now.
    • Removed: iConomy5 support. If you use iConomy5, you also have to download and use Register.
    Version 4.3.0 | 9/24/2011
    • Fixed: Feeding wolf in 1.8; Item amount decreases and Raw Flesh added as food.
    • Fixed: Getting rewards with projectiles (arrows) works now.
    • Fixed: Giants spawning in walls and small caves. - Some still spawn in walls or weird locations and suffocate, but they will be removed immediately.
    • Added: Configuration nodes for the new mobs Enderman, CaveSpider and Silverfish.
    • Added: Now spawn-able: Electrified Creeper, Spider-Jockeys, coloured sheep.
    • Changed: Mobs will now spawn in at least 2 block high rooms instead 1 block only. (To prevent Zombies and other tall mobs to suffocate.)
    Version 4.2.3 | 7/28/2011
    • Changed: Giants attack players up to 3 blocks below them instead of 1.
    • Changed: config.yml nodes: spawnInterval, aggressivenessInterval and burnsInSunlightInterval are now in the worlds.worldname section. You can remove the global ones.
    • Probably fixed: ClassCastException in aggressiveness task. (?)
    • Changed: performance command.
    • Fixed: Another bug, I just don't remember which one... I should start writing it down immediately :eek:
    Version 4.2.2 | 7/27/2011
    • Fixed: BurnsInSunlight now reads the interval correctly from the config. (=Slight performance increase if you don't use an interval of 1. Default is 20.)
    • Fixed: Mobs can now spawn in snowy areas.
    • Added: Giants should attack players now, they don't do it naturally... (Please test this :))
    • Changed: Aggressiveness check is now performed every X ticks for every player, instead of every X move-events for the corresponding player only.
    Version 4.2.1 | 7/26/2011
    • Fixed: NPE in mobCleanup
    • Removed: Creation of unused node 'ignoreInvalidWorldDifficulty' in config.yml
    Version 4.2.0 | 7/25/2011
    • Added: command '/difficulty performance'
    • Added: another way of reading the difficulty of a mob (for testing purposes). change useOldGetDifficulty in your config.yml if you want.
    Version 4.1.0 | 7/15/2011
    • Removed built-in regions. (Use WorldGuard, it provides more features for regions)
    • Added customizable drops.
    • Added: Players will receive rewards if their wolf kills a mob
    • Changed spawn-algorithm, it will use the chunks around a random player per run, instead of chunks around all players.
    • Changed check for old iConomy versions.
    Version 4.0.6 | 7/13/2011
    • Fixed an 'out of bounds exception' in the reward calculations.
    • Mobs shouldn't suffocate anymore if they spawn next to a wall.
    Version 4.0.5 | 7/12/2011
    • fixed automatically created node burnInSunlight to burnsInSunlight in the config.yml
    • probable fix for a concurrent modification exception.
    Version 4.0.4 | 7/11/2011
    • Added fix for incompatible iConomy versions.
    Version 4.0.3 | 7/10/2011
    • Major bug fixed within the spawn-algorithm. To be specific: instead of reading the maximum light level for a mob to spawn, it was reading the minimum height - this, of course, messed everything up.
    Version 4.0.2 | 7/10/2011
    • NPE fix regarding the loot multiplier. - A weird one :confused:
    Version 4.0.1 7/9/2011
    • Mobs shouldn't spawn in water anymore if spawnNotOn WATER and/or STATIONARY_WATER is used.
    Version 4.0.0 | 7/9/2011
    • Aggressiveness is now split into aggressivenessDay and aggressivenessNight.
    • Added option on which blocks mobs will only spawn, or will never spawn on.
    • Reward now requires permission 'CustomDifficulty.reward' to receive it.
    • Added option for min/max light level for mobs to spawn.
    • Added option for min/max height for mobs to spawn.
    • large rewrite of the plugin.
    Version 3.6.0 | 7/7/2011
    • Depreciation of rewards if you kill the same mob type repeatedly.
    • Bugfix of the isDay() function which resulted in wrong calculations for the BurnInSunlight feature. (It was checking for night instead of day - fail)
    • SpawnChance will only affect naturally spawned mobs. (I was too stupid to find it previously - lol). Also, It will never affect the spawn behaviour of 'monster' and giant in any way, even if a plugin spawns them as 'naturally'. If you use another plugin to make them spawn, it should be possible to change the spawn amount there.
    • isAggressive and burnsInSunlight features are now available for animals as well.
    Version 3.5.1 | 5/7/2011
    • Added check for a nearby mob spawner for reward and lootMultiplier.
    • Added success-rate of a mob spawning.
    Version 3.5.0 | 7/5/2011
    • NPE fix within the reward system.
    • Added WorldGuard-Regions support.
    • Added option to disable startup messages.
    • Region Commands now have their own classes.
    • Difficulties with uppercase letters work properly.
    Version 3.4.2 | 7/3/2011
    • Fixed another bug regarding region-persistence. :eek:
    Version 3.4.1 | 7/3/2011
    • Fixed monsters (except skeletons & zombies) starting to burn during night if burnsInSunlight was set to true.
    Version 3.4.0 | 7/2/2011
    • Fixed regions not saving into database due to a wrong function call.
      Thanks to @Kytsune for spotting this bug!
    • Added iConomy support for mob-killing rewards.
    • Added lootMultiplier feature
    Version 3.3.1 | 7/1/2011
    • NPE fix
    Version 3.3.0 | 7/1/2011
    • Added some (possible) bugfixes
    • Added possibility to change if (hostile) monsters burn in sunlight.
    Version 3.2.0 | 6/24/2011
    • Added changeable aggressiveness.
    • Changed the way I hooked into WorldEdit / Permissions.
    • Different settings for wild wolves and tamed wolves.
    • Tested against RB 928.
    Version 3.1.0 | 06/16/2011
    • Added configuration nodes for "monster" (the 'human' mob)
    Version 3.0.0 | 06/16/2011
    • Added regions. (Requires WorldEdit and HSQLDB)
    • Added possibility to create as many difficulties as you want
    • Changed commands a bit to clean up source code - it was a mess!
    • Some minor bug fixes.
    • Something else I don't remember right now. :eek:
    Version 2.2.2 | 06/14/2011
    • Removed "Error in [world].yml - Check HP settings for [monster]" debug message.
    Version 2.2.1 | 06/07/2011
    • Added option to change Player's damage for each difficulty (multiply and [add or subtract damage] or both)
    • Added checks if config nodes are set. (If not - Plugin won't touch the corresponding event)
    • Changed "/difficulty" command - displays now the current world - or all worlds if the command user is no player (e.g. console)
    • Added "/difficulty all" - will display the difficulty on all worlds.
    • Priorities of 'CREATURE_SPAWN' and 'ENTITY_DAMAGE' events have been set to 'Lowest'.
    • Bug-fix - Fixed error with slimes - it was looking for node "slime[size]..." instead of "slime.[size]..."
    • Some minor changes in the source code (e.g. refactoring)
    Version 2.1.1 | 06/06/2011
    • Added Multi-World support.
    • Added Permissions support.
    • Bug-fix - Slimes are now handled according to their size.
    Version 1.0.0 | 06/05/2011
    • Initial release.

    • Limit mob spawning to biomes.
    • Suggestions!
    • Change Player's HP | Out of the scope of this plugin as it requires a custom health system. I might add later though... who knows.
    If you like this plugin and want to help me a lil bit - please [​IMG]. Thanks!

    ~Pardon my imperfect English. :>
    Snatch, bluehasia, Smokie23 and 27 others like this.
  2. Offline


    I'm also interested in this!
    If making them spawn at an increased rate is too difficult would it be possible to set the light level they spawn at?
  3. Offline


    Nothing major - just an error in the reward function. I'll fix this in the next version

    I don't think i change the anything in bukkits spawn-algorithm. The only thing I can do is catch the CreatureSpawnEvent and cancel it. (Now that i think of it - i might be able to add a certain chance to let a second/third/... monster spawn o.o)

    version 3.5.0 will be out soon - but I'm having a compatibility issue with Essentials when iConomy is active as well - I'm not sure why, but I'll try to fix it

    Updated to v3.5.0
    WorldGuard-Regions support added. Please test it and tell me if you find bugs. :> It was a pain in the ass to implement it. :p
    Read change log for further information.
    Almost forgot...
    Add these three lines to your config.yml
        initMessages: true
        useWorldGuardRegions: true
    Their functions should be self-explanatory.

    If you are sure that everything works on startup, you can disable the initialization messages if you want. The only one shown will be "CustomDifficulty has been enabled".
    No error/success messages of hooking into WE/WG/etc will be displayed.
  4. Offline


    Going to install this on my server, will edit my post with results. :D

    Update: Made the following changes to my default.yml file. For some reason I'm not receiving any rewards for killing mobs of any type. Is there something I might have forgotten to set?

        vsMonsterDamageAdd: 0
        vsPlayerDamageAdd: 0
        vsPlayerDamageMultiply: 1.0
        vsMonsterDamageMultiply: 1.0
        reward: 2.0
        lootMultiplier: 1
        burnsInSunlight: true
        isAggressive: true
        hp: 20
        damage: 5
        reward: 5.0
        lootMultiplier: 1
        burnsInSunlight: true
        isAggressive: true
        hp: 20
        damage: 4
        reward: 5.0
        lootMultiplier: 1
        burnsInSunlight: true
        isAggressive: true
        hp: 20
        damage: 1.0
        reward: 3.0
        lootMultiplier: 1
        burnsInSunlight: false
        isAggressiveDay: false
        isAggressiveNight: true
        hp: 20
        damage: 2
            reward: 20.0
            lootMultiplier: 1
            burnsInSunlight: false
            hp: 32
            damage: 4
            reward: 10.0
            lootMultiplier: 1
            reward: 1
            burnsInSunlight: false
            hp: 16
            damage: 4
            reward: 5.0
            lootMultiplier: 1
            reward: 1
            burnsInSunlight: false
            hp: 16
            damage: 2
            reward: 3.0
            lootMultiplier: 1
            reward: 1
            burnsInSunlight: false
            hp: 12
        reward: 15.0
        lootMultiplier: 1
        isAggressive: false
        hp: 10
        damage: 5
        reward: 25.0
        lootMultiplier: 1
        isAggressive: true
        hp: 10
        damage: 7
        reward: 1000.0
        lootMultiplier: 1
        burnsInSunlight: false
        isAggressive: true
        hp: 100
        damage: 10
        reward: 0.0
        lootMultiplier: 1
        burnsInSunlight: false
        isAggressive: true
        hp: 20
        damage: 1
            reward: -10.0
            lootMultiplier: 1
            isAggressive: false
            hp: 8
            damage: 2
            reward: -100.0
            lootMultiplier: 1
            reward: 1
            hp: 16
            damage: 4
        reward: 1.0
        lootMultiplier: 1
        hp: 10
        reward: 1.0
        lootMultiplier: 1
        hp: 10
        reward: 1.0
        lootMultiplier: 1
        hp: 4
        reward: 1.0
        lootMultiplier: 1
        hp: 10
        reward: 1.0
        lootMultiplier: 1
        hp: 10
  5. Offline


    add a Depreciation.. like.. when i kill the same mobs, it will decrease the reward unless they killed another type of mobs :) useful in mobspawner :D
  6. Offline


    I just tried it, and it works for me without problems. Are you using iConomy or another economy plugin? Also, make sure the difficulty on the world/region is set to 'default'. Use '/difficulty' and '/difficulty region info' to find out.

    I can add that - or a check if a mobspawner is nearby and if so, no reward will be given.
    morizuki likes this.
  7. Offline


    When I type /difficulty it just says /difficulty [region] help. Just to make sure I went ahead and put in both /difficulty world help and /difficulty world info. Neither turned up anything other than just saying /difficulty [region] help again.

    Also, I'm using iConomy. I also tried changing Default to default in the config file just in case of an issue with case.
  8. Offline


    Seems like the plugin isn't enabled at all, which CB version are you using? are there any errors on startup?
  9. Offline


    Version 953


    Here's all the pertinent parts of the logs, these were the only errors thrown. I don't know why it's saying it's out of date. [zombie]
    [CustomDifficulty] [CustomDifficulty] Hooked into WorldEdit v4.4.
    2002-01-27 13:05:51 [INFO] [CustomDifficulty] Found the following difficulties: default, easy, hard, normal.
    [SEVERE] Error occurred while enabling CustomDifficulty v3.5.0 (Is it up to date?):
    java.lang.NoSuchMethodError: com.sk89q.worldguard.bukkit.WorldGuardPlugin.getRegionManager(Lorg/bukkit/World;)Lcom/sk89q/worldguard/protection/managers/RegionManager;
        at Pasukaru.CustomDifficulty.hooks.WorldGuard.initializeFlags(WorldGuard.java:63)
        at Pasukaru.CustomDifficulty.hooks.WorldGuard.initialize(WorldGuard.java:48)
        at Pasukaru.CustomDifficulty.CustomDifficulty.initialize(CustomDifficulty.java:65)
        at Pasukaru.CustomDifficulty.CustomDifficulty.onEnable(CustomDifficulty.java:43)
  10. Offline


    I was wrong. Sorry :confused:
    Seems like an incompatible WorldGuard version - I tested with 5.2.2 and can't reproduce the error.
    Whats your WorldGuard version? '/version WorldGuard'
  11. Offline


    It's 5.2, going to update the plugin and retry, and then I'll try without it if it still doesn't work. Will update.

    Update: Updated the plugin, didn't fix it, then I disabled the plugin and still no go. The only change is that it cleared up the one error message in the log.
  12. Offline


    Seems to be a conflict with residence - I'll try to fix it.
    Or not.. it gave me an error on first launch - but now it works without problems.
    I'll upload v3.5.1. That's the version I'm testing with, but it shouldn't contain any changes regarding your error..
    Added check for mob spawners for reward and lootMultiplier.
    Added success rate of a mob spawning.
    Add this to your config.yml
        mobSpawnerProtectionRadius: 5
                 spawnChance: true
    And this to your difficulty.yml
         spawnChance: 75.98
    SpawnChance is in percent. It's maximum is 100 (Normal spawn rate). Slime sizes and wolf tamed/wild have their own setting each. Tamed wolves don't spawn naturally - but other plugins might enable this.

    Note that there is currently no way of detecting the cause of a mob spawn. (Usual spawn, Command spawn, etc) That's why it will affect commands/etc as well.
    It also doesn't work as a world configuration properly. Bukkit/Minecraft checks how many mobs are currently on the world - if there are not enough, it will simply try to spawn until there are enough.
    If you use it for a region, It's most likely that instead of the the cancelled one, another mob will spawn somewhere else on the world.
  13. Offline


    mobspawner protection is cool but can you also add a depreciation?
  14. Offline


    ENTITY_DEATH error is fixed ty :D
  15. Offline


    I tried this right now and sadly all the monsters I set to burn in the sun don't and the ones I set to NOT burn still do.
    Happily tho, creepers are not aggressive now hahaha

    Hope you can fix this soon, I love this idea.
  16. Offline


    If you're able to include the cycle, amount, and distance in which the monsters spawn near you, you will be able to eliminate a lot of other mob-related control plugins.

    Up to you :D
  17. Offline


    Okay, I'll add depreciation as well. Also, I think this will be the last addition about economy stuff, as this plugin is about mob difficulty, not economy. (I might add support for other economy plugins though, but no more features)

    You're welcome. ;)

    It'll be fixed in the next version. The error was, my check if its day always checked if it was night...

    This is going to be hard :eek:
    But I'll see what I can do.

    Next version contains:
    • Depreciation for rewards if you kill the same mob type in a row
    • Bugfix of the isDay() function which resulted in wrong calculations for the BurnInSunlight feature
    • SpawnChance will only affect naturally spawned mobs. (I was too stupid to find it previously - lol). Also, It will never affect the spawn behaviour of 'monster' and giant in any way, even if a plugin spawns them as 'naturally'. If you use another plugin to make them spawn, it should be possible to change the spawn amount there.
    • Probably isAggressive feature for Animals. Starting to work on this one now. :)
    morizuki likes this.
  18. Offline


    Also, can you make it so you can define whether mobs can break actual blocks and the frequency of which the mob types spawn around players?

    Also, was playing around and it seems as if the zombies don't take after the burning in sunlight settings. I set them to false, but they still take damage.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 16, 2016
  19. Offline


    Read the second point of the next version section of this.
    Also, the mob spawning around you wont be implemented yet. Still need to figure out an easy way to do it.
  20. Offline


    Perfect. I was wondering why it wasn't working, since the server.log wasn't throwing errors. It would be awesome if mobs can spawn beyond 100% up until a server limit.
  21. Offline


    No, they can't spawn beyond 100% - yet. I'd kind of have to use a custom spawn algorithm for this.
    Well, I found another way to do it, but I'm not sure if it's a good idea:
    Everytime a mob is spawned naturally, I can spawn a second/third/... mob (of the same type, or a random one) if the spawn rate is higher than 100%.

    I'm also thinking about changing isAggressive to aggressivness (aggressive[attacks on sight], passive[will fight back], friendly[will never attack], invalid setting[use Bukkits default]).
    I'd like to hear your opinions about this!
  22. Offline


    Does that method make the mobs go crazy?
  23. Offline


  24. Offline


    Oh I thought your previous post suggested that by spawning them over and over complicates the way they act or something lol
  25. Offline


    No, they behave in the same way.
    I also added this feature for the next version, which will be uploaded in a few minutes.
    Mobs spawned by the 'more than 100%' feature will be of the same type, and spawn in the exact location.
    M1sT3rM4n likes this.
  26. Offline


    So how much more can it actually go?
  27. Offline


    I limited it to 1000%.
    Well, Bukkit/minecraft has it's own limit when it stops spawning monsters naturally - and if no mob is spawned naturally, the spawnChance won't do anything.
    On my local test server (with only me being online) mob-spawning always stops at somewhere around 115 - 130 mobs, no matter which spawnChance you use.

    So, a high spawnChance makes them kind of like spawn in groups, but doesnt increase the overall mob amount as it seems.
  28. Offline


    That's odd because in another plugin the author was able to set a worldwide limit of 300-500 mobs total :D But it doesn't matter so long as the mobs spawn relatively close and keeps coming.
  29. Offline


    I guess the built-in limit increases which each logged in player (and maybe how far they are from each other).
    And with enough players it will be more than 500 - and the plugin tries to set it lower.
    If you tell me which plugin, i could take a look at it and see if it only decreases the limit, or if it's actually able to completely overwrite it.
  30. Offline


  31. Offline


    Seems like he uses his own algorithm to spawn mobs. So he doesn't rely on the built-in algorithm and the limitation won't affect him. And he also cancels every naturally spawned mob.
    Maybe I should start on my own algorithm to spawn mobs?

Share This Page