Infernal Mobs
Features:
Mobs will randomly become "infernal", then they will become mini bosses. They get a random amount of random powers, a name tag proclaiming them "infernal", and when they die they will drop random enchanted loot. I saw this mod for Forge made by Atomic Stryker, and thought I would make a version for Bukkit. Most aspects of this mod are configurable.
NOTE: For 1.12.2 and older use version: 5.4, build 5.6 and up are 1.13+
A picture of an Infernal Spider:
A picture of an Infernal Chicken with the boss bar:
Divining Rod:
The divining rod can be used when you are near an infernal mob.
It will take a blaze powder, then point you in the direction of the nearest mob. It will show you a line of particles pointed at the mob.
This rod only works if you are near one of the mobs.
Powers:
- Poisonous: Gives player the poison effect.
- Armoured: Give mobs full diamond armour or a resistance effect.
- Blinding: Gives player the blindness effect.
- Withering: Gives player the withering effect.
- Tosser: Tosses the player around.
- Thief: Steals the item the player is holding.
- Quicksand: Gives player the slowness effect.
- Bullwark: Takes less damage.
- Rust: Damages the tool the player is holding.
- Sapper: Gives player the hunger effect.
- 1up: Has 2 lives.
- Cloaked: Is invisible.
- Ender: Can teleport.
- Ghastly: Shoots fireballs.
- Lifesteal: Gets health from damaging player.
- Sprint: Can go fast.
- Storm: Strikes the player with lightning.
- Webber: Makes a web at the players feet.
- Vengeance: Gives damage from being hit.
- Weakness: Gives player the weakness effect.
- Berserk: Damages the player more, but takes damage from attacking.
- Explode: Explodes on death.
- Potions: Throws harmful potions at the player.
- Mama: Has a slim chance to spawn three babies of its type.
- Molten: Is immune to fire/lava, starts a fire on death and lights the player on fie.
- Archer: Randomly shoots a volley of arrows at player.
- Necromancer: Shoots wither skulls.
- Firework: Fireworks explode from mob when hit.
- Gravity: Levitates the player for a while.
- Flying: Mob can fly.
- Mounted: Riding on another mob.
- Morph: Can infrequently morph into another infernal mob.
- Ghost: On death a ghost is spawned.
- Confusing: Gives player the confusion effect.
Commands:
/im reload
/im worldInfo
/im error
/im getloot <index>
/im setloot <index>
/im giveloot <player> <index>
/im abilities
/im showAbilities
/im setInfernal <time delay>
/im spawn <mob> <ability> <ability>
/im cspawn <mob> <world> <x> <y> <z> <ability> <ability>
/im pspawn <mob> <player> <ability> <ability>
/im kill <size>
/im killall <world>
To use these commands you need the permission: "infernal_mobs.commands"
Installation:
Media:
An animation about an Infernal Zombie:
[MEDIA=youtube]_Z9BclupMoA[/MEDIA]
Incompatibilities:
There have been instances of incompatibilities with other plugins, any plugin that changes mob names or messes with mob spawning may cause some problems. While they may not be game-braking you may see some weird things and some features might not work.
Known incompatible plugins:
- MobArena v0.96.6
- Any plugin (like MCMMO) that uses score-boards may cause lag when combined with IM (if you have IM score-boards enabled).
Upcoming Features:
- IDK, ask and I might add!
- Pre-Defined Custom Mobs?
Problems?
If you have a problem please create a ticket and include the error (If there was one) and a link to a paste-bin of your config.
If you just post the error in the comments section or PM me I might not see it. Thanks.
Brought to You By:
Source Code:
MC Stats:
This plugin sends info on how many servers and players are using this plugin.
If you wish to disable the usage stats, look at /plugins/PluginMetrics/config.yml.
Donate:
If you like my plugins and want to help me out:
--------------------------------------------------------------
YouTube/FaceBook/Twitter
Check out my YouTube for more Minecraft awesomeness:
Keep up to date with my stuffs at my FB page:
My Twitter:
@jacob_vejvoda
Making the source would be very helpful to other users trying to get the information they need to make other plugins compatible or be able to read from it.
As I said, without knowing how you handle naming the mobs, we can't use that method. I had hoped that when you added the custom 'prefix' we would be able to use that, but we were not able to.
I am afraid I am no coder, and I have long removed any programs to open class files from my computer so even cracking open your files to get a good look to try to find what I seek, isn't possible at this time.
Edit
Could you atleast provide me with the information I need to read the name plate off the mob's overhead?? I know it is a configurable prefix right now, and I know that I can change that. But I need to know what you've set in your files for the other plugin to properly read those nameplates over head.
I'm sorry if I'm not asking in a manner that is clear, I really dont' know how to put it so that it makes clear sense or anything. I'm really just kind of the go-between at this point for both plugins trying to get my problem resolved.
@sakura_blades OK, Ill add that.
@sakura_blades Well, let me know what you need and Ill try to do it.
@jacob_vejvoda
I have no idea if I can do that or not, I'm not familiar with such things.. :\
@jacob_vejvoda
Jacob, would you mind letting /im reload work from the console as well as by user?
[15:29:22 WARN]: Unexpected exception while parsing console command "im" org.bukkit.command.CommandException: Unhandled exception executing command 'im' in plugin InfernalMobs v1.9 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) [craftbukkit-dev.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:196) [craftbukkit-dev.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:542) [craftbukkit-dev.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchServerCommand(CraftServer.java:529) [craftbukkit-dev.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.DedicatedServer.aw(DedicatedServer.java:286) [craftbukkit-dev.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:251) [craftbukkit-dev.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit-dev.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit-dev.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit-dev.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at io.hotmail.com.jacob_vejvoda.infernal_mobs.infernal_mobs.onCommand(infernal_mobs.java:858) [?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [craftbukkit-dev.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] ... 8 more
@sakura_blades
Sorry but I don't know how APIs work, is there any way for you to call events from my plugin?
@jacob_vejvoda
I don't even know >.< I am so fed up with fighting with getting this to work with Other Drop I'm tempted to just uninstall it and use OD to create my own mobs...
I need to know either the Mob's Plugin name, so that OtherDrops can read that off the mob's nameplate... 'Cause you know... Any Variation of "Infernal_<mob>" or "Infernal" or "Infernal_" never reads... Which has both myself and OD stumped, so you must use a bunch of color codes or something before your names or whatever.... Either way, that doesn't work!
Okay, so we figured, your Plugin is creating new mobs, so it must be spawning them in some way right? WRONG! Using the CUSTOM from bukkit which would read that the mob is spawned by a plugin doesn't work. So... Can't do that...
Infernals have the same amount of health as the normal mobs do, always.... So we can't use that to determine them different from normal Non-Infernal mobs...
It would be nice, if you put up the source or something, or just put in an API so that other plugins could hook into yours and avoid all this non-sense. The team from OtherDrops spent several hours talking with me and walking me through several ways to try to get your mobs to read through bukkit and therefore their plugin, as a different mob than the normal game.
The way I see if a mob is infernal is when it spawns I add its UUID into an arrayList and when it dies I remove the UUID. Is that what your talking about?
I can tell you anything you need.
@jacob_vejvoda
This is not what I meant at all >.>
How do you (the plugin) spawn the Infernal into the world?
It is not apparently any common or frequent method because using Bukkit's Custom would work in this other plugin I need this information for....
This other plugin needs to find a way to read your plugin from it's connections/interactions with Bukkit.[/i]
Meaning, I need to know what you called them in your code or whatever that this other plugin and bukkit read to tell the difference between your mobs and the default.
So please... I am not stupid.. I know how to use your commands and what your mobs are visually called in-game.
I spent over 24hrs yesterday fighting to figure out what information might've worked from your plugin to use in the other plugin to get them to work together. I am quite frustrated with this, and annoyed.
I need information from inside to know what the other plugin is reading/looking for!
You spawn an infernal with /im spawn mob. To determine the Infernal Mobs from a Normal Mobs just check if their name includes the tag you define in the config (default is Infernal).
I uploaded 1.9 and it should be approved in a few days.
How do you go about spawning Infernal's into the world? D:
I'm trying my best to use your plugin with another one, but to do that we need some way to determine the Infernal Mob from a Normal Mob.
Is there anything you can give me, to help me out?
OtherDrops Seems to think that they require an API to hook into to be able to configure certain settings about the mobs of your plugin.
Would you be willing to add an API to this plugin for such purposes and more please?
@jacob_vejvoda
So I have installed a plugin called OtherDrops and I plan to use it to handle InfernalMobs custom payouts on server for my economy, however I am unsure if Infernal Mobs as an API or not to hook into and with using OtherDrops I am able to set it up using custom mob names.
I am hoping that this is possible? As I don't exactly want players just renaming mobs to cheat this system I have planned.
I apologize I am still rather unfamiliar with OtherDrops and Infernal Mobs as I have just started using both within the past day or two, and I am hoping that they will work side by side in what I hope to accomplish. Though with that being said I am unsure exactly how to accomplish what I am trying to do.
Ok, some ability customization, and some more loot customization.
Also too make drops more common add them multiple times in the list.
Is it possible to add custom names, lore and damage output on items they drop?
Say I want a sword "Excalibur" with enchantment "Fire" that deals +8 Damage with lore "The sword of the Righteous".
Is that possible?
Also, is it possible to determine which loot item is more common than another?
@t3f
I agree that this might be nice, I get completely obliterated often by the strength of some of the Infernals. It's amusing at first but it get tiring.. :
\ Being able to configure perhaps abilities like "mama".
@jacob_vejvoda
Thank you kindly!
Can we get some adjustability to the strength of some of these effects? For instance Vengeance, players have gotten one shot trying to kill mobs when they have a enchanted bow and i've had to disable it.
@sakura_blades
Ill try to add name tag customization, and Ill look into the abilities changing and particles.
So taming an Infernal wolf just as you'd tame a normal wolf, their abilities are subject to change?
I spawned in a wolf with the abilities (Bulwark, Fire, Blinding) and stepped away for a few hours. I come back (not even relogged) and now this wolf except for his collar is invisible?
I had the same sort of thing happen earlier today, my Wolf of the same powers except Blinding -> Theif wound up with lightning I guess? I got reports that where I was standing had gone up in flames (I was AFK and in Creative) due to a player trying to kill my Infernal Wolf I had spawned and tamed.
Fire Particles seem buggy?
When an Infernal teleports or dies, their particles are left behind. Leading players and myself to believe that the Infernal is there but invisible. I had tried shooting and hitting the space where the particles where, but I was unable to hit anything and walked right through them without them budging.
Would it be possible to add a configuration setting to change the color of the Display names?
I'd like to able to make Infernal Mobs name tags Red >:D
Get 1.8 to fix this.