Inactive Jobs v2.0.1 - Jobs plugin for Minecraft (iConomy 4/5 & BOSEconomy, Permissions) [860]

Discussion in 'Inactive/Unsupported Plugins' started by flametornado, Apr 17, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    flametornado

    NOTE: THIS PLUGIN IS NO LONGER BEING DEVELOPED \ SUPPORTED BY ME.

    phrstbrn HAS TAKEN UP THE DEVELOPMENT \ SUPPORT AND ALL QUERIES SHOULD GO TO HIM ON HIS POST. (http://forums.bukkit.org/threads/ec...t-935-iconomy-5-boseconomy-permissions.23429/)


    Jobs - The Job plugin for Minecraft:
    Version: 2.0.1

    Requires:
    • iConomy 4/5 / BOSEconomy
    Optional

    • Stats and Achievements
    • Permissions
    • MySQL
    A fully configurable plugin that allows you to get paid for breaking, placing and killing. Class based (experience increases as you perform your job).


    NOTE: Please read the comments in the configuration file thoroughly and check the console errors before posting here for help.

    [fire]IMPORTANT [fire]: If you want to upload your config for help, please do so using the forum's upload functionality.

    If you like this plugin, please donate.

    [​IMG]

    Video



    Thanks Samkio for the plugin tutorial video.

    Downloads
    Previous Versions (open)



    Features:
    • Create your own custom jobs and choose what they get paid for and how much.
    • Leveling mechanic where higher level jobs will give higher incomes. Income earnt = experience gained.
    • Equation determining maximum experience, experience gained and income gained is customizable.
    • Customizable skill levels in the game to mark leveling milestones (fully customizable in the configuration file).
    • Your profession and skill level is part of your display name and whenever you talk everyone will know what you do and how good you are. (optional)
    • Stats of your maximum level in a job is saved if you have the stats and achievements plugin. ( for bragging rights) (optional)
    • Does periodic saving and save on player exiting the server.
    • Leaving a job resets your job level and experience to 0.
    • Permissions support.
    • Admin commands work even when the players are offline.
    Source:


    I made a sourceforge account for this. It will allow you to report bugs and feature requests. It'll help me a lot to make sense of this.

    The link is https://sourceforge.net/projects/flametornadjobs/.

    Some rules before you go there:
    1. Please look through the bugs that have already been reported to see if someone else has already reported that bug. If you have any extra information, post it on the bug's comments. The more information I have, the easier it is for me to fix it and test it.
    2. Same as above for feature requests.


    Commands:
    Code:
    Player:
    /jobs browse -  View a list of the available jobs.
    /jobs join [job name] - Join the job.
    /jobs leave [job name] - Leave the job.
    /jobs info [job name] [break, place, kill] - view information about that job.
    /jobs stats - view your job level and experience needed to level up.
    
    Admins:
    /jobs fire [playername] [job] - fire the player from the specified job.
    /jobs employ [playername] [job] - employ the player into the specified job.
    /jobs promote [playername] [job] [levels] - promote the player in their job X levels.
    /jobs demote [playername] [job] [levels] - demote the player in their job X levels.
    /jobs grantxp [playername] [job] [experience] - grant the player X experience in the selected job.
    /jobs removexp [playername] [job] [experience] - remove X experience from the player in the selected job.
    /jobs transfer [playername] [oldjob] [newjob] - transfer the player's job (keeps levels and experience)
    
    NOTE: All job names are case sensitive.
    
    Permissions Nodes:
    Code:
    jobs.join.<jobname> - allows the group to join the job. Where <jobname> is replaced with the job name (e.g. jobs.join.Woodcutter or jobs.join.* to join all jobs).
    jobs.world.<worldname> - allows players to get paid on selected world.
    
    jobs.admin.fire - enables the fire admin command.
    jobs.admin.employ - enables the employ admin command.
    jobs.admin.promote - enables the promote admin command.
    jobs.admin.demote - enables the demote admin command.
    jobs.admin.grantxp - enables the grant experience admin command.
    jobs.admin.removexp - enables the remove experience admin command.
    jobs.admin.transfer - enables the transfer admin command.
    Changelog:

    Version 2.0.2 WIP
    • Added more parameters to job level up (jobname, jobcolour, titlename, titlecolour, playername, playerdisplayname, joblevel)
    • Fixed promote and demote to correctly change the max exp.
    • job names are no longer case sensitive.
    • Changed the saving mechanism to be synchronous instead of asynchronous (may help with people losing jobs)
    • added config option of enable-pay-near-spawner in general config.
    • Fixed some NPE
    • Wolves killing things gives the player money and experience.
    • Fixed empty tags not resulting in errors.
    • fixed mysql password is all numbers.
    • fixed honorific error
    NOTE: This version is stable, but not fully tested. I will not release this version fully until i track down the jobs vanishing bug and destroy it for all the hassle it has cause me :p


    Version 2.0.1
    • Small bugfixes
    • Moved where the update stats command is called so it won't break anything if there's an error in it. Should also improve performance slightly
    • made the enabling of the stats and achievements plugin optional (configuration parameter in general settings
    • ChatColour can now be in any case and it'll still work.
    Version 2.o.0

    • Multiple jobs
    • Exposed equations
    • More customization
    • Can specify sub-class
    • Can specify job class kills.
    • Messages are customizable.
    • Kills with arrows works
    • Admin commands (work offline too)
    • Can disable payout on certain worlds (mainly for creative servers).
    • Can limit the number of jobs a player can have
    • Can limit the number of people that can have a certain job per server.
    • Better console error messages.
    • Plugin disables itself properly.
    Changelog (open)



    Version 1.3.3b and 1.3.2b
    • Killing works properly now. Drops seem to have gone back to normal levels and you can kill stuff and get paid for it all the time.
    • 1.3.3b is for iConomy 5 AND ONLY iConomy 5
    • 1.3.2b is for before iConomy 5 AND ONLY before iConomy 5
    Version 1.3.3

    • iConomy 5 support.
    Version 1.3.2

    • Removed annoying spam message which was for debugging and i forgot in for 1.3.1
    • Changed experience to be a double so people get experience for things less than 1. Saving mechanism still saves using integers, it would create waaaay too much fuss to change this since the database schema would need to be changed for everyone that used this plugin and it would render all previous saves incompatible. This seems like a decent compromise. People will lose a maximum of .99 exp when they log out.
    • Better method for checking when an animal's dead, should fix the weird animation problem and the lack of drops some people have been experiencing.
    Version 1.3.1

    • Killing near mob spawners will not give you money anymore.
    • Displays payment amount when you do /jobs info for killing now too.
    • Changed way that you create kill tags incode. Results in the system crashing and the plugin not being enabled if you got the wrong name (e.g. capitals or misspelt name)
    Version 1.3.0

    • Killing stuff should work now. This section is not as thoroughly tested, but should work fine.
    • No jobs have been made with killing stuff, you're on your own with the configuration for a while but the template section has been updated, it follows the same pattern as break and place.
    Version 1.2.3 - Bugfix update

    • changed priority to make sure it gets run last (to make the following points work properly)
    • checks if you can place a block or if the event is canceled by another plugin. Done to avoid people getting rick very easily by placing blocks in areas they are not allowed.
    • Fix for players not getting removed properly in the onDisable function which results in weird names when people reload their plugins.
    Version 1.2.2

    • The titles will now take into account any previous modifications to your display name by another plugin and simply tack on the title at the front (and when you change jobs, strip it from your title and tack a new title at the front).
    Version 1.2.1

    • Base experience is now configurable
    • experience multiplier is not configurable (for those who want lower economies). If you want to give 0.2 of your currency to per item, then set the multiplier to 10.
    Version 1.2.0

    • A little code cleanup.
    • Permissions support
    • customizable flat rate pay
    • customizable skill titles.
    Version 1.1.2

    • Cleaned up sql commands more to make them more specific and avoid errors as much as possible. Hard to test this since neither my testing server and my proper server have any problems seen by other people.
    • Fixed the system to work with /reloadall command. The experience was still being saved, you just needed to log out. I didn't even know that this command existed, so i never thought i'd have the plugin enable with people in the server. It now takes that into account and online users will not need to log out to see their stats and work on their jobs.
    Version 1.1.1 [fire] RECOMMENDED [fire]

    • Cleaned up SQL commands to be more exact, should result in less errors.
    • New configuration for what kind of prefix to add to the username (job, skill level, both or none).
    • New configuration to toggle the option of broadcasting messages when users reach the next skill level.
    • [Stats & Achievements] - further integration, this plugin now also adds the iConomy money amount to the stats table. (will always be 1 block behind)
    • URGENT FIX - tables were not getting cleared and players ended up having multiple jobs with multiple levels instead of one job and one set of levels. Code written to auto correct this.
    Version 1.1.0

    • Added BOSEconomy integration. This should be automatically detected.
    • Added flatfile functionality for server admins who don't want to use mysql.
    • EXPERIMENTAL : Added sqlite functionality, I sadly couldn't get sqlite to work properly on my testing machine so i haven't tested it. It should work though.
    Version 1.0.1

    • Small fix on /jobs stats command. It now rounds off the two decimal places and is less annoying to look at when it gives you the price for placing/destroying a block
    Version 1.0

    • Initial build, spent the weekend on it, pretty satisfied with it, added all mentioned functionality.
    [\SPOILER]

    TODO:



    See sourceforge for requested features and bugs.
     
  2. Offline

    DaddyCool64

    I can't find the error in my config, help please:
    Code:
    2011-05-19 02:39:41 [SEVERE] java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    2011-05-19 02:39:41 [SEVERE]  at me.alex.jobs.Jobs.onEnable(Jobs.java:111)
    2011-05-19 02:39:41 [SEVERE]  at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
    2011-05-19 02:39:41 [SEVERE]  at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:676)
    2011-05-19 02:39:41 [SEVERE]  at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:249)
    2011-05-19 02:39:41 [SEVERE]  at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:131)
    2011-05-19 02:39:41 [SEVERE]  at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:109)
    2011-05-19 02:39:41 [SEVERE]  at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
    2011-05-19 02:39:41 [SEVERE]  at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
    2011-05-19 02:39:41 [SEVERE]  at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
    2011-05-19 02:39:41 [SEVERE]  at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
    2011-05-19 02:39:41 [SEVERE]  at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    2011-05-19 02:39:41 [INFO] Jobs 1.3.3b not started, there's an error with the configuration
    My configuration.yml:
    Code:
    # storage method, can be MySQL, sqlite, flatfile
    storage-method: MySQL
    # Requires Mysql.
    mysql-username: c1bukkit
    mysql-password: ******
    mysql-database: c1bukkit
    mysql-url: jdbc:mysql://localhost:3306/
    sqlite-url: jdbc:sqlite:test.db
    # base experience needed to level up from level 1 to 2
    # experience to level up is base-exp*(1+levelingProgressionRate)^level
    base-exp: 100
    # mutiplier for xp. xp-multiplyer*jobPay = experience
    xp-multiplyer: 1.0
    # choose the prefix in chat- full = job and skill level, skill = skill level only,
    # job = job level only, none = no prefix
    chat-display: full
    # choose to broadcast when the user goes up a skill rank to everyone
    broadcast-skill-up: true
    # How often in minutes you want it to save, 0 disables periodic saving and 
    # the system will only save on logout
    save-period: 10
    # money you get paid for any block placed or destroyed not in the list for your job
    flat-rate-payout: 0.0
    # Create Jobs
    # All jobs must follow this framework, <...> means optional
    #
    # Jobs:
    #     [NAME]
    #         ChatColour: [COLOUR]
    #         levelingProgressionRate: [double]
    #         incomeProgressionRate: [double]
    #         Break:
    #             <object_name: [price]>
    #             ...
    #             <object_name: [price]>
    #         Place:
    #             <object_name: [price]>
    #             ...
    #             <object_name: [price]>
    #         Kill:
    #             <creature_name: [price]>
    #             ...
    #             <creature_name: [price]>
    #
    # * In the break section they users will be given or subtracted money on breaking the object.
    # * In the place section they users will be given or subtracted money on placing the object.
    # * In the kill section they users will be given or subtracted money on killing a creature.
    # * levelingProgressionRate is the rate at which the experience required to get to the next
    # level increases between levels.
    # * incomeProgressionRate is the rate at which the money gained per item.
    # * ChatColour is the colour of the title.
    #
    # NOTE: the object name must be exactly what the material is in the code. e.g:
    # cobblestone      -> COBBLESTONE
    # diamond ore      -> DIAMOND_ORE
    # tree trunks(any) -> LOG
    # wooden boards    -> WOOD
    #
    Jobs:
        Foerster:
            ChatColour: GREEN
            levelingProgressionRate: 0.20
            incomeProgressionRate: 0.01
            Break:
                LOG: 1.0
            Place:
                SAPLING: 1.0
                WOOD: 1.0
        Miner:
            ChatColour: DARK_GRAY
            levelingProgressionRate: 0.20
            incomeProgressionRate: 0.01
            Break:
                STONE: 0.5
                COAL_ORE: 1.0
                REDSTONE_ORE: 1.0
                GLOWING_REDSTONE_ORE: 1.0
                IRON_ORE: 1.0
                GOLD_ORE: 1.0
                LAPIS_ORE: 1.0
                MOSSY_COBBLESTONE: 5.0
                DIAMOND_ORE: 2.0
                OBSIDIAN: 2.5
            Place:
                RAILS: 0.5
                IRON_ORE: -3.0
                GOLD_ORE: -3.0
        Maurer:
            ChatColour: WHITE
            levelingProgressionRate: 0.20
            incomeProgressionRate: 0.01
            Place:
                COBBLESTONE: 1.0
                STONE: 2.0
                GLASS: 2.5
                BRICK: 3.5
                DOUBLE_STEP: 1.5
                STEP: 1.5
                WOOD_STAIRS: 1.5
                FENCE: 1.0
        Bauer:
            ChatColour: YELLOW
            levelingProgressionRate: 0.20
            incomeProgressionRate: 0.01
            Break:
                CROPS: 1.0
                CACTUS: 1.0
                YELLOW_FLOWER: 1.0
                RED_ROSE: 1.0
                BROWN_MUSHROOM: 1.0
                RED_MUSHROOM: 1.0
                WHEAT: 1.0
            Place:
                CROPS: -1.0
                CACTUS: -1.0
                YELLOW_FLOWER: -1.0
                RED_ROSE: -1.0
                BROWN_MUSHROOM: -1.0
                RED_MUSHROOM: -1.0
                SEEDS: 1.0
        Jaeger:
            ChatColour: RED
            levelingProgressionRate: 0.20
            incomeProgressionRate: 0.01
            Kill:
                CHICKEN: 0.5
                COW: 0.5
                PIG: 0.5
                SHEEP: 0.5
                WOLF: -5.0
                CREEPER: 1.0
                GIANT: 2.5
                SKELETON: 2.0
                SPIDER: 1.0
                ZOMBIE: 1.5
                PIGZOMBIE: 2.5
                SQUID: 1.5
                GHAST: 2.5
                PLAYER: -50.0
                SLIME: 1.0
    # Create titles
    # to create a title, they must follow this patter.
    # Titles:
    #     [Title Name]:
    #         ChatColour: [ChatColor]
    #         levelReq : [Integer]
    #
    # NOTE: levelReq must be the lowest level you can be to gain this title. It is recommended
    # but not neccessary to have a title at 0.
    Titles:
        Azubi:
            ChatColour: BLACK
            levelReq: 0
        Junggeselle:
            ChatColour: GRAY
            levelReq: 30
        Geselle:
            ChatColour: WHITE
            levelReq: 60
        Meister:
            ChatColour: GOLD
            levelReq: 90
     
  3. Offline

    thefoxeur

    Hello,

    I use 2.0.0 WIP now , and all player can use /jobs join , but I want to control the jobs employ.

    I have Permission , and I have put no Jobs permission on it.

    Thx
     
  4. Offline

    flametornado

    did you server console say that jobs was linked with permissions?

    edit: wait i tried reproducing this and got the same result. I will fix it soon. Sorry
    edit2: i found the error and fixed it. Sorry. Thanks for finding that for me :D
     
  5. Offline

    EliteSoldier

    Great, but what about a chat listener ? That shitty notepad gives me some poems, not sentences like in that video when creating jobs, etc... Please tell me how whenever you can. Iff i change something there, it gives errors in console... With chat listener i think that won't happen?
     
  6. Offline

    flametornado

    chat listener?
     
  7. Offline

    LanToaster

    WIP version FeedBack:
    A Setting to limit the Jobs to One would be Cool. Also
    "Placing Seeds"
    And
    "Breaking Wheat"
    Doesnt Work.
     
  8. Offline

    ConsoleView

    Code:
    2011-05-19 19:45:20 [SEVERE] Could not pass event BLOCK_PLACE to Jobs
    java.lang.NullPointerException
        at me.alex.jobs.listener.JobsBlockPaymentListener.onBlockPlace(JobsBlockPaymentListener.java:26)
        at org.bukkit.plugin.java.JavaPluginLoader$26.execute(JavaPluginLoader.java:384)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:289)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:84)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:68)
        at net.minecraft.server.ItemBlock.a(ItemBlock.java:74)
        at net.minecraft.server.ItemStack.placeItem(ItemStack.java:56)
        at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:217)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:526)
        at net.minecraft.server.Packet15Place.a(SourceFile:57)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:196)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:372)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:287)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    
    This is my error can you help me?
     
  9. Offline

    shadyre

    dead link ?
     
  10. Offline

    Cydox Master

    Which permisson I have to add?
    Only for Users not for Admin?

    Because /jobs is not running jobs. I have Version 2.0

    In WIP Version /job dont work

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

    Tealk

  12. Offline

    drats666

    not really a problem just a pain. the way windows rendered the config file made adding classes a real pain in the ***. it only showed up right in word >.<, which would mess the file up. i ended up making my own program to make jobs.
     
  13. Offline

    DaddyCool64

    Can anyone help me, please?
     
  14. Offline

    nickrev

    is the /pay command for this plugin? if so it doesnt work..
     
  15. Offline

    MrDylan

    Problem I am having is players cannot see any jobs, and do not have permission to join any job

    My nodes:

    Code:
        - jobs.join.*
        - jobs.job.*
        - jobs.job.Miner
        - jobs.join.Miner
    
    Also making the Player OP does not allow jobs to be viewed, but my Admin group can still view it..
     
  16. Offline

    flametornado

    which link? wip downloads for me.

    i havn't gotten around to doin /jobs in wip yet (still sorting out the commands first) but you shuold try /jobs browse to see if the plugin is enabled.

    no /pay command in this plugin.

    which jobs version are you using? jobs.join.* should work for 2.0 and jobs.job.* should work for previous version.s
     
  17. Offline

    Lakart

    Tried this mod out and it caused horrible horrible lag for some reason...There were no errors so I have nothing to post besides that, but damn I wish I could have kept it.
     
  18. Offline

    Scipione

    interesting, can you descripe this a bit better pls ?
    i'm just having some lag issues aswell, but RAM and CPU load is low, also no errors and currently im trying to track this down.
     
  19. Offline

    Cydox Master

    Every Time I type in /jobs or /jobs browser or /jobs join Miner I get the jobs main menu. why?
    Maybe not MySql connection?
     
  20. Offline

    shadyre

    Yes WIP link work thank, i report that :

    Players havn't any limit for choose job, i have all jobs ...
    Can you fix it with a params ? ( maximum jobs allowed ) ?

    Hum not really a problem but i report that too : On server startup :

    [INFO] [Jobs v2.0.0 WIP] has been enabled succesfully.
    [GRAVE] [Jobs] Succesfully linked with BOSEconomy.

    No problème IG and it work ... but why GRAVE message ? :s

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

    Makan747

    May fix Hunter ?
     
  22. Offline

    Lakart

    Basically the issue was whenever someone breaks a block, it gives them their "pay" for breaking said block, and the "pay" having to go through iConomy and into the SQL database SOMEHOW lags the server, which confuses the crap out of me because my server uses BigBrother with SQL database and it never lags with that.

    People with no job that relates to the block they're breaking = No Lag
    Person with job relating to the block they're breaking = MASSIVE Lag

    We tested it. A LOT. And it always happened the same way with the job people breaking job blocks causing the lag.

    We get the same "lag" like a 1-3 second delay whenever someone claims land/donates/does anything with Towny that involves iConomy money, and when you do anything else dealing with iConomy money.

    Which makes it likely that it's an iConomy money, but we need iConomy for Towny and Jobs was the biggest CONSTANT lag causer because of the pay so...
     
  23. Offline

    EmanuxJade

    work on iConomy latest?
     
  24. Offline

    flametornado

    that's in the works.

    i'll fix that.

    what is the problem?

    how many players and how many jobs do they have each?

    it's /jobs browse. the main menu pops up when you type an incorrect command,
     
  25. Offline

    shadyre

    Other problem :

    When i play a few time, the command /jobs stats doesn't work, if i reboot my server it's ok
    /reload command doesn't reactive this.
     
  26. Offline

    Lakart

    I'm 100% sure now it was an iConomy issue, because I changed iConomy from the MySQL I had it on(which worked) to H2 and nothing lags anymore.
     
  27. Offline

    flametornado

    sounds like the connection between your server and the mysql server is bad :(.
     
  28. Offline

    Lakart

    I have like 3 or 4 other plugins using databases on the mysql server and they don't lag or cause lag.
     
  29. Offline

    DaddyCool64

    Testing 2.0, and it works fine to me.
    But please, can you expain this:
    Code:
            leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
            income-progression-equation: baseincome*((1.01)^(joblevel-1))
            experience-progression-equation: baseexperience*((1.01)^(joblevel-1))
    and whats the differens betreen Kill and custum-kill?
     
  30. Offline

    flametornado

    custom kill is money for killing job classes. E.g. killing a woodcutter

    The 3 equations are what are used to calculate the max experience needed to go up for a level, the income you get for an item at a level and the experience you get per item at a level.

    You can vary these equations to balance everything out on your server.
     
  31. Offline

    jasonthaasian

    For the jobs I can only get jobs for admins only. I can't get jobs for other types of players, I can't employ them either. Is there a way to enable the permission of jobs for them?
     
Thread Status:
Not open for further replies.

Share This Page