[MECH/FUN] AngryWolves v1.9 - Randomly spawn aggressive wolves, Hellhounds! [1.7.2-R0.2+]

Discussion in 'Archived: Plugin Releases' started by Mike Primm, Apr 4, 2011.

  1. Offline

    Mike Primm

    AngryWolves - Randomly spawn aggressive wolves, now with Hellhounds!
    Version: v1.9
    Verified on 1.7.2-R0.2

    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.

    Features:
    • 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)
    • Color codes can be included using &0-&F format (similar to Essentials) in any custom message.
    • (new to 1.2) Optional rate for villagers to become werewolves (Angry Wolves) on full moons - which revert back to villagers in the morning
    • (new to 1.2) Option for Angry Wolves to hunt villagers (like Zombies do)
    Download AngryWolves ZIP from HERE. Unzip in plugins directory to install.

    Source Code on GIT is https://github.com/mikeprimm/AngryWolves

    Change Log:

    Version 1.9:
    • Update to work on v1.7.2 (Will no longer work on v1.6.2 or earlier)
    Version 1.7:
    • Update to work on v1.6.2 (Will no longer work on v1.6.1 or earlier)
    Version 1.6:
    • Update to work on v1.6.1 (Will no longer work on v1.5.2 or earlier)
    Version 1.5:
    • Update to work on v1.5.2 (Will no longer work on v1.5.1 or earlier)
    Version 1.4:
    • Updated to work on v1.5.1 (Note: will no longer work on v1.4.7 or earler)
    • Fix error with setting wolf health
    Version 1.3:
    • Updated to work with v1.4.7 (Bukkit package breaks...)
    • Added wolf howl when wolf spawns angry
    Version 1.2:
    • Add 'villager-werewolf-rate' setting - allows settable rate for villagers to become Angry Wolves during full moon
    • Add 'angrywolf-hunts-villagers' setting - if true, Angry Wolves will hunt villagers like Zombies do
    • Add mcstats.org usage tracking
    Version 1.1:
    • Fix problem caused by arbitrary, unnecessary CB 1.3.1 Biome change....
    Version 1.0.3:
    • Make wolves angry again - workaround lame CB/Vanilla v1.2 wolf behavior - Angry Wolves are back to attacking anyone they find, versus just folks that attack them!
    Version 1.0.2:
    • Updated to 1.2.4-R1.0
    Version 1.0.1:
    • More 1.1-R5 prep (more 1.1-R5 READY)
    Version 1.0.0:
    • Update to 1.1 event model (1.1-R5 READY)
    Version 0.9.5:
    • Update for new 1.1 biomes - support wolf-friendly biomes, FOREST_HILLS and TAIGA_HILLS
    Show Spoiler

    Version 0.9.4:
    • Add color code support for custom messages (using &0 to &F format codes)
    • Prevent spawning of non-hellhounds in nether
    • Migrate configuration file to config.yml
    Version 0.9.3:
    • Make default month length 8 days (matches Bukkit/Minecraft lunar cycle)
    • Adjust day-of-month calculation so that 8 day month results in full moon matching Mineacraft moon
    Version 0.9.2:
    • Fix inaccurate version number reported by 0.9 and 0.9.1 (was still 0.8.7)
    • Defend against bogus/broken Permissions plugin causing exception
    Version 0.9.1:
    • Fix typo in default angrywolf-pop-limit attribute
    Version 0.9:
    • Add Hellhounds-With-Frickin-Fireballs options!
    • Add Experience Orb options for all wolf types
    • Add normal wolf population aides - mob-to-wild-wolf-rate
    • Add optional chance of wolf pup when a wolf eats a sheep
    Version 0.8.7:
    • Prevent exceptions in 1.0.0 CB builds (null creature type in spawn events, health limit exceptions on wolves)
    Version 0.8.6:
    • 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).
    Version 0.8.5
    • Add angry wolf and hellhound specific loot and loot rates (angry-wolf-loot, angry-wolf-loot-rate; hellhound-loot, hellhound-loot-rate)
    • Add full-moon specific mob-to-wolf-rate (fullmoon-mob-to-wolf-rate), to alter mob-to-wolf replacements during full moon nights
    • Add optional rate for angry wolves to stay angry at end of full moon (fullmoon-stay-angry-rate).
    • Fix Hellhounds becoming not angry at end of full moon.
    Version 0.8
    • Add support for Hellhounds (flaming, fireproof angry wolves)
    • Add support for pig-zombie-to-wolf-rate (substituting pig-zombies with Hellhounds)
    Version 0.7
    • Add support for wolf loot drops
    Version 0.6
    • Add support for mob-type-specific mob-to-wolf replacement rates
    • Add option to not restrict mob-to-wolf replacements to wolf-appropriate biomes and terrain
    • Fix problem with blank chat messages being send when corresponding optional messages were not set
    Version 0.5.1
    • Preliminary support for v1.5 (CB709) along with v1.4 (CB684)
    Version 0.5
    • Added rectangular or polygon defined areas, allowing angry wolf settings to be defined distinctively on different parts of a given world
    • Added optional spawn message radius, to limit spawn notifications to players within a provided distance of an angry wolf spawn event, if a spawn message has been defined.
    Version 0.4
    • Added "angrywolves.wolf-friend" privilege, via Permissions 2.5.4+ or GroupManager 1.0-alpha-3+, to prevent angry wolves from attacking players with the privilege.
    Version 0.3.1
    • Minor fix for problem with wolves reverting to normal at end of full moon on CB670
    Version 0.3
    • Add "wolf-in-sheep's clothing" option
    Version 0.2.1
    • Fixed problem with 'full moons' making tamed wolves go angry
    Version 0.2
    • Reformat configuration file
    • Allow both spawn-angry and replace-mobs-with-angry-wolf options to be used at the same time
    • Add 'full moon' nights, where even more wolves can become angry, but then to return to normal in the morning.
    Version 0.1
    • Initial release

    Known Issues:
    • None
    Planned Features:
    • Weapon immunity for Hellhounds: Configurable to be damaged only by certain materials.
    • Configurable spawning biomes and rates per biome
    • Configure spawn drop per biome
    • Angry wolves only spawn in Tiaga and Swampland, Normal Wolves spawn in Forest
    • AngrySquids?
    • Add some wolf management commands, including in-game creation of areas
    • Other spawn population controls
    Other Wolf Plugins:
     
  2. Offline

    halley

    Is your "full moon" logic the same as Minecraft 1.0.0's new phase-of-moon stuff?

    I loved the hellhounds but had to disable the plugin until now-- glad to see it back!
     
  3. Offline

    Mike Primm

    I need to do that (at least give the option) - stay tuned!
     
  4. Offline

    Drej_X_Army

    Download is old download, where is v0.9.1??
     
  5. Offline

    Mike Primm

    Yep - I screwed up and didn't update the internal version file - I'll be releasing a 0.9.2 with this fixed in a few minutes. Sorry for the trouble.

    Edit: 0.9.2 released with proper version reporting

    OK - 0.9.3 now will match the Minecraft Moon cycle, if you set the month length to 8 (days-between-fullmoons). And, bonus, it'll display the right code version...

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

    Drej_X_Army

    Sweet thanks, I did download it and it ran great. I never told my friends and when the hound came out, I heard nothing but screaming, LOL. Awesome plugin....
     
    Mike Primm likes this.
  7. Offline

    mike0fmikes

    I've got a funny little "quirk". I set the full moon timer to 8 but it seems like the full moon timer for this mod is counting the "third quarter" moon phase and the full moon. Anyway I can change this? Like setting the server time...and what time would I have to set it for to sync it up again....

    Also, if I make the sun rise ahead of schedule will it throw the timer off again?
     
  8. Offline

    Mike Primm

    Are you running with 0.9.3 and with the stock texture pack? If you aren't using the stock texture pack, its possible that the moon phase sequence in the moon.jpg doesn't match the stock one.
     
  9. Offline

    mike0fmikes

    Yup, latest build of AngryWolves, latest Minecraft, latest Bukkit, stock texture pack.
     
  10. Offline

    SeanMalloy

    Is there anyway that with the spawnmsg: 'The beasts have risen...' to make it with color codes? I want the spawnmsg to be in some ominous red letters :) Hope you can help!
     
  11. Offline

    Mike Primm

    You should be able to embed the color prefix character (its non-ASCII, so its usually a cut-paste thing). I'll see about adding an escape code for it in the next code drop.
     
  12. Offline

    SeanMalloy

    As in: spawnmsg: &4'The beasts have risen...' ? That doesnt seem to work for me.
     
  13. Offline

    Mike Primm

    & is an Essentials thing - not standard (although I might use the same thing for the color escape here....). The actual character is '\u00A7' (which is § ). Try cut-paste of this character - § - into a UTF-8 valid editor (something like Notepad++, NOT Notepad).
     
  14. Offline

    SeanMalloy

    Thank you for the help :). Already my server loves this plug in, along with natural giants. It just adds some more spice to it.
     
  15. Offline

    SeanMalloy

    I also found a funny "bug"? It seems that in the nether, only regular wolves spawn, because all the angry/hellhounds sprint to the nearest lava or fire to die..
    If you spawn them, they will run out to find any fire or lava naturally placed and jump in... Is this a bug?
     
  16. Offline

    Mike Primm

    The mobs-to-wolves spawning in the nether is doing something odd - I've seen normal wolves myself, and that shouldn't happen. I'll look in to a fix.
     
  17. Offline

    SeanMalloy

    But if you spawn them in doing /spawnmob wolf 10, the hounds that are angry or hellhounds, they go straight for the nearest lava or fire to kill themselves. Of course the hellhounds dont burn but the angry ones die.
     
  18. Offline

    Mike Primm

    Is that different from what happens with the wolves spawned that way without AngryWolves? We don't attempt to control movement, so I'm at a bit of a loss to explain the odd movement.
     
  19. Offline

    SeanMalloy

    I havent seen it happen in the overworld... but i believe the reason that we dont see hellhounds/angry wolves in the nether is because they kill themselves before we can see them. Try it on your server. Ill update you if they kill themselves in the overworld.
     
  20. Offline

    Mike Primm

    Yep - I'm having some issue with testing it properly with the current spawnmobs - known bug with being able to set the count on wolves (looks like a pretty basic error, from the source - just haven't bothered coding a fix). I'm wondering if it has to do with being angry but having no initial target - we'll have to see what happens there. Problem with wolves is that they tend to drown themselves, fall off things, and other suicidal behavior at the best of times - I suspect they may just have issues with recognizing lava as something bad to walk on :)
     
  21. Offline

    Darkhand81

    Hey! You implemented my ideas! You rule! :) :)

    Having some trouble though:

    -I downloaded (directly to the server with wget) from: https://github.com/downloads/mikeprimm/AngryWolves/AngryWolves.jar

    -Run the plugin clean and let it generate its folder and config.yml.

    -Stop the server

    -Go to edit config.yml

    -Here's the config I'm greeted with:

    http://pastebin.com/4svxKwZK

    The funny thing is that the correct and fully commented config.yml is in the .jar file! I extracted it manually and stuck it in the AngryWolves directory and everything is fine! It just seems to be creating the file incorrectly on initial startup.

    I tried redownloading the .jar a few times to make sure it wasn't corrupted or anything and had the same result each time.

    Thanks again!!!

    P.S.: Is there a hellhound-specific Spawnmsg?

    P.P.S: I tried setting hellhound health above 20 and didn't know I couldn't do that until I found this exception in the server logs:
    Show Spoiler
    2012-01-06 00:27:56 [WARNING] Task of 'AngryWolves' generated an exception
    java.lang.IllegalArgumentException: Health must be between 0 and 20
    at org.bukkit.craftbukkit.entity.CraftLivingEntity.setHealth(CraftLivingEntity.java:42)
    at com.mikeprimm.bukkit.AngryWolves.AngryWolvesEntityListener$DoSpawn.run(AngryWolvesEntityListener.java:79)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:493)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)

    Maybe a check to max it at 20 if the user stupidly sets it higher? :) I'll just set the damagescale lower instead
     
  22. Offline

    prizna

    Just wondering, is the latest version compatible with craftbukkit 1.1?
     
  23. Offline

    Mike Primm

    Yes - sorry for slow reply. I updated the comment and OP to show this.
     
  24. Offline

    Semirotta

    Question: If i make 100% all wolfs to spawn as "angrywolf" / "hellhound" , can you still tame them with bone? (which would be hard :D )
     
  25. Offline

    Mike Primm

    I don't think so - I'd need to check the bukkit code (we don't process taming - as far as bukkit is concerned, these guys are just angry :) ). It'd be interesting to come up with a way to tame them, if it doesn't work as-is :)
     
  26. Offline

    Semirotta

    would be cool, for example "how to tame hellhound"- > blaze rods :D
     
  27. Offline

    Mike Primm

    Good thought :)
     
  28. Offline

    PsychicDragonST

    I think the wolf friends thing is either broken in the newer craftbukkit builds or I messed something up at some point. I say this because I could have sworn it was working earlier when I tried it with the 1.2.3 R02 build, but now after updating several other plugins an error gets spit out in the console whenever a "wolf friend" hits a wolf and the wolf becomes aggressive. I just wanted confirmation to see if indeed I did mess something up and that this is working for everyone else, or if I just imagined entirely that it was working at some point with 1.2.3 R02.
     
  29. Offline

    Mike Primm

    I'll take a look - I know that there were some event problems with bukkit, particularly after the 1.2 drop, that might be an issue. If so, I'll see about getting it fixed there (I count on hooking bukkit events to manage the targeting by the wolves).
     
  30. Offline

    PsychicDragonST

    Thanks for the swift reply. Hopefully, this doesn't turn out to be too much of an issue.
     
  31. Offline

    Stuie

    So... should these "angry wolves" be attacking players? Because they're not. Their eyes are red and they growl at people, but they don't aggro.

    Did I do something wrong? I'm using 1.2.5.
     

Share This Page