[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

    Pasukaru

    CustomDifficulty
    The Plugin to adjust the difficulty in SMP
    Latest version: 4.5.0
    blank line
    [​IMG]
    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. :)

    Features:
    • 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'
    Note:
    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.
    Changelog:
    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:
    Code:
    global:
        mobLimit: 500 #= server Limit
    worlds:
        [worldname]:
            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:
    Code:
    global:
        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.

    To-do
    • 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

    Sepulzera

    Just work with groups, even vanilla minecraft does (friendly, passive and hostile) :p
     
  3. Offline

    jmcneely

    I've seen the odd spawning like @Takel Cows and chickens were spawning in an underground hallway made out of stone and glowstone.
    Also, I just noticed the picture to .schematic converter in your signature. That sounds like a badass program! I got to check it out when I get back home later.
     
  4. Offline

    Pasukaru

    Stuff I'm done with for the next release - probably within the next 2 days.

    * Fixed: Squid spawning. Was checking for lava instead of water.. haha
    * Fixed: A NPE inside the spawn algorithm.
    * 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.

    I also removed a few mob limit nodes and added some others to make it possible to limit aggressive/passive/friendly mobs per world seperately. Still testing this to see how it works.
     
  5. Offline

    Rilly

    Any chance you would be able to look at making this more friendly with MV2 plugin? I'm having to reload the config every time I start, and because the creatures have already spawned before i reload - they are already there (I've removed the spiders because the kids have nightmares, but they are still there because i have to reload every time)
     
  6. Offline

    Pasukaru

    @Rilly
    Probably the same issue as with WorldManager, it loads after CD.
    I added something to let it load first.

    @Takel & @jmcneely
    I've been walking through caves for quite some time, but couldn't find a cow or any other mob that isn't supposed to spawn there. At least not until I removed 'GRASS' from the SpawnOnlyOn list.
    Would be great if you could upload your config files, or give me any kind of additional information you have about this problem.

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

    Rilly

    Is it possible to have just animals spawn in one world, but monsters in another? I do not see specifying mob types per world (or am I missing it?) I have one world we want no monsters but we want pigs/sheep, etc.

    Thanks,
    Rilly
     
  8. Offline

    Pasukaru

    @Rilly
    Yea, just create a second difficulty file and use this one for your other world. All you have to do then is adjust the 'possibleSpawnCreatures' list in both files to suit your needs.
     
  9. Offline

    RugRats

    Can I have a dev build with the new fixs and stuff? Please :)
     
  10. Offline

    Rilly

    Thanks :) didn't think of that way
     
    Pasukaru likes this.
  11. Offline

    Takel

    @Pasukaru

    Global config details:
    Show Spoiler
    Code:
    global:
        savePlayerKills: 3
        useOldGetDifficulty: false
        initMessages: true
        useWorldGuardRegions: false
        minSpawnDistance: 8.0
        maxSpawnDistance: 64.0
        mobSpawnerRadius: 5.0
        naturalMobLimit: 650
        mobLimit: 750


    World Settings:
    Show Spoiler
    Code:
        ExperimentalWorld:
            mobLimit: 150
            naturalMobLimit: 200
            mobChunkLimit: 3
            difficulty: Normal
            burnsInSunlightInterval: 20
            spawnInterval: 5
            aggressivenessInterval: 10
            useRegions:
                aggressiveness: false
                burnsInSunlight: false
                mobHP: false
                mobDamage: false
                playerVsPlayer: false
                playerVsMonster: false
                reward: false
                lootMultiplier: false
                spawnAlgorithm: false


    Difficulty Settings:
    Show Spoiler
    Code:
    global:
        rewardDepreciation: 0.0
        possibleSpawnCreatures:
        - cavespider
        - cow
        - chicken
        - creeper
        - enderman
        - pig
        - sheep
        - skeleton
        - slime
        - spider
        - wolf
        - zombie
    player:
        vsMonsterDamageAdd: 0
        vsPlayerDamageAdd: 0
        vsPlayerDamageMultiply: 1.0
        vsMonsterDamageMultiply: 1.0
    cavespider:
        hp: 20
        damage: 2
        spawnChance: 40.0
        spiderJockeyChance: 0.0
        burnsInSunlight: false
        aggressivenessDay: aggressive
        aggressivenessNight: aggressive
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 7
        heightMin: 0
        heightMax: 64
        drops:
        spawnOnlyOn:
        - DIRT
        - GRASS
        - STONE
        - BEDROCK
        - GRAVEL
        - SAND
        - SANDSTONE
        - SMOOTH_BRICK
        - SNOW
        - CLAY
        - NETHERRACK
        - SOUL_SAND
        - WOOD
        - COBBLESTONE
        - MOSSY_COBBLESTONE
        spawnNotOn:
    enderman:
        hp: 20
        damage: 4
        spawnChance: 40.0
        burnsInSunlight: true
        aggressivenessDay: passive
        aggressivenessNight: passive
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 7
        heightMin: 0
        heightMax: 127
        drops:
        spawnOnlyOn:
        - DIRT
        - GRASS
        - STONE
        - BEDROCK
        - GRAVEL
        - SAND
        - SANDSTONE
        - SMOOTH_BRICK
        - SNOW
        - CLAY
        - NETHERRACK
        - SOUL_SAND
        - WOOD
        - COBBLESTONE
        - MOSSY_COBBLESTONE
        spawnNotOn:
    zombie:
        hp: 20
        damage: 4
        spawnChance: 40.0
        burnsInSunlight: true
        aggressivenessDay: aggressive
        aggressivenessNight: aggressive
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 7
        heightMin: 0
        heightMax: 127
        drops:
        spawnOnlyOn:
        spawnOnlyOn:
        - DIRT
        - GRASS
        - STONE
        - BEDROCK
        - GRAVEL
        - SAND
        - SANDSTONE
        - SMOOTH_BRICK
        - SNOW
        - CLAY
        - NETHERRACK
        - SOUL_SAND
        - WOOD
        - COBBLESTONE
        - MOSSY_COBBLESTONE
        spawnNotOn:
    skeleton:
        hp: 20
        damage: 4
        spawnChance: 40.0
        burnsInSunlight: true
        aggressivenessDay: aggressive
        aggressivenessNight: aggressive
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 7
        heightMin: 0
        heightMax: 127
        drops:
        spawnOnlyOn:
        - DIRT
        - GRASS
        - STONE
        - BEDROCK
        - GRAVEL
        - SAND
        - SANDSTONE
        - SMOOTH_BRICK
        - SNOW
        - CLAY
        - NETHERRACK
        - SOUL_SAND
        - WOOD
        - COBBLESTONE
        - MOSSY_COBBLESTONE
        spawnNotOn:
    creeper:
        spawnChance: 40.0
        electrifiedChance: 2.0
        lightLevelMin: 0
        lightLevelMax: 7
        heightMin: 0
        heightMax: 127
        spawnOnlyOn:
        - DIRT
        - GRASS
        - STONE
        - BEDROCK
        - GRAVEL
        - SAND
        - SANDSTONE
        - SMOOTH_BRICK
        - SNOW
        - CLAY
        - NETHERRACK
        - SOUL_SAND
        - WOOD
        - COBBLESTONE
        - MOSSY_COBBLESTONE
        spawnNotOn:
        powered:
            hp: 20
            damage: 1.0
            burnsInSunlight: false
            aggressivenessDay: aggressive
            aggressivenessNight: aggressive
            reward: 0.0
            lootMultiplier: 1
            drops:
        unpowered:
            hp: 20
            damage: 1.0
            burnsInSunlight: false
            aggressivenessDay: aggressive
            aggressivenessNight: aggressive
            reward: 0.0
            lootMultiplier: 1
            drops:
    spider:
        hp: 20
        damage: 2
        spawnChance: 40.0
        spiderJockeyChance: 10.0
        burnsInSunlight: false
        aggressivenessDay: passive
        aggressivenessNight: aggressive
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 7
        heightMin: 0
        heightMax: 127
        drops:
        spawnOnlyOn:
        - DIRT
        - GRASS
        - STONE
        - BEDROCK
        - GRAVEL
        - SAND
        - SANDSTONE
        - SMOOTH_BRICK
        - SNOW
        - CLAY
        - NETHERRACK
        - SOUL_SAND
        - WOOD
        - COBBLESTONE
        - MOSSY_COBBLESTONE
        spawnNotOn:
    slime:
        spawnChance: 40.0
        lightLevelMin: 0
        lightLevelMax: 7
        heightMin: 0
        heightMax: 15
        spawnOnlyOn:
        - DIRT
        - GRASS
        - STONE
        - BEDROCK
        - GRAVEL
        - SAND
        - SANDSTONE
        - SMOOTH_BRICK
        - SNOW
        - CLAY
        - NETHERRACK
        - SOUL_SAND
        - WOOD
        - COBBLESTONE
        - MOSSY_COBBLESTONE
        spawnNotOn:
        huge:
            hp: 32
            damage: 4
            burnsInSunlight: false
            reward: 0.0
            lootMultiplier: 1
            drops:
        big:
            hp: 16
            damage: 4
            burnsInSunlight: false
            reward: 0.0
            lootMultiplier: 1
            drops:
        average:
            hp: 4
            damage: 2
            burnsInSunlight: false
            reward: 0.0
            lootMultiplier: 1
            drops:
        small:
            hp: 2
            damage: 0
            burnsInSunlight: false
            reward: 0.0
            lootMultiplier: 1
            reward: 1
            drops:
    pigzombie:
        hp: 20
        damage: 5
        spawnChance: 40.0
        burnsInSunlight: false
        aggressivenessDay: passive
        aggressivenessNight: passive
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
        spawnOnlyOn:
        spawnNotOn:
    ghast:
        hp: 10
        damage: 7
        spawnChance: 40.0
        burnsInSunlight: false
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
    giant:
        hp: 80
        damage: 10
        spawnChance: 40.0
        burnsInSunlight: false
        aggressivenessDay: passive
        aggressivenessNight: passive
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 15
        heightMin: 64
        heightMax: 127
        drops:
        spawnOnlyOn:
        - DIRT
        - GRASS
        - STONE
        - BEDROCK
        - GRAVEL
        - SAND
        - SANDSTONE
        - SMOOTH_BRICK
        - SNOW
        - CLAY
        - NETHERRACK
        - SOUL_SAND
        - WOOD
        - COBBLESTONE
        - MOSSY_COBBLESTONE
        spawnNotOn:
    monster:
        hp: 30
        damage: 5
        spawnChance: 40.0
        burnsInSunlight: false
        aggressivenessDay: passive
        aggressivenessNight: passive
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 15
        heightMin: 0 
        heightMax: 127
        drops:
        spawnOnlyOn:
        - DIRT
        - GRASS
        - STONE
        - BEDROCK
        - GRAVEL
        - SAND
        - SANDSTONE
        - SMOOTH_BRICK
        - SNOW
        - CLAY
        - NETHERRACK
        - SOUL_SAND
        - WOOD
        - COBBLESTONE
        - MOSSY_COBBLESTONE
        spawnNotOn:
    wolf:
        spawnChance: 5.0
        lightLevelMin: 7
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        spawnOnlyOn:
        - GRASS
        - SNOW
        spawnNotOn:
        wild:
            hp: 8
            damage: 2
            burnsInSunlight: false
            aggressivenessDay: passive
            aggressivenessNight: passive
            reward: 0.0
            lootMultiplier: 1
            drops:
        tamed:
            hp: 16
            damage: 1
            burnsInSunlight: false
            aggressivenessDay: passive
            aggressivenessNight: passive
            reward: 0.0
            lootMultiplier: 1
            drops:
    cow:
        hp: 10
        damage: 0
        spawnChance: 40.0
        burnsInSunlight: false
        aggressivenessDay: friendly
        aggressivenessNight: friendly
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 9
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
        spawnOnlyOn:
        - GRASS
        spawnNotOn:
    pig:
        hp: 10
        damage: 0
        spawnChance: 40.0
        burnsInSunlight: false
        aggressivenessDay: friendly
        aggressivenessNight: friendly
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 9
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
        spawnOnlyOn:
        - GRASS
        spawnNotOn:
    chicken:
        hp: 4
        damage: 0
        spawnChance: 40.0
        burnsInSunlight: false
        aggressivenessDay: friendly
        aggressivenessNight: friendly
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 9
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
        spawnOnlyOn:
        - GRASS
        spawnNotOn:
    sheep:
        hp: 10
        damage: 0
        spawnChance: 40.0
        burnsInSunlight: false
        aggressivenessDay: friendly
        aggressivenessNight: friendly
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 9
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
        spawnOnlyOn:
        - GRASS
        spawnNotOn:
        color0: 8184
        color1: 0
        color2: 0
        color3: 0
        color4: 0
        color5: 0
        color6: 16
        color7: 500
        color8: 500
        color9: 0
        color10: 0
        color11: 0
        color12: 300
        color13: 0
        color14: 0
        color15: 500
    silverfish:
        hp: 20
        damage: 1
        spawnChance: 100.0
        burnsInSunlight: false
        aggressivenessDay: aggressive
        aggressivenessNight: aggressive
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
    squid:
        hp: 10
        damage: 0
        spawnChance: 10.0
        burnsInSunlight: false
        aggressivenessDay: friendly
        aggressivenessNight: friendly
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 15
        heightMin: 0
        heightMax: 64
        drops:


    I'll PM you my server details if you want to hop on and take a look.
     
    Pasukaru likes this.
  12. Offline

    jmcneely

    @Pasukaru - I'm trying my hardest to figure out how to recreate it. It only seems to happen in this one hallway of mine:
    [​IMG]
    The only differences that I can see, is that this is the only hallway that is underneath all grass. The rest have buildings above them. But the distance between the hallway and the grass is more then ten blocks, so I'm not sure if this could be a factor.
    Here is my config:
    Code:
    global:
        savePlayerKills: 3
        useOldGetDifficulty: false
        initMessages: true
        useWorldGuardRegions: true
        minSpawnDistance: 24.0
        maxSpawnDistance: 222.0
        mobSpawnerRadius: 5.0
        naturalMobLimit: 450
        mobLimit: 500
    worlds:
        VentureIndustries:
            mobLimit: 125
            naturalMobLimit: 100
            mobChunkLimit: 1
            difficulty: default
            burnsInSunlightInterval: 20
            spawnInterval: 5
            aggressivenessInterval: 10
            useRegions:
                aggressiveness: true
                burnsInSunlight: true
                mobHP: true
                mobDamage: true
                playerVsPlayer: true
                playerVsMonster: true
                reward: true
                lootMultiplier: true
                spawnAlgorithm: true
        VentureIndustries_nether:
            mobLimit: 125
            naturalMobLimit: 100
            mobChunkLimit: 1
            difficulty: nether
            burnsInSunlightInterval: 20
            spawnInterval: 5
            aggressivenessInterval: 10
            useRegions:
                aggressiveness: true
                burnsInSunlight: true
                mobHP: true
                mobDamage: true
                playerVsPlayer: true
                playerVsMonster: true
                reward: true
                lootMultiplier: true
                spawnAlgorithm: true
    And here is the default difficulty(excluding hostile mobs):
    Code:
    global:
        rewardDepreciation: 0.0
        possibleSpawnCreatures:
        - cavespider
        - chicken
        - cow
        - creeper
        - enderman
        - pig
        - sheep
        - silverfish
        - slime
        - spider
        - squid
        - wolf
    player:
        vsMonsterDamageAdd: 0
        vsPlayerDamageAdd: 0
        vsPlayerDamageMultiply: 1.0
        vsMonsterDamageMultiply: 1.0
    wolf:
        spawnChance: 8.0
        lightLevelMin: 7
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        spawnOnlyOn:
        - GRASS
        spawnNotOn:
        wild:
            hp: 8
            damage: 2
            burnsInSunlight: false
            aggressivenessDay: passive
            aggressivenessNight: passive
            reward: 0.0
            lootMultiplier: 1
            drops:
            - '352:0:1:1:25'
        tamed:
            hp: 16
            damage: 1
            burnsInSunlight: false
            aggressivenessDay: passive
            aggressivenessNight: passive
            reward: 0.0
            lootMultiplier: 1
            drops:
    cow:
        hp: 10
        damage: 0
        spawnChance: 90.0
        burnsInSunlight: false
        aggressivenessDay: friendly
        aggressivenessNight: friendly
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 9
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
        - '363:0:1:3:75'
        spawnOnlyOn:
        - GRASS
        spawnNotOn:
    pig:
        hp: 10
        damage: 0
        spawnChance: 90.0
        burnsInSunlight: false
        aggressivenessDay: friendly
        aggressivenessNight: friendly
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 9
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
        - '319:0:1:3:75'
        spawnOnlyOn:
        - GRASS
        spawnNotOn:
    chicken:
        hp: 10
        damage: 2
        spawnChance: 90.0
        burnsInSunlight: false
        aggressivenessDay: passive
        aggressivenessNight: passive
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 9
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
        - '288:0:1:4:100'
        - '365:0:1:1:100'
        spawnOnlyOn:
        - GRASS
        spawnNotOn:
    sheep:
        hp: 10
        damage: 0
        spawnChance: 90.0
        burnsInSunlight: false
        aggressivenessDay: friendly
        aggressivenessNight: friendly
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 9
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
        spawnOnlyOn:
        - GRASS
        spawnNotOn:
        color0: 8184
        color1: 16
        color2: 16
        color3: 16
        color4: 16
        color5: 16
        color6: 16
        color7: 500
        color8: 500
        color9: 16
        color10: 50
        color11: 16
        color12: 300
        color13: 16
        color14: 16
        color15: 500
    squid:
        hp: 10
        damage: 0
        spawnChance: 90.0
        burnsInSunlight: false
        aggressivenessDay: friendly
        aggressivenessNight: friendly
        reward: 0.0
        lootMultiplier: 1
        lightLevelMin: 0
        lightLevelMax: 15
        heightMin: 0
        heightMax: 127
        drops:
        - '351:0:1:3:100'
     
    Pasukaru likes this.
  13. Offline

    Pasukaru

    @RugRats will be uploaded in a minute
    @Takel & @jmcneely
    Thanks, I'll set up a test server.
    I hope I can find something.
    Dev version: download
    You'll notice new config nodes for mob limits in your config.yml if you're going to use this one.

    @jmcneely
    Okay, I ran some tests and to be honest, I have no idea whats wrong.
    I set up a hallway exactly like yours. (3x4 with glowstone in the ceiling) and ~10 blocks below grass. Even with your config files, not a single mob spawned down there. :/

    Same in your case @Takel.
    I made a 100x100 glowstone area and no mob spawned there with your config files.
    [Edit] Seems to be fine now on your server, after I used the /butcher command. :eek:

    I'm clueless how to solve this. :/

    There might be a way to fix it on your end:
    Create a region in the affected areas and a new difficulty file for it. Remove all mobs from the spawn list and no mobs should spawn there again.

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

    Takel

    Hmmm, intermittent problems are the absolute worse to check for. I'll keep a look out to see if there's anything that can more reliably trigger the phenomena. Thanks for your time in investigating the problem.

    Worse case, I'll just deploy regions as you've suggested as well as the MobRepellent plug-in so that players can warden off their own places.
     
  15. Offline

    Sepulzera

    Just to let you know: Monsters (humans) aren't working in your dev-build (error when enabling them via difficulty-file))
     
  16. Offline

    Pasukaru

    @Sepulzera
    What kind of error? Post it please :)
     
  17. Offline

    Sepulzera

    Code:
    2011-09-28 16:52:53 [SEVERE] java.lang.InstantiationException
    2011-09-28 16:52:53 [SEVERE]     at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(Unknown Source)
    2011-09-28 16:52:53 [SEVERE]     at java.lang.reflect.Constructor.newInstance(Unknown Source)
    2011-09-28 16:52:53 [SEVERE]     at net.minecraft.server.EntityTypes.a(SourceFile:67)
    2011-09-28 16:52:53 [SEVERE]     at org.bukkit.craftbukkit.CraftWorld.spawnCreature(CraftWorld.java:324)
    2011-09-28 16:52:53 [SEVERE]     at Pasukaru.CustomDifficulty.SchedulerTasks.SpawnControl.run(SpawnControl.java:431)
    2011-09-28 16:52:53 [SEVERE]     at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
    2011-09-28 16:52:53 [SEVERE]     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:439)
    2011-09-28 16:52:53 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
    2011-09-28 16:52:53 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    2011-09-28 16:52:53 [WARNING] Task of 'CustomDifficulty' generated an exception
    java.lang.NullPointerException
        at Pasukaru.CustomDifficulty.util.CreatureInfo.getAggressiveness(CreatureInfo.java:17)
        at Pasukaru.CustomDifficulty.SchedulerTasks.SpawnControl.run(SpawnControl.java:436)
        at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:439)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    
    Just occurs after someone logs in (guess as it isnt active before)
     
  18. Offline

    Rilly

    Sorry, i have a stupid question.. what do you mean by Nodes? is a node a configuration parameter or single setting?
     
  19. Offline

    Pasukaru

    @Rilly
    A configuration node is one single setting in the config files.
    e.g.
    Code:
    spawnChance: 5.0
    
    is a node.
     
    Rilly likes this.
  20. Offline

    Darcion

    without server restart and without any files instead of the new config i tried to reload difficulty and got an server error
    Code:
    2011-09-28 18:06:48 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'difficulty' in plugin CustomDifficulty v4.3.0 (for CB: 1185)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:41)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:353)
        at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:756)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:721)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:714)
        at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
        at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:500)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:464)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    Caused by: java.lang.NoClassDefFoundError: Pasukaru/CustomDifficulty/commands/Reload
        at Pasukaru.CustomDifficulty.commands.DifficultyCommands.onCommand(DifficultyCommands.java:37)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:39)
        ... 13 mor
     
  21. Offline

    Pasukaru

    You have to restart the server if you replace the plugin with a newer version.
     
  22. Offline

    jmcneely

    That fixed it for me, thanks!
     
  23. Offline

    Fiddy_percent

    So how to I configure the sheep colors?
     
  24. Offline

    Rilly

    Pasukaru - the new version 4.4 works well regarding the problem I was having with reloading the config all the time - thanks.

    I do have a question about the monsters - i have all the spiders removed as a possible spawning candidate, but, i noticed that when we found a mine shaft, there were spiders in there, and a spawning block for the spiders. I guess this plugin just stops the new random spawning of the monsters specified? Is there a way from this plugin to prevent the spiders from being in the world at all?
     
  25. Offline

    oogabooga66

    I have been unable to get reward to work with BOSeconomy 0.7.2, is there anything extra I have to do? I've assigned rewards to the mobs, done a reload, still nothing.

    BTW, thank you for making spawn limits more configurable, its helped alot, now i dont have to keep butchering peacefuls to get more mobs.
     
  26. Offline

    Pasukaru

  27. Offline

    milp

    Hm i've set ghasts to burn on daylight and set them to spawn in the normal world at night. They get set on fire on daylight but they don't die from it, is there something wrong?
     
  28. Offline

    Pasukaru

    @milp
    Ghasts and Pigzombies can't burn because minecraft/bukkit removes their fire ticks immediately.
    I'll try to find a way to let them take damage over time in the next release.
     
    milp likes this.
  29. Offline

    varunax

    I love this mod. It's what my server is mainly using.

    Though, I have one question... is it possible to set how far the mobs can see players to attack them?
     
  30. Offline

    Syd

    I still get no Squids and colored sheeps :/
    (not even with default config)
     
  31. Offline

    Pasukaru

    @varunax
    Not yet, I'm waiting for Bukkit/Minecraft to update something. Mobs don't walk to their target if its too far away - 16 blocks, wich is the the current setting.

    @Syd
    Both works well for me, what's your craftbukkit version? Also, please post your configuration files.
     

Share This Page