[FUN/MECH] AdvancedMobs v0.3.7 - Mob variants for your normal, nether, and skylands worlds [1060]

Discussion in 'Inactive/Unsupported Plugins' started by TheTennessee, Aug 11, 2011.

     
  1. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    AdvancedMobs - Mob variants for spawning in normal, nether, and skylands worlds
    Version: 0.3.6
    Tested with: CB 1060

    Latest JAR:
    MediaFire - Version 0.3.7 JAR
    MegaUpload - Version 0.3.7 JAR

    Previous Versions:
    0.3 - MegaUpload - Version 0.3 JAR
    0.2 - MegaUpload - Version 0.2 JAR
    0.1 - MegaUpload - Version 0.1 JAR

    As my first plugin, I decided to do some of the things I couldn't find with other plugins. I've run AngryWolves (with hellhounds), and Tossers on my server before. These plugins added new variations on old enemies. This got me started thinking about what I could do. So, I learned java (I have been doing C++ for years), read and listened to some plugin tutorials, and learned from looking at some other source code that the plugin developers have been kind enough to upload. This is the culmination of that work.

    AdvancedMobs is a plugin meant to add advanced mob types to your worlds. The nether too bland for you, the skylands nice to look at, but utterly devoid of anything to do? Maybe you just want giants to work in your world. This plugin has all of that, and more is going to be added too. The nether will get fire immune versions of zombies, skeletons, spiders and slimes, the skylands will get ghasts, creepers with new attacks, and animals, and your normal world will finally get to see zombie pigmen, and they are none too happy about being yanked out of their normal world. All of this and giants too, and they have a few surprises of their own.

    Important: If you find any bugs or adherent behaviors while using this plugin, please give a list of the mob changing plugins you have besides this one, the startup messages for AdvancedMobs (it will show [AdvancedMobs] in front of it) as well as any errors you get in the console. Your config file would also be helpful if you changed any values. Also be sure to include your CB version. I will not be responsible for versions I don't support.

    Warnings: Skylands mobs use velocity in their attacks. They will cause you to sometimes move too fast and get kicked. This is rare under most circumstances, but if you have a fly mod enabled on your server it can do this. There are several ways to solve this, including enabling fly, adding the plugin "NoMovedTooQuicklyKick", and also possibly handling the velocity with anti-hack plugins. If you do not want this, you can turn the force down on their attacks, or turn them off altogether.


    Features:
    • Zombie Pigmen can spawn in normal worlds (and can be spawned hostile)
    • Zombies, Skeletons, Spiders, and Slimes can spawn in the nether, and are immune to fire
      • Nether Slimes can set YOU on fire too
    • Ghasts, Powered Creepers, Pigs, and Sheep will spawn in your skylands worlds
      • Aether Ghast fireballs explode into snowballs instead of explosions
      • Powered Creepers can explode with air power instead of damage, possibly knocking you off the skylands
    • Giants spawn in all worlds!
      • Normal Giants will toss TNT at enemies to give them a ranged attack (TNT won't destroy terrain)
      • Fire Giants spawn in the nether and spit fireballs instead of TNT
      • Storms cause normal giants to gain the power of lightning, calling it down on you
      • Custom loot tables for giants (since they normally don't drop anything)
      • Configurable health
    • Advanced Hostile Wolves for all worlds
      • Hellhounds are immune to fire and spawn in the nether and normal world
      • Winter Wolves spit blasts of cold at you, and spawn in the skylands and in snowy terrain in the normal world
      • A super secret special wolf type - fear the sitting wolves
      • Configurable loot tables for both
      • All special wolves are tamable!
        • (Hit them with a raw porkchop to calm them for 10 seconds)
    • Configurable spawn rates for everything, and the ability to turn on and off most special properties for advanced mobs
    • Multiworld support - turn off mob types in certain worlds
    • Much much more to be added
    Multiworld Setup:

    In order to set up multiworld support, you will need to create files in your "AdvancedMobs" folder. These files will be named the name of the world you want to modify plus "_config.yml" ([world]_config.yml). So if your world "world_nether" needs to have some creatures changed, you need to make a file called "world_nether_config.yml" and put it in that folder.

    Once you have made this file, you do not need to turn any creatures to true. Any creature names not found in the config will default to true. So, if you wanted to turn off nether zombies for instance, you would put on a line inside the config file "Zombie: false". All creatures have their normal names, and zombiepigmen are called "PigZombie". You can only turn off a creature type that this plugin is spawning, it will not effect natural spawns or spawns from other plugins.

    Example contents of "world_config.yml"
    Code:
    PigZombie: false
    Wolf: true
    That would turn the ability for this mod to create pig zombies in the world "world" to off, but leave Hellhounds and Winter Wolves on. Conversely, since the default is true anyways, "Wolf: true" could have been left out and they would still be on.

    Change Log:

    Version 0.3.7
    • Fixed a ClassCastException error that was happening
    • Added an example world config file to the default config files
    Version 0.3.6
    • Toned down the secret wolves' attacks some
    • Fixed the log message for autosaving (it was saying AnimalCompanion because that's where I copied the auto save from)
    • Fixed a bug in the world loading section of loadWolves()
    Version 0.3.5
    • Fixed nether slimes getting giant fire effects
    • All tick rate timers were 3 times too fast, fixed
    • Added force variables in the config for ghast/winter wolf snowballs and creeper explosions
    • Fixed a bug with the "secret wolves" that was leaving behind junk in the world
    • Added hookups for the AnimalCompanion plugin
    Version 0.3
    • Made all wolf types tamable - hit them with a raw porkchop to calm them down long enough to tame one
    • Tamed special wolves are persistent between server restarts
    • Added a super secret wolf type, fear the sitting wolf
    • Gave hellhounds a small tick fire bite
    • Ghast fireballs in the skylands now explode with snowballs and deal a small amount of damage + knockback
    Older Notes:

    Version 0.2
    • Added multiworld support
    • Added Hellhounds and Winter Wolves
    • Added loot tables for advanced wolves
    • Tweaked Aether Creeper explosions
    • Added version identifier to console output
    Version 0.1
    • Initial Release


    Known Issues:
    • Slimes that catch fire have huge fire effects on them
    • Fire giant fireballs sometimes don't show up but will still damage you
    • Ghasts in the skylands can sometimes get stuck in terrain (Should be resolved)
    • Winter Wolf smoke effects can sometimes become disembodied
    • Winter Wolves in the normal world become normal angry wolves on server restart
    • Hellhounds in the normal world near water or after/during a rain storm can lose their fire effect until they find a target
    • Winter Wolves/Ghasts/Powered Creepers in the skylands can under rare instances with some other mods enabled cause a "Kicked for moving too fast" client kick
    Planned Features:
    • Aether Slimes (high jumping slimes that push you away when they land)
    • Aether Ghasts shoot snowballs (instead of fireballs, do less damage, but have a high spread)
    • Adventurers (humanoids with armor on that can attack you)
      • Valkyries for the skylands
      • Demons for the nether
    • Advanced Wolves (hellhounds for nether, winter wolves for skylands/normal world)
      • Make advanced wolves tamable and persistent
    • More configuration for everything
    • Add a check to make sure giants don't spawn underground
    • Full multiworld support
    • Spout support for skins
    • Custom mob spawning and hookups for other plugins
    Possible Features:
    • Giants can kick you if you get too close to them
    • Giants might throw up slimes onto you if you hit them (rare chance)
    • Flying/floating mobs for the skylands (pigs and sheep that can fly!)
    • Ghasts for the normal world that do... something
    • Depth dependent normal world mobs (like elemental creepers or harder mobs of some kind)
    • Biome specific normal world mobs (like cactus creepers that explode in arrows)
    • Mob riders, like spider jockeys but with different mob variants
    Related Plugins: (Not made by me)

    This post has been edited 23 times. It was last edited by TheTennessee Aug 25, 2011.
    Meechel likes this.
  2.  
  3. Offline

    Anihilatore

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This looks Great!
  4. Offline

    kahlilnc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Hm could you release the pigman in normal world as a seperate?
  5. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Thanks. First response and I am feeling much better now. ^_^

    If this one goes through, I was actually thinking of releasing a bunch of the sections separately, including the nether, skylands, normal world, and giants sections.

    Also, if you want, I can separate it out and send it to you in an IM, and release it later if I get enough requests.

    This post has been edited 1 time. It was last edited by TheTennessee Aug 11, 2011.
  6. Offline

    enenra

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Would Spout support for visual changes be an idea? (for example different skins for the mobs)
  7. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I have honestly not yet looked into spout. If it is something that would be a required download for everyone on the server, no... if it is something that is optional, then it would definitely help for the Adventurer's part and would be added in then for that.
  8. Offline

    enenra

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Well, there's the Spout server plugin and the user client. Generally, users don't need the client to join the server but without the client, they won't have the features available to them in the same way. In this case, probably no optical difference.

    I wonder, wouldn't a simple configuration file where you can choose which mobs spawn where be much simpler than different versions?

    This post has been edited 1 time. It was last edited by enenra Aug 11, 2011.
  9. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @enenra Probably so, which would come under the "make everything configurable". Right now, you can set the chances for everything else to spawn to 0, and it turns everything else off. The only reason to make a separate plugin is obviously the smaller plugin size. If he -just- wants zombie pigmen, then it is actually better to remove everything else, and JUST have the zombie pigmen spawning because then there are never any checks for other worlds, or unnecessary math being done to determine the spawn chance.
  10. Offline

    enenra

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Yes, but it also means a lot more development and support work. There'll be other people asking different mobs to be in separate plugins each, requiring even more splitting up etc. Plus it would clutter the plugin listing even more.

    I'd advise against it but ultimately it's your decision. ^^
  11. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @enenra I understand, and thanks for trying to talk me out of it. I think for now, this is the only one I am doing. Hopefully my future configs will make things easier, and these won't be needed.
  12. Offline

    Zarius

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Looks great, will be checking this one out :)
  13. Offline

    kahlilnc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Its heavier.
  14. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Alright well, I have the ability to turn off certain mobs in specific worlds now. I'll wait for at least the submission to go through before updating. I also hope to have at least hellhounds in the next version too, if not the winter wolves as well.

    Only problem as far as winter wolves go. I don't know how to give the players feedback that a wolf they are looking at from a distance is a hostile winter wolf in the normal world. In the skylands winter wolves would be the only ones you would find. But that isn't the case in the normal world, since normal wolves would still exist.
  15. Offline

    BioRage

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This looks great! Good work.
  16. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Update:
    I've updated the plugin, and now multiworld support is in, and advanced wolves are in. Those who downloaded the plugin before, deleting the old config.yml is recommended but not required. Default settings will still be in place for advanced wolf spawns even without entries in the config.yml. However, the loot tables will be empty if not set in the config.yml.
  17. Offline

    skeletonofchaos

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Great plugin very cool
  18. Offline

    Cookies326

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Could you change the DL link? My country blocked Megaupload.
    kibbles4everyone likes this.
  19. Offline

    RisingIXA

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Same ):
    kibbles4everyone likes this.
  20. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @Cookies326 and @RisingIXA any upload places you would suggest? I can definitely do that, I'm just not all that familiar with very many places to upload files to that aren't going to charge me.

    Oh, as a teaser, I'm working on some of the bugs mostly right now, I discovered a few that aren't very apparent when it runs but may impact server performance if it runs for a really long time.

    Also, next patch will have tamable persistent hellhounds and winterwolves. When you tame one of them, they will come back after a server restart as a special wolf still. I won't be putting this on all of them though, only tamable ones.

    I am also hoping to have SOME solution for the aether ghasts pretty soon. I can't seem to catch the fireballs mid flight. If anyone knows how, I'd be forever in your debt. Even just turning off their fire effect would satisfy what I want to do.

    But mostly this next version is going to interface with another plugin I am working on, AnimalCompanion. (I hope that name isn't taken...) It will be all about wolves, leveling them, controlling them, having them respawn, be immune to damage types, naming them, etc. The tamable winterwolves and hellhounds will work with the new plugin.

    This post has been edited 2 times. It was last edited by TheTennessee Aug 13, 2011.
  21. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Alright, all updated. I finally did something with the skylands ghasts, so now they have a different attack type too. Their fireballs still have a flame effect though. Even after managing to somehow catch fireballs, I was unable to turn their flame effects off. So... for now I'm just going to have to deal with it. It makes a much stronger case for spout though.

    Also, all special wolves are now tamable. Simply punch them with a raw porkchop to calm them down by feeding it to them, and then tame them with a bone like normal. The porkchop will only last a few seconds though, so act fast.

    Finally, I decided to make this last part a surprise. There's a special wolf type that is found somewhere in the normal world. Find it, and you can tame it, but it also gives great loot. Look for wild wolves that are sitting. They may look passive, but they are mean if you get close.

    Also, it looks like I am running out of things to do except for try to make the adventurer's. At this rate I won't have planned features for long. Please give any suggestions you have and I'll try to work them in. Until then, look out for "AnimalCompanion" a new tamed wolf mod. I will be working on that soon, and it will also give some great uses for your special wolves.

    Oh, P.S. The config changed slightly, making NetherSlimeIgnite an integer instead of a boolean. Change it to about 20 in your configs, otherwise you shouldn't need to remake a config.

    This post has been edited 1 time. It was last edited by TheTennessee Aug 14, 2011.
  22. Offline

    fonkfader

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    great plugin but TNT drop by Giants make error with logblock 1.25 :

    [SEVERE] Could not pass event ENTITY_EXPLODE to LogBlock
    java.lang.NullPointerException
    at de.diddiz.LogBlock.LBEntityListener.onEntityExplode(LBEntityListener.java:50)
    at org.bukkit.plugin.java.JavaPluginLoader$62.execute(JavaPluginLoader.java:677)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
    at net.minecraft.server.Explosion.a(Explosion.java:195)
    at net.minecraft.server.World.createExplosion(World.java:1481)
    at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:145)
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:420)
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:428)
    at org.bukkit.craftbukkit.CraftWorld.createExplosion(CraftWorld.java:424)
    at com.bukkit.tennessee.AdvancedMobs.AdvancedMobsEntityListener.onExplosionPrime(AdvancedMobsEntityListener.java:677)
    at org.bukkit.plugin.java.JavaPluginLoader$63.execute(JavaPluginLoader.java:684)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:338)
    at net.minecraft.server.EntityTNTPrimed.explode(EntityTNTPrimed.java:84)
    at net.minecraft.server.EntityTNTPrimed.m_(EntityTNTPrimed.java:66)
    at net.minecraft.server.World.entityJoinedWorld(World.java:1212)
    at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:48)
    at net.minecraft.server.World.playerJoinedWorld(World.java:1194)
    at net.minecraft.server.World.cleanUp(World.java:1110)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:450)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:363)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
  23. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I can only parse up to the part where my plugin ends, but that section is a 0 radius explosion I call in order to get the explosion effect you hear and see. Since I am canceling the TNT's explosion in order to not deal terrain damage, I have to use a dummy explosion to simulate the TNT exploding.

    Send this line to the creator of LogBlock. It seems like he's not handling dummy explosions and is still trying to reference something like the e.getEntity() that caused the explosion, which in this snippet of code there obviously isn't one. Tell him to check for if(e.getEntity() == null) before he tries to use the entity's id.

    Code:
    this_world.createExplosion(explodingEntity.getLocation(), (float) 0.0);
    Also, less likely, since that is the line that is referenced in the error code you gave me, but it COULD be possible that he's trying to get the TNT entity when I've already deleted it. Possible, but unlikely with the log you've given.

    Nevermind, no, it's not possible. The lines above it confirm it's the createExplosion call. You need to make a post in his thread for a fix to this.

    This post has been edited 2 times. It was last edited by TheTennessee Aug 14, 2011.
  24. Offline

    fonkfader

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    ok thanks for the answer.
  25. Offline

    GarretSidzaka

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    this looks really cool bro :)
  26. Offline

    Dec64

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    very cool plugin, possible in the future to hook into worldguard regions and define spawning for the new mob types only in the regions you define?
  27. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    It's a possibility, but it will be after full multiworld support as well as the rest of the mob variants. Gonna be honest, if we're doing this, then setting variant spawners would be good too.

    This post has been edited 1 time. It was last edited by TheTennessee Aug 15, 2011.
  28. Offline

    AndyFox42

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This looks really cool. I run a server that has all 3 worlds (normal, nether, skylands) and plan to implement it later today.

    If you need a "demonstration" world for people to see it in action, I'd be happy to volunteer. My server is very active, robust (can handle up to 76 at a time) and sees lots of players. We're a featured server on MC Overhaul and were in the top 50 on minestatus until I moved the server to new hosting yesterday and our votes got reset.
  29. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Oh, very cool! I see your server there. I'll have to hop on and check it out once you get the mod installed. I do have to wonder how it works on other servers. My server is small, and just for me and my friends. That's where I test all my plugins, but it could only handle about 10 people on at a time probably. It's just a laptop. The advantage is, I get to test on a server that can't handle much, so I know if my plugin causes any lag. The downside is, I get a very small test sample to work with.

    Also, if you are wanting to make a demonstration video or something, that would be fine by me. I'll put it in the post along with your name if that's what you are wanting to do.
  30. Offline

    theloststory45

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    im sorry if i sound like a idiot but im going off what i just read i havent installed yet.
    Is it possible to make these new mobs spawn in mob spawners? im looking to make dungeons and needed some new mobs these look EPIC if i could either use commands to spawn em(smob plugin) or spawners(mbox plugin)id defintly install it.
  31. Offline

    TheTennessee

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Actually no. Sorry to disappoint, but these only change the mobs that spawn naturally in the world. Notably, for certain world specific mobs, they always act a certain way, like zombies in the nether will always be immune to fire. Wolves in the skylands will always be winter wolves, etc.

Share This Page