MC Jobs

mcjobs 3.1.2

Change log


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

Known caveats

This is a pretty large rewrite to a lot of the code. May have bugs!

Do not use this version with Towny v79. It will not work.

Placing items in a furnace or a brew stand sometimes doesn't add the player so he can get paid. Just click multiple times fixes the problem. Unresolved issues with running servers in offline mode.

Localization files are imperfect.

Custom text wrapper occasionally wraps improperly.

Adding recipes into the craftbukkit.jar file will cause Null Pointer Exceptions.


Uploaded on
Sep 06, 2012
Game version
  • CB 1.3.1-R2.0
259.5 KiB