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




    Jobs - The Job plugin for Minecraft:
    Version: 2.0.1

    • iConomy 4/5 / BOSEconomy

    • 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.



    Thanks Samkio for the plugin tutorial video.

    Previous Versions (open)

    • 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.

    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

    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.

    /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.
    /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:
    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).<worldname> - allows players to get paid on selected world. - 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.

    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.


    See sourceforge for requested features and bugs.
  2. Offline


    The math i was referring to was How the Income per block is added up to include the level ect.

    so say this was my form for the user to fill in:

    level progression rate : boxtofillin
    Income progression rate : boxtofillin
    reward base amount. :boxtofillin
    Base-exp: Boxtofillin
    Player level:

    $$ per block:
    EXP to nextlevel
    Total exp needed to get to this level.
    Total block to get to this level (could be impossible to work out because the exp per block changes every level Making it a math nightmare to reverse.)

    So i would be looking for a way to generate the data from the first section I can then hardcode the math into the app and it will update as fast as you can change the numbers.
  3. Offline


    Sadly, bukkit doesn't think orange is a real colour.

    In that link are the colours that bukkit believes exist.

    I also fixed your indenting, but i'm assuming you have that your indenting is done properly (please don't use tabs, the yml formating cries when you use tabs instead of four spaces).

    well, all that math is already in the config file, commented in there :p. besides, it's all just geometric progression.

    I also have an excel document for people to play around with uploaded on the original post.

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


    Without your plugin, now and then (maybe every 30minutes for a player) after breaking a block you can not pass it an it will "pop up" again, so you have to break it again. Don't know how common this problem is. It depends on how much load the server has. (in the morning almost never) But with your Plugin running it happens permanently. Placing Blocks is buggy too, it appears then dissappears and after a short while Blocks will appear an stay. Very annoying.
  5. Offline


    wow, that is really weird. I've never had any of those problems.

    You can try pre 1.3 version, see if that has better performance.

    Also what's your server's specs and load?
  6. Offline


    I took "ORANGE" out. But even if i install the mod new, there ist no chat colour, rank and workname in the chat.

    And i can't even change the Name of the work, for example Woodcutter --> Holzfäller
  7. Offline


    I tried that exact example and it turns out that the reader can't handle special characters. If you try Holzfaller then it should work (worked for me).

    I always get title, rank an everything. I think there's another problem. Can you give me a printout of your server console when you start the server up?
  8. Offline


    Spread sheet is all well and good but it dose not handle changes in the base exp and not every 1 has a full copy of excel I know i don't i only have the trial that came with my pc. (24 uses left Wow )

    Handy info but not widely accessible by every one just saying.

    Edit sorry dose handle the changes in base exp just not over where the other settings were :)
  9. Offline


    Fair enough. The equations are in the configuration file. They're simple compound interest. I would also recommend you find a way to make the equation variable because at one point (prob not very soon) i will make the equations customisable.

    If you do make a gui I'll link it up on the original post :)
  10. Offline


    CPU:    Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz (4 Cores)
    RAM:    16033 MB
    Uplink:    1000 Mbit
    But thats only the "physical hardware", my server is not the only minecraft-server running on that hardware. So i cannot tell how "loaded" the server is. (There is no display for that.)

    I tryed the 1.2.3 version, same problem again. :'( Kind of sad, everything works fine (leveling, getting payed ...) except the lag. I think your plugin is "clean" but something has to be wrong with either permissions or iconomy...
  11. Offline


    wow, that is weird. Btw, your server is more powerful than my server and i have no problems. How big is your world and how many people do you have on normally?
  12. Offline


    Out map is quite big 2500 blocks in radius and 250mb.
    Here is the link if you want to have a look at.
    Normally there are 3 players online, (maximum is 6), but "[WARNING] Can't keep up!" is independent from the player count.
  13. Offline


    I'd say if anything it's the map size. but to be honest, i have no idea why you're getting performance issues like this.

    I'm running on an oldish core 2 duo, 4 gb ram, max 10 ppl, usually 4 or 5 with a mapsize of max 1000 radius and i don't have any problems, silky smooth gameplay in fact.
  14. Offline


    Ok, Bukkit is now on 740, i tried a new (tiny) map, without any results. I have no clue why this occurs. I will check permissions again, but with little hope.
  15. Offline


    I'm running my server with :
    dynmap, Permissions, MCTelnet, Stats, CommandBook, LWC, HeroicDeath, Bank, iConomy, ServerAutoStop, WorldBorder, Landmarks, mcMMO, SimpleSave, LocalShops, Jobs, FireFix, ecoCreature, Residence, Achievements

    On a world of 1000 radius, seed gargamel, with 1 person on, i get barely 10% cpu usage and 12% ram usage.
  16. Offline


    So the first problem is gone. It seems that that was the problem. Changing the excisting jobs in German caused 3 special characters and the one i wanted to add had a special character too. So that was the problem. Sry - Germans often use ä ö ü in their worknames. Would it be allot of work for you to make it possible to use these 3 special characters??

    My second problem ist still here. No chat-colours, no work-name, no "ranking". Here ist my log-file you asked me for:

    > 16:04:49 [INFO] [Minecart Mania] Loading Sensor Data.
    > 16:04:44 [INFO] Done (0.171s)! For help, type "help" or "?"
    > 16:04:44 [INFO] [Minecart Mania] MinecartManiaChestControl version 1.1.3 is enabled!
    > 16:04:44 [INFO] [Minecart Mania] MinecartManiaAutomations version 1.1.2 is enabled!
    > 16:04:44 [INFO] [Minecart Mania] MinecartManiaAdminControls version 1.1.4 is enabled!
    > 16:04:44 [INFO] [Minecart Mania] Permissions detected. Using permissions.
    > 16:04:44 [INFO] [Minecart Mania] MinecartManiaAutocart version 1.1.2 is enabled!
    > 16:04:44 [INFO] [MagicCarpet] Using Permissions.
    > 16:04:44 [INFO] [MagicCarpet] Take yourself wonder by wonder, using /magiccarpet or /mc.
    > 16:04:44 [INFO] [MagicCarpet] MagicCarpet version 1.5.5 is enabled!
    > 16:04:44 [INFO] AppleTree activated.
    > 16:04:44 [INFO] [Jobs] Successfully linked with Permissions.
    > 16:04:44 [INFO] [Jobs] Successfully linked with BOSEconomy.
    > 16:04:44 [INFO] Jobs started
    > 16:04:44 [INFO] [DispNameChanger] DispNameChanger has been enabled!
    > 16:04:44 [INFO] [DispNameChanger] Permissions system detected!
    > 16:04:44 [INFO] BOSEconomy 0.6.2 enabled.
    > 16:04:44 [INFO] BOSEconomy: Located Phoenix Permissions 2.5.1.
    > 16:04:44 [INFO] [Wrath] Attached to Permissions
    > 16:04:44 [INFO] [Wrath] Started
    > 16:04:44 [INFO] [kFeatherTeleport] finished loading (v0.9) [featherMaterial: FEATHER, backMaterial: EGG, consumeFeathers: 1, minimumDistance: 10, maximumDistance: 50, Permissions enabled]
    > 16:04:44 [INFO] Lockette: Ready to protect your containers.
    > 16:04:44 [INFO] Lockette: Using ops file for admin permissions.
    > 16:04:44 [INFO] Lockette: Linked to GroupManager plugin version 1.0(alpha-5)
    > 16:04:44 [INFO] Lockette: Detected craftbukkit build [733] ok.
    > 16:04:44 [INFO] Lockette version 1.3.7 is being enabled! Yay! (Core version 1.0)
    > 16:04:44 [INFO] [Minecart Mania] MinecartManiaStation version 1.1.0 is enabled!
    > 16:04:44 [INFO] [Minecart Mania] MinecartManiaSignCommands version 1.1.2 is enabled!
    > 16:04:44 [INFO] [Minecart Mania] MinecartManiaCore version 1.1.6 is enabled!
    > 16:04:44 [INFO] [Minecart Mania] Debug mode switched to NORMAL
    > 16:04:44 [INFO] [Blacksmith] enabled.

    > 16:04:44 [INFO] Loaded EssentialsChat build 2.1.31 by Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo and ceulemans.
    > 16:04:44 [INFO] GroupManager version 1.0(alpha-5) is enabled!
    > 16:04:44 [INFO] GroupManager - INFO - Scheduled Data Saving is set for every 10 minutes!
    > 16:04:44 [INFO] Loaded EssentialsProtect build 2.1.31 maintained by Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo and ceulemans.
    > 16:04:44 [INFO] Loaded EssentialsSpawn build 2.1.31 maintained by Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo and ceulemans.
    > 16:04:44 [INFO] [Permissions] version [2.5.1] (Phoenix) loaded
    > 16:04:44 [INFO] Loaded Essentials build 2.1.31 maintained by Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo and ceulemans.
    > 16:04:43 [INFO] [HeroicDeath] enabled.
    > 16:04:43 [INFO] [LastLogin] version v1.0 (Snook) successfully enabled and loaded
    > 16:04:43 [INFO] [Permissions] version [2.6] (Phoenix) loaded
    > 16:04:43 [INFO] SleepAnnounce version 0.35 is enabled.
    > 16:04:43 [INFO] [Permissions] (Phoenix) was Initialized.
    > 16:04:43 [INFO] [Permissions] (Phoenix) was Initialized.
    > 16:04:42 [INFO] Preparing start region
    > 16:04:42 [INFO] Preparing level "world"
    > 16:04:42 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-700-gf3ae4c3-b733jnks (MC: 1.5_02)
    > 16:04:42 [INFO] Starting Minecraft server on --- I TOOK IT OUT ---
    > 16:04:42 [INFO] Loading properties
    > 16:04:42 [INFO] Starting minecraft server version Beta 1.5_02
    16 achievements
    146 recipes
  17. Offline


    Is there anyway this can check to see if a block has been placed by another player to prevent "co-op cheating?" Say you have a builder placing blocks and a miner breaking them to each get money and xp without ever having to go anywhere.

    Also I was wondering if there was a way to view the MYSQL table, so that I may look at which jobs and players have as well as their xp. Whenever I try to open the table it gives me this error: Error: `minecraft`.`jobs`: table data is not editable because there is no primary key defined for the table
  18. Offline


    You can then use OpenOffice, or Google Docs. Really not that hard to open Excel files anymore. Just saying.
    This means that your computer can't handle Minecraft, and/or the Minecraft server. It needs a crap load of RAM, and by the looks of it, you don't have nearly enough. 6 slots is a general limit. It depends heavily on the number and size of maps, the plugins being used, etc. You will PROBABLY have to upgrade in order to get rid of the bug.
  19. Offline


    We can set limit levels?
  20. Offline


    it works but there is one thing when i join the job Miner and i kill a wolf or a sheep i get 5 or so coin what ever i set for hunter

    I found it out dont worrie its the flatrate: thing but id really like the earnt thing and pig taken away annoying.

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


    I got the plugin to work and I was able to get myself and others in my server to join jobs. I have a few requests and possible bug reports.

    1. Could you make the plugin not sensitive to CAPS?
    2. I saw a few requests in this thread that would like for people to be able to leave their job. That would be nice.
    3. Could you make it so crafting items gives users money, as well?

    Today was my first day using this plugin and I discovered that you can join a job multiple times and then earn double, triple, ect. the amount. Another case of this is happened to one of my users. It said he was a miner like three times without him even joining 3 times. What I mean by this is his name in the chat would say: "Scruby Miner Scruby Miner Scruby Miner (username)." This then made him gain money very quickly. Can you fix this or help me out if I may be doing something wrong.

    Other than this the plugin is great and is just what I was looking for! Keep up the good work!

    Thanks, Slowmonkey1227
  22. Offline


    Seems like everything initializes properly. The only think i can think of is that you have another plugin that overrides the display name i set.

    There isn't a way to prevent co-op cheating. The only way to do what you want would add a lot of extra overhead on the plugin. If you find people are doing that and getting rich quickly, lower the amount of money they get, or increase the progression rate. Most people will soon get very bored.

    Also you can view the mysql table. I open it all the time. It works for me using both command line and phpmyadmin. When i do comand line i usually do "use minecraft;" and "select * from jobs;"

    Level limits can't be set, but getting past 100 takes serious effort at 0.15 leveling progression rate. Even getting to 100 takes serious effort.

    1. I will make the plugin not case sensitive at some point.
    2. I will probably do this one day, but for now just make a job called "unemployed" and make it earn nothing. (Thank you RustyDagger for this solution)
    3. I'm planning on doing that. It takes a lot more time and effort to do that than it does to do place, break and kill combined (no events i can register onto ).

    About your bug, I have no idea how that's happening since joining a job multiple times will just reset your level to 0 and you'll earn the base amount. The thing with the names should of been fixed in one of the updates. Which version are you using?

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

    Ian Hohmann

    Hey sorry to bother you again. I finally got it working, it turned out it was some weird conflict with another plugin.
    Anyway I love the plugin, but is there a way to stop it from reseting your job level to 0 after a job change. And maybe in the future have an option to add a time delay to switching jobs as an alternate to the level reset.
    Thanks for the great plugin.
  24. Offline


    Ok, but can't you add a level limit ?
  25. Offline

    Ross Gosling

    Can you give us a rough time you plan to have crafting up and running?
  26. Offline


    Sry - Germans often use ä ö ü in their worknames. Would it be allot of work for you to make it possible to use these 3 special characters??
  27. Offline


    anyway you can add an option to prevent pay out on break for player place blocks?
  28. Offline


    I'll look into that, but i'm not promising anything. It would probably require a change in the database so that jobs have an expiry date (when you can leave the job). That would result in a lot of databases needing change and a lot of people not being super happy.

    I will add a level limit option in the next update.

    Sadly it's not my code that has a problem with those characters, but code that bukkit uses to read their configuration files. I don't really know why they can't do special characters, seems kinda stupid to me. To make it use those 3 special characters i'd have to create my own configuration parser, which is quite a pain to do. I may look into it in the future. Another concern i would have is whether you can even have those characters in normal gameplay.

    To do that, I would have to keep a list of all player placed blocks. This would require quite a massive overhead and increase the load on the server greatly. I would also have to store this information somewhere, otherwise as soon as the server restarts, the information will be gone and everyone would be able to break whatever blocks they wanted. I don't want to do that.

    I have to do some uni work due in on the 9th, then prepare for a presentation to be given some time after that, so i don't think you'll see much in the way of new major functionality in the coming weeks. After that, well, it all depends on if bukkit gets crafting events in the meantime. If it does, then it should be relatively quick ( a couple of days), otherwise it all depends on how easy the other code is to read and reproduce. I'd say that crafting will be out by the end of the month.

    I will however still do small feature requests and bug fixes in the meantime.
  29. Offline


    ty for the quick resonse im probly going to use tool wear and base it off my auto repair prices to balance things out. if anyone tries farming. thought i would post incase it helps anyone figure out what they want to do

    not to worried about the leveling i just have better shops and i would hope ppl would just stand in a cave all day placing and breaking dirt for money, and i would like to be able to config the jobs to promote activity

    exaple: placing a sapling without 2 ppl 1 with a lower lvl charge for placing and 1 with a higher lvl pay for breaking going around farming money and ruining all my hard work balancing

    im sure the payout config will help with that later on
  30. Offline


    I would be very surprised if people farmed much. It really takes a LOT of effort to get a high level. If you find people are progressing quickly past level 60, implement harsher leveling progression rates. Past level 60 (which is a milestone in itself) it will take a very very long time to gain levels. Level 60-61 takes about as much effort as lvl 1-28
  31. Offline


    I hope you ment that, but I can use ä ö ü on sign's without any problem.

    I still didn't find out why the chat doesn't work.

    I got an other question. How can i define killing animals for excample to get paid??
    It doesn't work if i write "Chicken: 2.0" under "break:". I also tried "Kill:" but that is wrong too.
Thread Status:
Not open for further replies.

Share This Page