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

    Syrena

    is there anyway to make it in chat just show for example [Owner]rocksolid054 Woodcutter
    insted of apprentice and woodcutter as well because i think with owner and my name 4 lots of text is a bit much so i just want my group my name and woodcutter after my name
     
  3. Offline

    beebsproduction

    hello, thanks for this plugin, but i don't understand why, when i enter /jobs browse there isn't any jobs showing :eek:. (I added the configuration file and didn't change anything)
     
  4. Offline

    Shdwkaiser

    well im just wondering if there is a fix for the same thing as
    except that i have the permissions in also.
     
  5. Offline

    beebsproduction

    Sorry, i don't understand what you mean (i'm french)
     
  6. Offline

    flametornado

    If you're giving out less than 1 of your currency per item, you need to set the experience multiplier to a higher number so that the experience is greater than 1.

    in the configuration file, change chat-display to job to show only your job. Sadly now, it only works before the name. Chances are you'll end up with either [Owner] woodcutter rocksolid054 or woodcutter [Owner] rocksolid054.

    Can you please tell me if there are any errors spat out by the server, if you have permissions or not and what nodes did you enable and what version of jobs you're using.

    same as above

    Just so you know Shdwkaiser and beebsproduction, i did just try it with a default configuration file, with and without permissions with jobs 1.2.2 on server 733 and it worked fine
     
  7. Offline

    beebsproduction

    i use version 1.2.2, i have permissions but i'm an admin so i have all permissions. i added - jobs.job.miner for testing, nut nothing... when i enter /jobs browse there isn't any jobs available :'(
     
  8. Offline

    flametornado

    I think i've found the problem with this. It seems that if the configuration doesn't get read properly (for example the database username, password ... isn't correct) the the rest of the configuration doesn't get read, resulting in no jobs.

    I will make the plugin disable itself in the next update if the configuration isn't done properly.

    Till then, I would suggest you look at the configuration again. I assume you havn't set up the database properly since that's what usually happens most frequently.

    If it's still not working, switch to flatfile and see if that works. If it does, it's a problem with your database configuration.

    NOTE: also make sure that you have the database created on the server (minecraft is default).
     
  9. Offline

    beebsproduction

    but in description you say that database is optional.
    However i don't understand what you mean with " also make sure that you have the database created on the server (minecraft is default).". will it work with a database of 1&1 hosting ?
     
  10. Offline

    flametornado

    If you don't have/want to use a database, change the second line of the config file to "storage-method: flatfile".

    I don't know what services 1&1 hosting offer or what their default setup is. Normally you create a database and give it a name. You need a database called "minecraft" if you want to leave the configuration file the same.

    using a flatfile is also the simplest option. It just works, no setup needed.
     
  11. Offline

    beebsproduction

    what a database give plus ?
     
  12. Offline

    flametornado

    Nothing really, it all works the same no matter what method you use to save. Some people prefer databases, while others prefer flatfile.
     
  13. Offline

    beebsproduction

    there must be something more, no ?
    flatfile works GREAT !!!!!!! :) you should write it in description ;)
    suggestion: anticheat like in ijobs (when i place dirt and dig it, with the multiplier i'm rich in no time !), and when you join a job the case are sensitive (if the job is "Miner" and you type "/jobs join miner" it will not work) :D

    and builder can just place block, break it, place it, break it, place it.... But i don't know how to works against this cheat :(

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

    flametornado

    It really is just personal preference. I personally use mysql database because I like everything to be stored in one location.

    I will try to make the description more obvious and I will probably make it the default option, since it's the easiest to use and admins who already have a database and want to do that option will have no problem setting it up.

    iJobs does the checking in a way that can easily lead to a performance nightmare, and there are quite a few ways around it that I can think of right now. I found out that in real world scenarios it's just far too boring for people to grind levels like that and people give up. With the default settings it takes around a week to get to lvl 60, and probably another 2 or 4 to get to lvl 90. I don't know about you or your players, but I couldn't stand to do the same thing for a month just to get lots of money.

    I know jobs are case sensitive, I'll probably make it case insensitive in a future update too.
     
  15. Offline

    beebsproduction

    ok, thanks a lot for your support and AWSOME plugin, and you're right, moreover i think i will reduce the price of bloc. When come income ? is it displayed ingame for the player ?

    I don't understad this in the config file:
    -# mutiplier for xp. xp-multiplyer*jobPay = experience
    xp-multiplyer: 1.0
    - levelingProgressionRate: 0.13
    incomeProgressionRate: 0.05

    (i'm french)
     
  16. Offline

    darkwarriors

    commando to leave any jobs u have?

    maybe also some function for antifarming- like delay to place seapling ecc ?
     
    beebsproduction likes this.
  17. Offline

    beebsproduction

    +1 :)
     
  18. Offline

    darkwarriors

    i found another bug that plugin conflicts with WorldGuard, if players broke blocks in a protected area he can gain exp and money infinity beacuse u can destroy block but immediatily after re-creating!
     
  19. Offline

    woodzy

    take a look at this! how to fix it? and i need my /reload to add new players 2011-04-27_21.15.47.png
     
  20. Offline

    flametornado

    Income is paid when a user breaks/places a block.
    I don't display the income because you would just get flooded with hundreds of messages that you earnt a little money all the time and it'd be annoying.

    The xp-multiplyer is if your payment per item is less than 1 or to let your players level up quicker.

    levelingProgressionRate is the rate by which the experience needed to get to the next level increases.
    incomeProgressionRate is the rate by which the income per item increases when you level up.

    To keep things balanced, please make the incomeProgressionRate < leveling ProgressionRate. Otherwise people will find it easier to level up the higher their level.

    I don't have a command for that, but i guess i could put it in, never thought there'd be a lot of people wanting to not get paid for doing stuff.

    On the anti-farming front, I will fix the problem with worldGuard, I think i have an idea of how to do it, but not much time. I find people don't farm, it's far too boring to farm constantly. If you really want to have some anti-farming protection, give a negative value for the opposite action (e.g. if you give 2 coins for placing dirt, subtract 2 coins for breaking dirt).

    I think i know what the bug is. Are you using mysql or flatfile? and do you get a new title every time you level up or just when you switch jobs?
     
  21. Offline

    woodzy

    it happens when i type in /reload to relaod the server when i add or modify stuff
    and im useing MySQL then i changed it to flatfile and it did the same thing
     
  22. Offline

    flametornado

    oh, so it's just when you reload. ok. i'll look into that problem
     
  23. Offline

    woodzy

    thats flame, looking forward to it! my players just LOVE this plugin
     
  24. Offline

    Azhkanizkael

    Having issues w/ the jobs loading in too, no one can see the jobs at all or join any of them.

    Bukkit: 733
    Jobs 1.2.2
    storage-method: flatfile
    - 'jobs.job.Woodcutter'
    - 'jobs.job.Miner'
    - 'jobs.job.Builder'
    - 'jobs.job.Digger'
    - 'jobs.job.Florist'
    - 'jobs.job.Farmer'
     
  25. Offline

    flametornado

    any errors given by the server?
     
  26. Offline

    Azhkanizkael

    Code:
    21:58:08 [SEVERE] java.lang.Integer cannot be cast to java.lang.Double loading Jobs v1.2.2 (Is it up to date?)
    java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Double
            at me.alex.jobs.Jobs.onEnable(Jobs.java:131)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:632)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:218)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:116)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:94)
            at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:287)
            at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:201)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:85)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:247)
            at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:394)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:379)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
     
  27. Offline

    flametornado

    You set the flat rate to an integer and not a double. Flat rate has to have a decimal point.
    1.2.3 will disable the plugin if things like this happen.
     
  28. Offline

    Azhkanizkael

    So everything in the configuration.yml file has to have a decimal point if its a number?
    Code:
    22:05:16 [SEVERE] java.lang.Double cannot be cast to java.lang.Integer loading Jobs v1.2.2 (Is it up to date?)
    java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Integer
            at me.alex.jobs.Jobs.onEnable(Jobs.java:132)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:632)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:218)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:116)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:94)
            at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:287)
            at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:201)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:85)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:247)
            at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:394)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:379)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    After making it "flat-rate-payout: 0.0"
    and the same error after "flat-rate-payout: 1.0" and "0.1"
     
  29. Offline

    flametornado

    Everything that has a decimal point in the default configuration has to have a decimal point, everything that doesn't must not.
     
    Azhkanizkael likes this.
  30. Offline

    Azhkanizkael

    Thanks! :D
    Console shows no errors now.
     
  31. Offline

    Ryuukossei

    Is there a way for certain jobs to have access to different permissions? For instance, the Builder has an added permission allowing him to build where a normal user couldn't.
     
Thread Status:
Not open for further replies.

Share This Page