Welcome to MC Jobs
MC Jobs was created to pick up where jobs left off. These jobs earn you money for your server economy. There are 20 default jobs that are customizable along with the ability to create your own custom jobs.
ANNOUNCEMENTS Updated 04/2015
So another year somehow has slipped by without being able to work on this project. So I have added PapiHarni to help keep the project going. Hopefully he can quickly get the codebase up to the latest Bukkit release. Welcome Papi.
I have also decided to release source on Github. If you want to fork or view the source feel free: https://github.com/RathelmMC/MC-Jobs
MC Jobs has been spotlighted by Curse gaming. Read the article here. Show your support for MC Jobs by commenting on the article.
What's New in 3.1
- Cleaned up leveling system.
- Added carpenter job.
- Added a considerable number of nodes to the english.yml file.
- Split the config.yml. Created a jobs.yml to hold the jobs.
- Lots of bug fixes.
- Danish language file - v3.1.2
What's New in 3.0
- Added leveling. You can now level in jobs and your pay scale is affected accordingly.
- Admin defined ranking system to leveling in the config.yml file.
- Group based max jobs. Use your permission groups to define how many jobs a player can have.
- Swedish language file.
There are no hard dependencies. MC Jobs can work out of the gate unchanged.
If you want to pay in money you need an economy bridge!
Towny Advanced compatibility is only with versions 81.0 or higher. You cannot use v79.x with MC Jobs v2.6.15 or higher.
You have developed great shops with a shop mod or you use citizens as NPC shopkeepers, you have a repair shop, or you have a block protection system that uses an economy. But that begs the question "How do you pay your players?" Well you could just give them money, but what fun is that? That's where MC Jobs comes in. It's a full fledged player job mod where you choose how much they get paid and for what activities and they can earn money by doing those tasks. It's fully customizable by server admins, but for those of you that just wish to plug and play it has 20 built in jobs that covers about 90% of the blocks and entities in the game. Remember:
If you need cash get a job!
- Ability to join or leave jobs
- Obtain higher levels in jobs to earn more.
- Charge or pay players for doing actions on the server by default. You want TNT to cost to use. You can! It's in Taxes.
- Earn XP through jobs by default.
- Earn money through jobs using any of the economy plugins
- Ability to edit, create or delete jobs in the config.yml file
- Multi World support
- WorldGuard region support
- Towny region support
- Payments for mcMMO repairs
- Utilizes craftbukkit's built in Materials List
- Uses craftbukkit's built in Entity Type List
- Uses custom Potion List
- Uses custom Enchant List
/mcjobs = Allows all the user commands such as joining and leaving a job. /jobs = Alias of /mcjobs /mcjobsadmin = Allows the administrative commands. Reloads the addon or gives/takes a specific job from an online player or group if using Vault. Options are: reload, defaults, add player/group job, remove player/group job, list player/group. /jadm = Alias of /mcjobsadmin
Installing is simple. Copy mcjobs.jar into your worlds plugin folder and restart or reload your server. Players can then join up to three jobs (modifiable in config.yml). To join use /jobs join job_name . The default jobs are:
- bulldozer - default job
- taxes - default job
You can then leave a job with /jobs leave job_name . To learn more about each job type /jobs job_name . Feel free to check out the forums for more info!
- description: Allows the player to use all user jobs commands.
- default: false
- mcjobs.jobs.join: true
- mcjobs.jobs.leave: true
- mcjobs.jobs.list: true
- mcjobs.jobs.info: true
- description: Allows the use of the /jadm command.
- default: op
- description: Allows a player to leave a default job.
- default: op
- description: Allows the use of /jadm defaults to restore config.yml.
- default: op
- description: Allows player to join jobs.
- default: false
- description: Allows player to leave a job. Should be used in conjunction with join.
- default: false
- description: Allows the player to use /mcjobs list.
- default: false
- description: Allows player to use /mcjobs job_name for info.
- default: false
- description: Allows the player to join all jobs.
- default: false
- mcjobs.jobsavail.digger: true
- mcjobs.jobsavail.miner: true
- mcjobs.jobsavail.builder: true
- mcjobs.jobsavail.soldier: true
- mcjobs.jobsavail.woodsman: true
- mcjobs.jobsavail.tinkerer: true
- mcjobs.jobsavail.farmer: true
- mcjobs.jobsavail.toolmaker: true
- mcjobs.jobsavail.weaponsmith: true
- mcjobs.jobsavail.armorer: true
- mcjobs.jobsavail.fisherman: true
- mcjobs.jobsavail.baker: true
- mcjobs.jobsavail.alchemist: true
- mcjobs.jobsavail.enchanter: true
- mcjobs.jobsavail.brewer: true
- mcjobs.jobsavail.theurgist: true
- mcjobs.jobsavail.conjurer: true
- mcjobs.jobsavail.carpenter: true
- description: Allows the player to earn money and xp in all worlds.
- default: false
- description: Pays a player even if they are in creative mode.
- default: false
- Add SQL support
Add experience levels and adjust pay scale accordingly.-version 3.0.0
- Modify the parser to handle item IDs and custom block support.
- Add full Tekkit compatibility.
Interval based timer to let a player know how much they have earned.- version 1.0.2 Add /jobs help command.- version 2.0.0 Make /jobs list give a prettier return value- version 0.99.1 Multi-world support and permissions- version 2.0.4 Localization support all the text- version 2.5.0 Baker job. Get paid for doing furnace actions- version 2.0.17 Alchemist job. Get paid for using a brew stand making defensive potions- version 2.6.0 Brewer job. Get paid for using brew stand making offensive potionsversion 2.7.0 Enchanter job. Get paid for using an enchantment block enchanting weaponsversion 2.7.0 Theurgist job. Get paid for using an enchantment block enchanting armorversion 2.7.0 Conjurer job. Get paid for using an enchantment block enchanting toolsversion 2.7.0 Specific fixes for WorldGuard compatibility- version 2.0.6
- Titles added to the Chat stream
- JavaDoc for the java file
For a look at the default config file go to Default Config.
Or for general help go to the forums.
Lastly you can always look at the FAQ
Help on the admin command you can go to Admin Command. Work in Progress
Done by RathelmMC. Default language.
Done by Monezombie. Switch language: english to language: french
Done by Htz. Switch language: english to language: french2
Done by Dreeass. Switch language: english to language: dutch
To view a server in Dutch go to this website: Dutch Minecraft Forums.
Done by Grim_Joy. Switch language: english to language: russian or language: english to language: russian_alt
This is a Cyrillic version.
Done by Team_WhiteGem. Switch language: english to language: chinese or language: english to language: chinese_alt
This is a Mandarin translation.
Done by thedeadboy07. Switch language: english to language: spanish or language: english to language: spanish_alt
Thedeadboy07 server can be found here: http://mymserver.blogspot.com/
Done by Stuntweed. Switch language: english to language: swedish or language: english to language: swedish_alt
View a swedish server here: www.Maera.se
Done by matt035343. Switch language: english to language: danish or language:english to language: danish_alt
If you're feeling generous or want to give me a beer. Mmmm... Beer.
Total Money Donated to MC Jobs: $49.50 US
Approximate Downloads: 120,000
Dollars per Download: $0.0004125
- Added Enchantments from 1.7.x and 1.8.x
- Added Potions from 1.7.x and 1.8.x
- Added depend Vault
- Added softdepend mcMMO,WorldGuard,LogBlock
- Fixed some World Permissions
- Fixed some Creative Mode Permissions
- Fixed mcMMO error
- Remove support for Register
- Remove support for Towny More will be follow later. Don't use this if you use Version 3.5.x ( unstable )
- Updated Monezombie's french language file
- Added more checks to the allowedJobs function to prevent NPE.
- Added some try/catch clauses on the onEnable method for more graceful failing
- Added permission node: mcjobs.jobs.all for permission systems that do not support the * wildcard.
- Added permission node: mcjobs.jobsavail.all for permission systems that do not support the * wildcard.
- Cleaned up the out of date error message text.
- Fixed a bug where players were not being charged for taxes or bulldozer.
- Fixed a bug caused by some permission systems when trying to find max_jobs.
- Added Danish language file.
- Added node added_lvl to experience block in english file.
- Added node padded_lvl to experience block in english file.
- Added node added_xp to experience block in english file.
- Added node padded_xp to experience block in english file.
- Added node nojob to experience block in english file.
- Added node birch_wood_stairs to materials block in english file.
- Added node book_and_quill to materials block in english file.
- Added node cocoa to materials block in english file.
- Added node emerald to materials block in english file.
- Added node emerald_block to materials block in english file.
- Added node emerald_ore to materials block in english file.
- Added node ender_chest to materials block in english file.
- Added node jungle_wood_stairs to materials block in english file.
- Added node sandstone_stairs to materials block in english file.
- Added node spruce_wood_stairs to materials block in english file.
- Added node step to materials block in english file.
- Added node tripwire to materials block in english file.
- Added node tripwire_hook to materials block in english file.
- Added node written_book to materials block in english file.
- Added carpenter job. Earn money by crafting stairs and other various wood/stone objects.
- Added emerald ore to miner profession.
- Added tripwire_hook to tinkerer profession.
- Moved jobs from config.yml file to jobs.yml.
- Added a timer node into config.yml.
- Added delete_cache to timer node. Determines how many days till an non-updated player cache will be deleted.
- Added show_interval to timer node. Splits from time_interval. Determines max_pay payout and timers on pay amounts.
- Added player_save to timer node. Determines after how many minutes a players cache should be saved.
- Added node prune under advanced block. If set to true this will use the delete_cache timer to prune player.dat files from the data directory.
- Changed pay_scale to a double. Default value of 1. This is a multiplier to basepay.
- Renamed some of the ranks.
- Changed the pay formula. Added a 0.75 modifier to all payments.
- Set the default for xp_modifier from 1 to 10.
- Added addlevel to the admin command. Now you can give players levels to jobs they currently have.
- Added addxp to the admin command. Now you can give players experience to jobs they currently have.
- PlayerCache added dateModified to keep track of when to delete a player file.
- Added exp to each job. This modifies experience earned per action. Exp is multiplied by the tier level for final xp earned.
- Consolidated payer actions. Should only call vault or register once per pay cycle.
- Added a player cache saves to the jobs notifier timer.
- Fixed a bug where job names with capital letters didn't pay.
- Fixed a bug in admin reload where it left out a couple of the schedulers.
- Fixed a bug where the save on quit function was not working properly.
- Fixed a display error when displaying jobs.
- Saves player data files on quit.
- Changed how xp_modifier is loaded. Now you can use numbers less than 1 if you think xp gain is too slow.
- NPE check for max jobs.
- Added Swedish language file.
- Fixed an issue where it would show 0/0 jobs.
- Added xp_modifier under advanced. This will be a multiplier on how much xp is needed to level.
- Fixed a bug with perms.db saying that the file is bad or corrupted when it really was not.
- Updated config file version number to 3000. It is critical that you have a new config.yml for 3.0
- Added the leveling system!
- Added user defined ranks into the leveling system.
- Added group based max jobs. So Admins can have more allowed jobs then Members. Refer to the FAQ page on how to use.
- Fixed a NPE in the built in logger.
- Fixed some issues with the Admin reload command. Should now reload everything.
- Fixed the permission for not allowing payments in creative mode.
- Update of French language file
- Added rank under the experience group in the english.yml file. Update your custom.yml files accordingly.
- Towny support is now v81
- Fixed a NPE in crafting
- Fixed a bug in crafting that would randomly cause players to not be paid.
- Added alternate french translation.
- Admin command will work on offline players.
- Added max_pay into the config file. If set greater than 0 max_pay is the most you can be paid per time_interval.
- Added Spanish language file.
- Moved the Payer and Comp functions off the main thread. Should be considerably faster for larger servers.
- Switched most wrapper variables to their native types.
- Added a player cache class. Can be accessed externally to get all player data.
- Changed the way data is saved and stored on the hard disk.
- Added the beginnings of the leveling system.
- Removed the the skillup event and listener. Was too resource demanding on the server.
- Added show and hide into jobscommand on all subsequent language files. If you use custom you will have to update yours accordingly.
- Added overpay to jobsnotify on all subsequent language files. If you use custom you will have to update yours accordingly.
- Added /jobs show job_name and /jobs hide job_name in order to show or hide the pay messages for each job. So if you're tired of taxes always showing you how much it charges you can turn it off on a per player level. You can also turn on messages if you'd like to be told about a different job.
- Added nopitch to advanced in the config file. If you don't want the pitch message for new players you can change it to true. That will then mean there will be no pitch message.
- More Null checks for recipes and blocks. Shouldn't spam the server if you're using Tekkit. Working toward Tekkit compatibility.
- Added Enchanter job
- Added Conjurer job
- Added Theurgist job
- Split Alchemist job into alchemist and brewer
- Added enchant tree into english.yml and all subsequent languages. If you're using a custom config you'll have to let it rebuild.
- Added Chinese Localization
- Fixed some of the Russian Localization issues
- GetLanguage bug fix
- Added support for Towny Advanced v80.1. Will now respect Towny's permission system for building and breaking.
- Fixed the gibberish that was the Russian localization file.
- Added Russian (Cyrillic) localization file from Grim_Joy: use language: russian or language: russian_alt
- Fixed a bug with Alchemist paying everyone
- Added a check on jobs loading to fail gracefully if there is an error in the config file. Subsequent jobs will still load
- Fixed a bug where if you didn't have any jobs except default jobs the default jobs wouldn't pay.
- Attempted to put a fix into offline servers causing a Null Pointer Error when you pay money. Needs testing.
- Added the ability to have both the xp and money payer running at the same time. Switch payment_type to payment_type: both
- Added Dutch localization file from Dreeass
- Fixed a bug with job rejoin timer only working right if you have vault. It should work under all circumstances.
- Updated to 1.2.5R2
- Fixed a bug with the notifier always saying 1 minute instead of the true time passed.
- Fixed a bug with Alchemy where custom potions would spam the server log.
- Fixed a bug with Alchemy where making splash potions and then adding ingredients would show up as unknown potions.
- Fixed a bug with the jobs rejoin timer. It wasn't properly saving the cache data.
- Fixed a bug with the version checker. If the key was missing it wouldn't tell you that your config file was ever out of date.
- Fixed a few bugs that would cause a player to be unable to join any jobs.
- Added Alchemist. Now a player can be paid for brewing actions.
- Optimized some of the code. Should use a little less CPU.
- Rewrote the jobs unavailable timer. It should be more reliable.
- A few fixes to the French localization.
- Change the way the job leave timer deals with permissions to make it more compatible with all permission mods.
- Fixed a bug with using capital letters in job names.
- Added better timer support. Now instead of listing in minutes it lists in intervals up to months.
- Fixed a bug with the leave timer. Now it also shows you a message when you try to rejoin a job before the time is up.
- Added default jobs. These are jobs that everyone is put into on join. They do not count against the max jobs on the server. Only ops or players with the mcjobs.admin.leavedefault permission can leave them.
- Updated the Admin Command. It now has 100% more awesome. Added /jadm list [player] to the command. This will allow you to see the jobs of the particular play that you choose.
- Added Vault support to the Admin Command. Now for list, join, remove if you have Vault you can type in group names and it will do those actions to the players that are online in that group.
- Fixed a Null Point Error with LogBlock logging turned off on worlds. If you have LogBlock logging off MC Jobs will default to its built in preventer.
- Added a timer to when leaving jobs. Now it prevents a player from rejoining the same job within a specified time frame. It uses the rejoin_interval in the config.yml. Default time is 6 hours.
- Added job specific permission nodes. Now it checks to see if you have the permission to join a job. The nodes all start with mcjobs.jobsavail.your_job_name. mcjobs.jobsavail.* can be set to allow all jobs.
- Added Localization support. There are currently three options: english, french, and custom. Custom will create a file called custom.yml in your mcjobs folder that you can then edit yourself.
- Fixed a bug that paid players for placing redstone objects in water. The object would be immediately broken but it would still play the player. Furthermore if done in rapid succession it wouldn't trigger a LogBlock, block to the payment. Now it doesn't pay at all.
- Added pay_spawners and spawn_distance to the config file. This will allow you to prevent payment of killing mobs within a specific range of a spawner. The higher the number of spawn_distance, the more demanding the resources on your server.
- Added McJobsEventJobChange to the event system. This is fired every time a player leaves or joins a job. However it does not fire if the job join or leave is caused by an admin putting or removing a player from a job.
- Tweaked PrettyText to work in even more situations. Should help with foreign language support.
- Added job Taxes. It's a default job that charges players for various place actions. It's in lieu of having the default jobs charge for their reverse actions. For example everyone is charged for placing Iron Ore blocks. There is no good reason to ever build with it. So it charges for it.
- Added job Bulldozer. This is a default job that charges for breaking various blocks in the game. It should help incentivize taking the builder job since builder would offset the cost of breaking the blocks. This also has the tinkerer placed blocks.
- Removed all charges out of the default jobs and placed them in Bulldozer and Taxes.
- Considerable rewrite of config.yml.
- Added the precursor's to SQL support.
- Added the precursor's to a leveling system.
- Added support for LogBlock. If you have LogBlock it will prevent players from earning money by placing and breaking blocks on the same location. It is block type specific as well. So if you break grass you'll get paid. If you then place dirt you will also be paid because grass is different from dirt. However if you place dirt again you will not be paid. The location will pay once again after time_interval in the config.yml file has been passed.
- Fixed a bug with Fisherman creating a Null Pointer Error.
- Fixed a color issue with the Soldier list.
- Fixed a bug where if time_interval was set to be less than 1 it would crash the server.
- Added mcjobs.paycreative permission. Now players in creative mode will not be payed unless they have this permission.
- Fixed WorldGuard bug
- Fixed Ender Dragon and Iron Golem display bug
- Added baker profession.
- Moved WorldGuard check to Break and Place events only. So it shouldn't block paying players doing fishing, crafting, etc in WorldGuard regions.
- Fixed bug with Soldier where fishing mobs would pay the soldier.
- Added timer to block place and destroy events so a player can't be paid for the same spot repeatedly. The timer is based on the time_interval variable in the config.yml file.
- Added specific code to support WorldGuard's region protection.
- Added multi-world support
- Added permission node mcjobs.world.all to allow jobs in all worlds.
- Added config node multiWorld: false to turn on and off multi-world support.
- Added Fisherman Job
- Added shearing sheep to Farmer.
- Added charges to iron ore and gold ore to the mining profession.
- Removed the Register and Vault hard dependencies. Now if you don't have an economy MC Jobs will default to an XP based economy.
- Fixed mcMMO repair event listener.
- Fixed bugs with using capital letters when trying to join or leave jobs.
- Added the /jobs help command. There are now 7 pages explaining every aspect of the players use of MC Jobs.
- Rewrote practically every method and most classes.
- Added event McJobsEventSkillUp when an action matches a player job. This can be used by other mod developers to write their own pay or xp methods.
- Added payment_type to the config.yml file. xp or money are acceptable choices. This determines whether you'll use an XP economy or one of the economy mods.
- Added payment_mod to the config.yml file. This can be set to either register or vault to force which economy bridge you want to use.
- Added show_every_time to the config.yml file. This is added to each job to determine whether a pay message is sent every time the player gets paid or charged. The choices are true or false. Refer to the soldier job to see how to implement it in your own jobs.
- Changed the base pay of farmer from 1.0 to 0.5 and moved the defeat and place items from tier1 to tier2.
- On farmer removed the place pay for cactus, sugar cane, and crops. These will only pay now on break.
- Moved detector rails, powered rails, and rails from place to craft on tinkerer.
- Changed farmer so it pays on breaks instead of places for most crops.
- Added gold_leggings to amorer.
- Separated repair from craft.
- Added mcMMO repair events. Armorer, Weaponsmith and Toolmaker will now repair on these repair events.
- Added a option in the config.yml usePerms: true to set whether permissions should be used or not. If set to false all the /jobs commands will be available to everyone. /jadm defaults to true for ops.
- Changed the code for making clean text work in more situations
- Added Vault support
- Removed builder cost for breaking stone. It conflicted with mining.
- Changed the code for making clean text work in more situations
- Added the ability to send a player a message on a timer of how much they've earned in that time period: default 60 minutes.
- Various bug fixes
- Cleaned up various sections of code
- Added a method to make the tier text of /jobs job_name look cleaner
- Tweaked some jobs use /jadm defaults to load the new config.yml
- Added Permission: mcjobs.admin.defaults for command /mcjobsadmin defaults
- Added Admin command option: /mcjobsadmin defaults it reloads the default config file from the plugin. This overwrites custom changes to the file!
- Added show_pays: false to the config.yml file. If set to true it will show the player how much s/he gets paid for their job when they preform it.
- Initial Release
|File Name||Release Type||Game Version||Downloads||Date|
|McJobs 3.2.0||Release||1.8||37,056||Jun 19, 2015|
|mcjobs 3.1.8||Release||CB 1.3.1-R2.0||165,971||Sep 12, 2012|
|mcjobs 3.1.4||Release||CB 1.3.1-R2.0||2,637||Sep 8, 2012|
|mcjobs 3.1.2||Release||CB 1.3.1-R2.0||3,849||Sep 6, 2012|
|mcjobs 3.1.0||Release||CB 1.3.1-R2.0||2,099||Sep 5, 2012|
|mcjobs 3.0.9||Release||CB 1.3.1-R2.0||4,305||Sep 1, 2012|
|mcjobs 3.0.7||Release||CB 1.3.1-R2.0||1,506||Aug 31, 2012|
|mcjobs 3.0.4||Release||CB 1.3.1-R2.0||1,657||Aug 30, 2012|
|mcjobs 3.0.0||Release||CB 1.3.1-R2.0||885||Aug 30, 2012|
|mcjobs 2.8.5||Release||CB 1.2.5-R4.0||31,378||Jul 15, 2012|
|mcjobs 2.8.3||Release||CB 1.2.5-R4.0||6,311||Jul 9, 2012|
|mcjobs 2.8.0||Release||CB 1.2.5-R4.0||2,292||Jul 7, 2012|
|mcjobs 2.7.0||Release||CB 1.2.5-R4.0||16,813||Jun 18, 2012|
|mcjobs 2.6.18||Release||CB 1.2.5-R4.0||8,931||Jun 10, 2012|
|mcjobs 2.6.15||Release||CB 1.2.5-R3.0||15,447||May 30, 2012|
|mcjobs 2.6.12||Release||CB 1.2.5-R3.0||1,440||May 29, 2012|
|mcjobs 2.6.11||Release||CB 1.2.5-R3.0||388||May 29, 2012|
|mcjobs 2.6.6||Release||CB 1.2.5-R2.0||8,786||May 19, 2012|
|mcjobs 2.6.4||Release||CB 1.2.5-R1.2||2,747||May 17, 2012|
|mcjobs 2.6.0||Release||CB 1.2.5-R1.2||3,682||May 14, 2012|
|mcjobs 2.5.8||Release||CB 1.2.5-R1.2||5,166||May 8, 2012|
|mcjobs 2.5.6||Release||CB 1.2.5-R1.2||2,007||May 7, 2012|
|mcjobs 2.5.3||Release||CB 1.2.5-R1.2||1,394||May 6, 2012|
|mcjobs 2.5.0||Release||CB 1.2.5-R1.2||2,973||May 4, 2012|
|mcjobs 2.1.0||Release||1.2.5||8,824||Apr 24, 2012|
|mcjobs 2.0.20||Release||1.2.5||2,712||Apr 21, 2012|
|mcjobs 2.0.18||Release||1.2.5||1,692||Apr 20, 2012|
|mcjobs 2.0.6||Release||1.2.5||1,950||Apr 18, 2012|
|mcjobs 2.0.4||Release||1.2.5||1,907||Apr 16, 2012|
|mcjobs 2.0.0||Release||1.2.5||4,000||Apr 12, 2012|
|mcjobs 1.2.7||Release||CB 1.2.4-R1.0||3,978||Apr 1, 2012|
|mcjobs 1.1.12||Beta||CB 1.2.4-R1.0||407||Mar 30, 2012|
|mcjobs 1.1.5||Release||CB 1.2.4-R1.0||686||Mar 28, 2012|
|mcjobs 1.0.2||Release||CB 1.2.3-R0.2||407||Mar 27, 2012|
|mcjobs 0.99.1||Release||CB 1.2.3-R0.2||260||Mar 26, 2012|
|mcjobs 0.98.7||Release||CB 1.2.3-R0.2||467||Mar 22, 2012|
|mcjobs 0.98.4||Release||CB 1.2.3-R0.2||446||Mar 21, 2012|