Inactive [RPG/MISC] BetterLeveling v1.1 - Makes Player Levels Useful [1.4.5-R0.3]

Discussion in 'Inactive/Unsupported Plugins' started by monstuhs, Apr 16, 2012.

     
  1. Offline

    monstuhs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    BetterLeveling - Make Minecraft player levels useful
    Version: v1.0
    Author: monstuhs

    Resurrected this plugin from the grave. I spent all my time tonight fixing maven dependencies issues so I only had time to compile and ever-so-gently smoke test this with 1.4.5. No clue where I was at with this when I left off so please let me know if you find any bugs.

    BetterLeveling allows you to factor in vanilla Minecraft level to various activities. This uses the vanilla level mechanics so it doesn't rely on it's own built-in leveling system such as mcMMO

    Features:
    • Additional health regeneration per level
    • Chance to crit on attack based on your level
    • Chance to dodge when attacked based on your level
    • Chance to double-drop ore's when mined based on your level
    • Chance to instabreak certain blocks based on your level
    • Can configure the amount of XP lost and dropped on player death
    • Everything is configurable!
    Download BetterLeveling
    View the Source Code

    Configuration
    Code:
    settings:
      WorldName: world
      combat:
        PercentageDamageFromDodge: 75
        PercentageDamageFromCrit: 200
        PercentageDamageFromHeadshot: 200
        MaximumChanceForCrit: 75.0
        MaximumChanceForDodge: 75.0
      death:
        PercentageOfXPDropped: 100
        PercentageOfXPRetained: 0
    activity:
      mining:
        PercentageChancePerLevelToDoubleDrop: 1.0
        PercentageChancePerLevelToInstaBreak: 1.0
      combat:
        PercentageChancePerLevelToDodge: 2.0
        PercentageChancePerLevelToCrit: 2.0
      passive:
        regeneration:
          RegenIntervalInSeconds: 20
          HalfheartsPerLevel: 0.5
    localization:
      stats:
        ChanceToCrit: Chance To Crit
        ChanceToDodge: Chance To Dodge
        ChanceToDoubleDrop: Chance To Double-Drop
        ChanceToInstaBreak: Chance To Insta-Break
        ExtraRegenPerSecond: Extra Regen Per Second
      combat:
        CriticalHit: Critical Hit!
        Dodge: Dodge!
        HeadShot: Headshot!
    Changelog:

    Version 1.1
    * Made "ChanceToDoubleDrop" and "ChanceToInstaBreak" double precision (meaning you can do 0.42 or 3.14159) if you want.

    Version 1.0
    * Updated to 1.4.5 R0.3


    [IMG]


    Version 0.6 & 0.6.2
    * Insta-break no longer works on blocks connected to things like levers, buttons, doors, etc.
    * Insta-break only works when you are using the appropriate tool (spade for dirt/grass/sand/etc, pick for ore/stone/cobble/etc and axe for wood/logs/etc)
    * Configurable percentage of XP retained on death (default 0%)
    * Configurable percentage of player XP dropped on death (default 100%)
    * All player messages are configurable (which allows localization). You can set the messages in the configuration file (default messages are US English)
    * The "/stats" command now shows the maximum values for crit and dodge chance
    * Changed the "percentage per level" for crit and dodge to be double precision so you can use values like "0.42" or "4.20" or whatever your little heart desires
    * Critical Hit, Dodge, and Headshot messages sent to players can be turned off by specifying '' or "" in the corresponding localization node.

    Version 0.5
    * Updated to bukkit 1.2.5 R3.0
    * Fixed bug where setting chance to instabreak to 0 didn't always work (I'm going to add an on/off configuration setting in the next version)
    * Instabreak only works on Ore blocks now (I plan to make this configurable in the next version)
    * Fixed "ConcurrentModificationException" error
    * Fixed "NagAuthor" warning on disable
    * Fixed bug where "/stats" command would ignore server's maximum value for each stat
    * Download link now uses public dropbox

    Version 0.4
    * Added command: "stats" that shows your current stats
    [IMG]

    Version 0.3
    * Added regeneration-per-level support (configurable)
    * (Regen per level * player level) is always rounded down

    Version 0.2
    * Fixed bug where skeletons were attempting to make headshots

    Version 0.1
    * Initial Version

    This post has been edited 30 times. It was last edited by monstuhs Dec 19, 2012.
  2.  
  3. Offline

    kahlilnc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Awesome would be using this if I wasn't using mcmmo
  4. Offline

    Plague

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    approved, edited tags
  5. Offline

    nhoclesnar

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I like these features a lot xD
    Btw how do I disable unwanted features? Do I just set the % to 0?
    I'm hoping to see more health as well.
  6. Offline

    monstuhs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yeah you can set the chance per level to 0. In the next version I'll add a config setting to disable certain features.

    You want more health or faster health regen?
  7. Offline

    TheVnChecker

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    i have an Error for you! =D

    16:24:12 [SEVERE] Could not pass event EntityDamageByEntityEvent to Better Level
    ing
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:303)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:459)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(
    CraftEventFactory.java:360)
    at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEven
    t(CraftEventFactory.java:378)
    at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:608)

    at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:595)
    at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:215)

    at net.minecraft.server.EntityArrow.F_(EntityArrow.java:214)
    at net.minecraft.server.World.entityJoinedWorld(World.java:1264)
    at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:1
    06)
    at net.minecraft.server.World.playerJoinedWorld(World.java:1246)
    at net.minecraft.server.World.tickEntities(World.java:1153)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:542)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.entity.CraftSkel
    eton cannot be cast to org.bukkit.entity.Player
    at me.monstuhs.betterleveling.Managers.CombatManager.getDamageAfterHeads
    hotAttempt(CombatManager.java:77)
    at me.monstuhs.betterleveling.EventHandlers.CombatListeners.onPlayerComb
    at(CombatListeners.java:32)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:301)
    ... 15 more

    i hope you can fix it ;D

    [EDIT] Update-Idea: HigherDeffPerLvl

    This post has been edited 2 times. It was last edited by TheVnChecker Apr 17, 2012.
  8. Offline

    nhoclesnar

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yes sir!
  9. Offline

    Fexul

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I like this plug-in! :D
  10. Offline

    monstuhs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    It's fixed. Skeleton's were trying to get headshots! It checks to make sure the shooter is a player now. Let me now if you have any other issues
  11. Offline

    t0gexdarki

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    i cant download!

    - - - - - - -

    nvm now ok.

    This post has been edited 1 time. It was last edited by t0gexdarki Apr 18, 2012.
  12. Offline

    monstuhs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I'm pretty sure I can do the faster regen. As for more health, I can't actually add more hearts to to GUI, but I can make it so that either it takes more damage for hearts to disappear or there are "invisible" hearts that add to a player's health. What do you think?
  13. Offline

    monstuhs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    LOL, yeah I was right in the middle of uploading the fixed version
  14. Offline

    monstuhs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Thanks! Let me know if you have any suggestions to make it better!
  15. Offline

    WhosDaMan

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Looks great, bookmarked.
    Benjerji likes this.
  16. Offline

    nhoclesnar

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    By 'takes more damage for hearts', are you referring to adding armor points? If so, I think that would be great. If it's not related to armor, it still is great :D

    Since invisible hearts don't make people feel like they have more health, I personally prefer the 'takes more damage for hearts' xD
  17. Offline

    monstuhs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Alright, I added additional health regen based on level. It's completely configurable.

    The default settings are:
    Regeneration occurs every 20 seconds. Players regenerate 0.5 half-hearts per player level.

    Example:
    PlayerA is level 1, he/she does not regenerate at all (it's rounded down, meaning 1 * 0.5 is rounded down to 0)
    PlayerB is level 2, he/she regenerates 1 half-heart every 20 seconds
    PlayerC is level 10, he/she regenerates 5 half-hearts every 20 seconds.

    It's completely configurable so feel free to play around with the config file settings
    RegenIntervalInSeconds: (This is how often health regen occurs) Default 20
    HalfheartsPerLevel: (This is how many half-hearts are regened per player level) Default 0.5




    This post has been edited 1 time. It was last edited by monstuhs Apr 18, 2012.
  18. Offline

    Odai

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    really good idear.

    How about a /stats command that tell us the current values with the level i have?
  19. Offline

    EarthBoundNess

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Um...Download doesn't work I go to the github and there's no download button
  20. Offline

    monstuhs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Click on the button on the right that says "RAW"
  21. Offline

    monstuhs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Good idea! I'll work on that
  22. Offline

    EarthBoundNess

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Thx trying now
  23. Offline

    nhoclesnar

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Is it possible to extend the hunger bar when leveling up?
  24. Offline

    monstuhs

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Done!
  25. Offline

    In_Craft

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Extend the hunger bar when leveling up plz!
  26. Offline

    RyGuy147

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    It needs a configurable "cutoff" point.
  27. Offline

    NotoriousPyro

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I set the insta-break blocks to 0% and it still insta-breaks them from time to time.
    Numosh likes this.
  28. Offline

    Numosh

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yeah me too and honestly it's kinda of annoying.
  29. Offline

    Alxxx

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Right, same error here. It's pretty annoying if you try to open a door and smashes the door, or want to flip a switch but smash the block it is on. :)
    Is there any possibility that the instabreak would just work on ores? That way it will be much more usefull and nobody have to set it on 0% (what obviously doesn't work properly), no offense.
  30. Offline

    bjjones13

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I would like to say that this is probably my favorite plugin for a basic server.
    i usually don't like pve in this game, usually avoid mobs. but this really makes it no so tedious.
    thanks!
  31. Offline

    EvilSpenZer

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Really great plugin mate! :D everyone on my server loves it. Though there is one tiny problem im worried about... if your pickaxe or whatever procs on bedrock.. you remove it :( so you can actually remove bedrock by then creating holes and then using it for griefing :/

Share This Page