AngryWolves - Randomly spawn aggressive wolves, now with Hellhounds and Villager Werewolves!
This plugin offers the option to have some (or even all) wolves that spawn be already angry. In addition, angry wolves can be substituted for a portion of the normal monster spawns, but (optionally) only in appropriate biomes and on appropriate terrain. Both of these options can be enabled at the same time (or individually, as before), and individually configured. Wolves can also be configured to have loot drops.
A portion of angry wolf spawns can, optionally, be made to be Hellhounds! Hellhounds are flaming, fire-proof angry wolves - which mostly makes them look a whole lot cooler :). Unlike regular angry wolves, though, they can spawn in The Nether.
Settings are controlled at three tiers - global, world-specific and polygon-defined areas within specific worlds. In all cases, the settings of the more specific tier, if defined, override those of the higher tiers (area supersedes world, which supersedes global settings).
The settings file includes the following attributes:
- spawn-anger-rate - Percentage of normal wolf spawns that appear as angry wolves. Disabled if zero.
- mob-to-wolf-rate - Ten times the percentage of monster spawns (zombie,creeper,skeleton,spider) are replaced by angry wolves (e.g. 50 = 5%, 1000=100%). Disabled if zero.
- spawnmsg - optional message to broadcast to all players in world where an angry wolf has spawned, due to either method (limited to once per 60 seconds per world). Color codes can be included using &0-&F format (similar to Essentials).
- spawnmsgradius - optional parameter that, if set above zero, limits the sending of the 'spawnmsg' to players within the provided number of blocks of the spawn event
- creeper-to-wolf-rate, skeleton-to-wolf-rate, zombie-to-wolf-rate, spider-to-wolf-rate - when defined, these values override the mob-to-wolf-rate for the corresponding mob type (e.g. creeper-to-wolf-rate, if set, will define the rate (in tenths of a percent) of creeper spawns that are replaced with angry wolves)
- mobtowolf-ignore-terrain - when defined and set to 'true', this option removes the biome and terrain restriction on mob-to-wolf spawn replacements - angry wolves can replace spawns in any biome or terrain when this is set.
- wolf-loot-rate - when defined, this integer is the percentage chance that a dying wolf drops loot (default is 0)
- wolf-loot - when defined, this integer list is the set of one or more item IDs to be picked from randomly when determining a wolf's loot drop. Duplicate IDs are allowed, and makes the given item more likely to drop (default is [ 344 ], leather).
- pigzombie-to-wolf-rate - when defined, this value overrides the mob-to-wolf-rate for the pig-zombie spawns, and sets the rate (in tenths of a percent) that pig-zombies will spawn as angry wolves instead. Angry wolf spawns in The Nether are always Hellhounds.
- hellhound-rate - when defined, this value indicates the percentage of angry wolves that are Hellhounds (flaming, fire-proof angry wolves).
- wolf-xp - when defined, the number of experience orbs dropped for kills of normal wolves
- angry-wolf-xp - when defined, the number of experience orbs dropped for kills of angry wolves
- hellhound-xp - when defined, the number of experience orbs dropped for kills of hellhounds
- hellhound-fireball-rate - when defined and above 0, this is the number of seconds between fireballs hurled by hellhounds (default= 0, no fireballs)
- hellhound-fireball-range - when defined, range of hellhound fireballs
- hellhound-fireball-incendiary - when defined and set to true, hellhound fireballs can cause fires
- mob-to-wild-wolf-rate - when defined, rate at which monster mobs are replaced by normal (wild) wolves, in tenths of a percent (e.g. 100 = 10%).
- pup-on-sheep-kill-rate - when defined, rate at which wolf pups are spawned when a wolf eats a sheep (in percent)
- villager-werewolf-rate - decimal percentage of villagers that become Angry Wolves during the full moon (they return to normal at the end of the night) (new to 1.2)
- angrywolf-hunts-villagers - boolean that, if true, causes Angry Wolves to hunt villagers (like Zombies do) (new to 1.2)
In addition, you can configure a "full moon" night - one night out of every N (where N is the setting for the days-between-fullmoons attribute), 'anger-rate-fullmoon' percent of the untamed wolves will become angry. At the end of that night, all angry wolves (even ones angry before the night started) will revert to normal. The attribute for this include:
- days-between-fullmoons - if non-zero, the number of daytime periods between 'full moon' nights (e.g. 1 = every night, default is 8, setting to zero disables the feature). Note: unlike other attributes, this attribute can only be defined at the world and global level - no area-specific full moon cycles! Setting this to 8 will result in the lunar cycle matching the MC 1.0.0 lunar cycle.
- 'anger-rate-fullmoon' - the percentage of already-spawned wild wolves that turn angry at the start of the 'full moon' night (if zero, feature is disabled). Note: tamed wolves are unaffected.
- 'fullmoonmsg' - optional broadcast message sent at the start of each 'full moon' night. Color codes can be included using &0-&F format (similar to Essentials).
- 'fullmoon-mob-to-wolf-rate' - if set, this is the 'mob-to-wolf-rate' used during 'full moon' nights - choose to spawn more angry wolves during the full moon!
- 'fullmoon-stay-angry-rate' - if set, this is the percentage of angry wolves that stay angry at the end of a full moon night (default is 0%)
The "wolves in sheep's clothing" option is also available. Disabled by default, the option allows for a probability that a sheep, when damaged by a player, turns out to be an angry wolf in disguise. This feature is controlled with the following attributes:
- wolf-in-sheep-rate: chance that a sheep is an angry wolf in disguise (in tenths of a percent). Default is zero (disabled).
- wolf-in-sheep-msg: message sent to player that damaged the wolf-in-sheep's-clothing. Color codes can be included using &0-&F format (similar to Essentials).
The "wolf-friends" feature is also available. This is a Permissions based privilege that, when granted to a user, makes them not be attacked or targeted by angry wolves. This feature is controlled (globally, per-world, or per-area) with the following attribute:
- wolf-friends: if set to true, the 'angrywolves.wolf-friend' permission is enabled, and players with that permission will not be attacked or targetted by angry wolves. Note: if enabled on a per-area level, the location of the PLAYER determines if the friend permission will prevent attack.
Permissions 2.7.x or later has been tested. Without Permissions, Bukkit Permissions ('Superperms') will be used instead.
To install, simply copy the AngryWolves.jar to your plugin directory and start CraftBukkit normally. A sample configuration file, config.yml, will be created in the AngryWolves subdirectory.
- Multi-world support
- Global settings, per-world settings, and per-area settings
- Set percentage of wolves that spawn already angry (spawn-anger-rate > 0)
- Set percentage (x10) of monster spawns to replace with angry wolves (mob-to-wolf-rate > 0)
- When replacing monster spawns, will only do so in forest and tiaga biomes, and only when spawn is over grass terrain. mobtospawn-ignore-terrain can be used to disable this restriction.
- Optional world-level broadcast messages when an angry wolf is spawned
- Optional "full moon" nights - one night out of every N days-between-fullmoons, a settable fraction of all wild wolves go angry for the night, but return to normal in the morning.
- Optional "wolf-in-sheep's-clothing" - settable probability that a sheep damaged by a player turns out to be an angry wolf in disguise!
- Optional "wolf-friends" privilege - if enabled, players with the 'angrywolves.wolf-friend' privilege, via Permissions or GroupManager, will not be attacked or targetted by angry wolves.
- Optional spawn message radius, to limit which players are warned if an angry wolf spawns and a 'spawnmsg' has been defined.
- Option polygon-defined areas within each world that can have their own settings (defined as list of 2-D coordinates - 2 for rectangle, 3+ for polygon).
- Optional mob-type-specific mob-to-wolf rates, allowing the rate of mobs being replaced by angry wolves to be set for each mob type (spiders, skeletons, zombies, creepers - and pig-zombies)
- Optional loot drops from wolves - controlled rate (using wolf-loot-rate), and list of item IDs to be randomly picked from (using wolf-loot). Option for angry wolf specific loot and loot drops (using angry-wolf-loot-rate and angry-wolf-loot, respectively). Option for Hellhound specific loot and loot drops (using hellhound-loot-rate and hellhound-loot, respectively).
- Option for a settable percentage of angry wolves to be flaming Hellhounds (using hellhound-rate)
- Option to set different mob-to-wolf rate during full moons, using fullmoon-mob-to-wolf-rate setting (percentage x10, like mob-to-wolf-rate). Also, optional settable rate that angry wolves stay angry at end of full moon (in percent - default 0).
- angrywolf-health and hellhound-health settings, which control the initial health of these spawns - used to make them less wimpy than normal wild wolves!
- hellhound-damagescale - allows damage received by Hellhounds to be reduced (it is multiplied by this settings, so making it below 1.0 reduces damage).
- angrywolf-pop-limit - allows limit on total population of Angry Wolves and Hellhounds on your server (mob-to-spawn sidesteps the normal spawn population limits).
- Enable hellhounds to attack with fireballs (at settable range and rate) that do (or don't) cause fires
- Configure normal wolves, angry wolves, and hellhounds to drop experience orbs
- Add options to make normal wolves more common - mob-to-wild-wolf-rate (like mob-to-wolf-rate, but it causes normal 'wild' wolves), and pup-on-sheep-kill-rate (percent chance of getting a wolf puppy when a wolf eats a sheep)
- (new to 0.9.4) Color codes can be included using &0-&F format (similar to Essentials) in any custom message.
Source Code on GIT is https://github.com/mikeprimm/AngryWolves
This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version