Inactive [MECH] MobStats v.5.4.2 - Change the strength of mobs [1.4.6-R0.3]

Discussion in 'Inactive/Unsupported Plugins' started by gamerguy14, Oct 1, 2011.

  1. Offline

    gamerguy14

    [​IMG]
    version: 5.4.2

    MobStats makes the strength of mobs change! The further from the closest origin the mob is, the stronger it is. Mobs at an origin are too weak to survive, but get far enough away and they become so strong that they could kill a player in one shot.

    To set up the plugin, download the .jar and place it in your plugins folder. Start your server to create the config file. Open up the config and configure it. Reload your server. Insure that you have Vault in your plugin folder if you want to use the economy features. Run the command replaceall to make sure all mobs are proper and run it again if you encounter vanilla mobs that shouldn't be vanilla.

    Features:
    • Tells players what level zone they are in.
    • Commands to tell you where you are.
    • Will tell players what zone they are in even after teleporting and respawning.
    • Multi World support.
    • Configure the message for when a player enters a zone.
    • Configure messages sent when a player kills a mob.
    • Players can stop themselves from receiving messages for someone killing a mob.
    • Configure death messages.
    • Choose the origins.
    • Worlds can have more than one origin.
    • Equations to customize the zone size, mob damage, mob health, experience drops, and money.
    • Configure different item drops for different mobs in different zones.
    • Configure a max and min values.
    • Change the arrows that skeletons shoot.
    • Change the equipment that mobs have based on level and a weighted random.
    Commands:
    -zone - Tells the player what zone they are in.
    -ms <on or off> - Turns the messages for when someone kills a mob on and off.
    -replaceall - (for ops and the console only) Checks every entity in the game and replaces them if they aren't the right type to have a level.

    Config:

    NOTE: The level cap has been changed to being integrated with equations.

    message: This is the message that gets sent to a player when the player changes zones. When ever you type "-level" it will be replaced with the level of the zone. Type "false" or leave the area blank to turn off that message. This goes for all messages. Kill Message, and Death Message can also have -mob for the type of mob and -player for the name or the player and Kill Messages can also have -exp for the experience earned and -money for the money earned.

    origins: Type the name of each world to have origins for under the origins section then place a list of origins for each world by listing them with hyphens before each location. Type the

    location in the form of x,y,z or type spawn to be the world's spawn point.

    equations: There are 5 types of equations, zones which are the change in levels based on distance, damage which is the change in damage based on levels, health which is the change in health based on levels, experience or XP which is the change in experience drops based on levels, and Money is to set the amount of money to provide Players with for killing a mob of a certain level. Type what equation is to be set, then type the type of equation (Quadratic, QWD, QMD, Exponential, EWD, EMD). Type make a max area for a maximum value and a min area for a minimum value in each equation, excluding these will set the value to positive and negative infinity respectively.

    Types:
    - Quadratic: Values are a, b, c to be filled in the equation ax^2 + bx + c. Setting a to 0 makes a linear equation, c is the value when x is 0.
    - QWD: A Quadratic but the values for a, b, and c can have a d put next to them to multiply that value by the default value of what is being calculated.
    - QMD: A Quadratic that gets multiplied by the default value of what is being calculated after it has been calculated. Setup the same as a regular quadratic.
    - Exponential: Values ar a, b, c, d, f which are to be filled into a(b^(c(x - d))) + f.
    - EWD: The same as a QWD but using an exponential equation instead.
    - EMD: The same as a QMD but using an exponential equation instead.

    If equations make values too high then it can kill a player but instead of respawning, they go to limbo. They can't be damaged or damage other things.

    drops: Type a name for the drop that can be anything in the list under drops. Put a section in with the name of the drop which has a section for Mobs which is a list of mobs, a Start Zone section for the zone where it starts, an End Zone for the zone where it ends, the Odds which is a fraction to place the Odds for if the item is dropped, and Items which is a list of ItemStacks in the form of (item id(#)),(amount). No mobs will set it for all mobs, no Start Zone defaults to 0, no End Zone defaults to endless, and no odds, no denominator for odds or the numerator is larger than the denominator will default to the drop always being dropped. No items will ignore the drop.

    equipment: Equipment is the same as Drops except their names are listed under equipment. Also, when putting in items, a third number may be placed to say what equipment slot it is supposed to be in. With out a number, it i just placed based on its the order in which it is listed. If ArrowPro is used, the abbreviation of an arrow can be used to set it to a skeleton.

    affected mobs: Type a list of all the mobs that are to be affected by listing them one on top of the other with a hyphen before each mob. Leaving it blank will affect all mobs. By default there is a list of all mobs to be used for a reference. Erasing all these values will have no effect on which mobs are affected.

    Download: MobStats.jar
    Source: MobStatsSource
    ArrowPro: Forums, BukkitDev

    Changelog
    v.5.4.2
    - fixed problem where mobs wouldn't spawn from eggs.
    - removed the mandatory use of Vault.
    - added support for build 1.4.6-R0.3

    v.5.4.1
    - fixed problem where Endermen were replaced with Blazes.

    v.5.4
    - added custom mob equipment to the plugin.
    - changed the way mob names are displayed.
    - added support for build 1.4.5-R0.2

    Show Spoiler
    v.5.3
    - added maximums and minimums to equations.
    - added ability to customize the arrows that skeletons shoot.
    - removed level cap.
    - added support for build 1.3.2-R2.0

    v.5.2
    - added Kill Messages
    - added Death Messages
    - added command to make the plugin check all entities and replace them if it has to.
    - removed delay
    - edited what objects are used for mobs making the game run almost like it's vanilla minecraft with this plugin and increasing compatibility.
    - fixed bug where mobs would disappear before the death animation could finish.
    - added support for build 1.3.2-R0.1

    v.5.1
    - added serialization of stats.
    - added level cap
    - added delay between hits
    - fixed bug where mobs disappear when landing hits too quickly.
    - added support for build 1.3.1-R2.0

    v.5.0
    - added QWD equations
    - added QMD equations
    - added Exponential equations
    - added EWD equations
    - added EMD equations
    - added support for build 1.2.5-R3.0

    v.4.2
    - added support for giving money for killing a mob

    v.4.1.2
    - fixed bug ruining pvp attacks and entity on entity attacks

    v.4.1.1
    - fixed bug where health wasn't changing

    v.4.1
    - added custom drops

    v.4.0
    - changed config
    - added custom equations
    - added custom exp drops
    - fixed mobs not reacting to being hit
    - added support for build 1.2.5-R2.0

    v.3.0.1:
    - fixed config creation bug

    v.3.0
    - added the ability to change the origin
    - added the ability to have multiple origins
    - added the ability to configure all messages
    - added the ability to turn off messages
    - changed the way health is handled
    - removed level 0 and made level 1 bigger.
    - removed the ability to send ops and the console messages about players changing zones
    - some minor bug fixes
    - added support for build 1597

    v.2.0
    - added configuration file
    - added the configurable ability to message ops when players change zones
    - added the configurable ability to log to the console when a player changes zones.
    - made message configurable
    - made the size of each zone configurable

    v.1.1.2
    - added support for build 1337

    v.1.1.1
    - added support for build 1317

    v.1.1
    - added support for build 1240

    v.1.0
    - The first release of the plugin.
     
    nhoclesnar likes this.
  2. Offline

    nhoclesnar

    Hey gamerguy, I'm experiencing a weird bug. You know that when a mob got hit, it flashes red right? During that flashing red period, the mob is invulnerable to damage. That means swords will not do any harm to them, and arrows will bounce off if someone is shooting them. But MobStats seem to change this.

    Any mob that is listed under MobStats configuration will be able to receive damage while flashing red. When this happens, if a player is hitting the mob fast, the mob will receive damage constantly and finally disappear, leaving no loot, no trace behind. I believe it doesn't die, because it doesn't drop anything. It just simple goes invisible or disappears. Plus, you don't have to kill the mob to make it disappear. For example, if a mob has 100 hp, and I hit him rapidly, he will disappear at around 50/100 hp. Can you please fix this annoying bug? I want to help but I'm super new to java so even if I look at the code I won't understand.
     
  3. Offline

    gamerguy14

    I did not know that this was happening. It makes sense because when a mob gets damaged, I set the damage to 0 which is what was stopping the mobs from reacting when being hit. I then started calling the effect EntityEffect.HURT on the mobs which doesn't actually hurt the mob, it only plays the effect.
     
  4. Offline

    nhoclesnar

    I'm glad you found the problem. Please fix it in the next release :)
     
  5. Offline

    gamerguy14

    I know the problem but fixing it can be another story.
     
  6. Offline

    bradleydawg

    I can't possible thank you enough for this. This will be PERFECT for my rpg server, and make it complete.
    But i have a few questions. In the config, what is:
    Start Zone: 20

    End Zone: 30
    used for? Another question. Does this plugin require that a origin is used? Last Question, if second question's answer is no, then can I set the mob level zones, like in the original plugin release?
    *Edit* I also found a bug while testing. Skeletons do the exact same damage no matter what level zone they are in. I went to a level 205 zone and spawned a few different mobs to test the plugin out, and every one killed me instantly (with no armor on) exept for the skeleton. When i was attacked by the skeleton, it only hurt me either one heart or one and a half hearts. I thought this was odd so i went to a level 5 zone and spawned another skeleton. It did the exact same damage as when it was in the 205 zone. I even went to a level 0 zone and the same thing happened a third time. Please keep me updated if this is my fault. thanks
     
  7. Offline

    gamerguy14

    1) I just put a random drop to set in. The Start Zone means the level that the drops start dropping at and the End Zone is the level that the drops stop dropping at. These numbers can be changed at will and it won't cause any problems.

    2) No it is not required. If there is nothing provided then the plugin sets it to the spawn point for all worlds.

    3) Can you please explain what you mean by this.

    The bug is because bukkit doesn't throw an EntityDamagedByEntityEvent for skeletons so I need to find what does get thrown. I haven't looked much in to this because I have been dealing with other features.
     
  8. Offline

    nhoclesnar

    Does the damage cooldown bug get fixed in 5.0? And can you explain a bit about those new equation :p
     
  9. Offline

    gamerguy14

    No fix yet sorry.

    Exponential equations are just another form of equation using the form a(b^(c(x - d))) + f. The values can be fooled around with to get desired results.

    QMD, and EMD stands for Quadratic Multiplied by Defaults and Exponential Multiplied by Defaults, respectively. This uses a Quadratic or an Exponetial then multiplies the whole value for the given x value and then multiplies it by the default value. This means that the QMD with a = 3, b = 8, c = 5 calculating the health for a mob with default health 20 in a zone 10 will have the value of 20(3(10^2) + 8(10) + 5).

    QWD and EWD stands for Quadratic With Defaults and Exponential With Defaults, respectively. This takes a Quadratic or an Exponential but before actually plugging in the x value it will multiply each value by the default value for if in the config there was a d after the value. So using the same situation as the last example but the equation is QWD with values a = 4, b = 0.5d, c = 2d, it will be 4(10^2 ) + (0.5(20))(10) + 2(20).

    I hope that this clears things up for you. Be careful with any exponential equation because they get very big, very fast.
     
  10. Offline

    bradleydawg

    on the third question i meant is there an ability to set a specific area to a cirtain level? like can i create an area for a specific level? i was wondering because i wanted my city to be a level zero so it could be safe, and i didnt want to have to set an origin every other block, so mabey somehow i could just make the whole town level zero by setting positions or something (kind of like how worldedit or Cinema does things). I guess this isnt part of the plugin. Also a suggestion, is it possible to make a mob's level appear above thier head? like have a floating tag above a zombie's head saying "Zombie Lv. 5" or mabey just "Lv. 5"(and mabey making it configureable). hope im not asking for too much
     
  11. Offline

    gamerguy14

    I will try to get the zone selection thing in the plugin. For now though you can try and manipulate the equations to satisfy what you need. The exponential equations increase slowly and first then speed up.
     
  12. Offline

    bradleydawg

    Ok, thanks! Are you saying that the stat's increase isnt constant as levels rise?
     
  13. Offline

    gamerguy14

    No, I am saying that it can be constant if you set it to be. This is done by setting a to 0 in a quadratic. It can be set so that it increases in different ways. This is the point of the exponential equation, it rises slowly at first then rises quickly. Take a graphing calculator or graphing program and experiment with the equations that you can use and see how it increases or decreases and what you would want.
     
  14. Offline

    timmin28

    Hi gamer!

    2 very important fixes:

    - About the the non-existant cooldown for hitting mobs. This guy, coldandtired, has found a way to fix it in his latest pluginversion. Maybe you can have a talk with him :)?

    -Second: High level mobs are not affected by bows. I need to hit a mob with my sword 20 times, but with the bow I only need to hit him 3 times.
     
  15. Offline

    gamerguy14

    I will take a look at the link.

    I figured out how to get it to listen for bows too so that will be fixed in the next build.
     
  16. Offline

    bradleydawg

    Sounds great. Can't wait for update.
     
  17. Offline

    IsaiahRobichaud

    Anyway we can translate everything you said in SmartTalk into English4Noobs?
     
  18. Offline

    nhoclesnar

    What exactly did you not understand? I'm an English-noob too and I don't think it's really hard to understand. Try google translate first, then if it still doesn't make sense I will make it simpler.
     
  19. Offline

    IsaiahRobichaud

    LOL I don't think google translate works with either of these two languages :(
    ???

    equations: There are 5 types of equations, zones which are the change in levels based on distance, damage which is the change in damage based on levels, health which is the change in health based on levels, experience or XP which is the change in experience drops based on levels, and Money is to set the amount of money to provide Players with for killing a mob of a certain level. Type what equation is to be set, then type the type of equation (Quadratic, QWD, QMD, Exponential, EWD, EMD).

    Types:
    - Quadratic: Values are a, b, c to be filled in the equation ax^2 + bx + c. Setting a to 0 makes a linear equation, c is the value when x is 0.
    - QWD: A Quadratic but the values for a, b, and c can have a d put next to them to multiply that value by the default value of what is being calculated.
    - QMD: A Quadratic that gets multiplied by the default value of what is being calculated after it has been calculated. Setup the same as a regular quadratic.
    - Exponential: Values ar a, b, c, d, f which are to be filled into a(b^(c(x - d))) + f.
    - EWD: The same as a QWD but using an exponential equation instead.
    - EMD: The same as a QMD but using an exponential equation instead.
     
  20. Offline

    nhoclesnar

    I think your problem is with the math part, not the English part. I'm not sure how to explain this to you, but I think you should search for those functions on youtube. All I can tell you is that:
    • Quadratic: ax^2 + bx + c, where x is the zone #
    • QWD: same as above, but can have a d value next to them. For example, ax^2 + dbx + c, where d is the default stats of the mobs.
    • QMD: same as quadratic, but it is now (ax^2 + bx + c)d, where d is the default stats of the mobs.
    • Exponential: search on youtube if you don't understand. The most common form of exponential is e^x
    • EWD: same as a QWD but using an exponential equation instead. adx^2 + bx + c
    • EMD: same as a QMD but using an exponential equation instead. (ax^2 + bx + c)d
    Correct me if I'm wrong gamerguy.
     
  21. Offline

    IsaiahRobichaud

    It's as if we're speaking a different language.....I don't understand any of that math how to do it or what it represents :( not much gets into this little guys head D;
     
  22. Offline

    nhoclesnar

    I can't do any better than what I did (I think). Like I said, you should try to find Quadratic Fuction and Exponential Function on Youtube.
     
  23. Offline

    gamerguy14


    That is exactly right.

    I am sorry if anyone can't understand what I am saying. I am first language english so I sometimes speak with a more complex vocabulary. For the math I have been trying my best to dumb it down to make it as easy as possible to understand. I recommend typing the equations into a griping program or a graphing calculator to find what kind of changes each equation can do based on different values.
     
  24. Offline

    timmin28

    Hi gamer!

    Is it hard for you to make the mob's health into hitpoints? I'm running another really cool plugin called "mobs" where you can customize everything about a mob. When I set a mob's health real high, it doesn't work well together with your plugin, they die after only a few hits. I guess the mobstats' health/damage system is based in percent or something?

    I'm certainly not demanding this, but it would be really cool if it is a "quick and easy" fix as both plugins are badass, and I think the two of them together really creates a nice diversity in the mobs (more adventure-like) which I have been missing from Minecraft.
     
  25. Offline

    nhoclesnar

    I don't get what you are saying. Mobs and MobStats clearly conflict with each other. It's impossible to have both plugins play well with each other. If you want the functionality of mobs, stay with it; same for mobstats.
     
  26. Offline

    timmin28


    I don't know if my logic applies to the scripting language, and I don't know if the equations actually increase the hitpoints (same goes for damage) of the mobs or if the player's weapons get more ineffective against high level mobs or some other effect. If the hitpoints increase, then making an exception to certain mobs would maybe be a fix in my eyes. I think the plugin "mobs" deals with custom mobIDs, and if the mobstats could make exceptions on those IDs, it would have been badass. FYI, I'm mostly interested in making custom bosses around the world and custom mob areas.

    If the mob's health is not affected by an increase in hitpoints, then I understand it will probably be a lot more work to make it work with "mobs". That's why I'm asking if it's at all feasible and if it's in Gamer's own interest to change it. I don't know if it maybe would make it more compatible with other plugins too?

    I don't know if you are a coder and can foresee that this is impossible no matter what, but I am not, so that's why I humbly try to get a grasp of how the code works and ask Gamer if it's possible to make it function together with "mobs".
     
  27. Offline

    nhoclesnar

    So, to make it nice and simple, you want, for example, creepers to have 20 health consistently, and zombies to have their health increase depends on which zone it spawns in, right? Plus, it works the same for damage. If so, go with MobStats. Mobs is good when you need to handle the spawn condition and other mobs-related stuffs. Both MobStats and Mobs can give you mobs' diversity, but MobStats only changes the money, exp drop, health, damage continuously, and Mobs can change those plus spawning condition, damage effect, potion effect, blah blah consistently. About the hit point, I have no idea what you are saying. If you don't know how health in minecraft works, take a look at this article.
     
  28. Offline

    timmin28

    I want mobstats to work as it is now affecting all mobs in the world, but also be able to make exceptions for unique mobs created by the "mobs" plugin. Hope this clears up what I want :)

    Config example (autospawnID is taken from the mobs-plugin)

    Affected Mobs:
    - Creeper
    - Skeleton
    - Spider
    - Giant
    - Zombie
    etc.

    Exceptions:
    - AutospawnID: Zombieboss
    - AutospawnID: Graveyardenemies
    - AutospawnID: Mountaincreeperboss
     
  29. Offline

    nhoclesnar

    Now I get what you mean. Well I think it will be really hard to do. You can try letting Mobs overwrite MobStats, that might work.
     
  30. Offline

    timmin28

    Hey guys

    I made a excel-sheet a while ago to calculate the functions I use. Feel free to use it. Let me know if there are any mathematical errors :)

    Edit: wrong link :p

    http://www.sendspace.com/file/ypz6m0
     
  31. Offline

    gamerguy14

    For help with what effects changing values in exponential equations, check this site out. The difference between the link and the plugins equation is that e = b, b = c, c = d, d = f with the link on the left and the plugin on the right.
     

Share This Page