MC Jobs
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 10/2019
Hello guys,
several years have passed since the last update here. But now i will be change it. Me , Bl4ckSkull666 ( old name Papaharni or Papi too ), work now on the plugin to update it to the newest version of minecraft.
What's currently done? I added 2 new job groups. reworked few job groups.Reworked the jobs. Moved Database from old cache system to read friendly yaml/mysql support. Added Multilanguage support. That mean you can translate language file in multiple language and let your user select the language. You set default language in configuration, but the user can change it to a available language for him self.
Hmmm okay, whats new too? You can, currently only manual in the job files add a region and message that the player displayed on enter this region. The message can be a string with | for new line. Or use spigot message, if you use a spigot server, In Spigotr message u can build buttons and much more. And new is the NPC message, the message is same like on region, but it can be different messages. It can be activate on click the npc. To work set a sign with [mcjobs] in line 1 and in line 3 the jobnname below till 7 blocks on the npc. Users can now click it to see the message. Other one is the free Signs. For Description please read THIS
If you have a question, need help or will be report a error. please use the Discussion Thread ONLY . Thank you!
Sincerely,
Bl4ckSkull666
B,t,w, please use the new GitHub source ---> https://github.com/Bl4ckSkull666/McJobs/
ANNOUNCEMENTS Updated 04/2015
So another year somehow has slipped by without being able to work on this project. So I have added PapaHarni 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.
Requirements
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!
Register 1.6 or higher or Vault 1.2.13 or higher are needed.
Description
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!
Features
- 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
- Utilizes craftbukkit's built in Materials List
- Uses craftbukkit's built in Entity Type List
- Uses custom Potion List
- Uses custom Enchant List
Commands
/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
Instructions
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:
- alchemist
- armorer
- baker
- brewer
- builder
- carpenter
- conjurer
- digger
- enchanter
- farmer
- fisherman
- hunter
- miner
- soldier
- theurgist
- tinkerer
- toolmaker
- weaponsmith
- woodsman
- 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!
Permissions
- mcjobs.jobs.all:
- description: Allows the player to use all user jobs commands.
- default: false
- children:
- mcjobs.jobs.join: true
- mcjobs.jobs.leave: true
- mcjobs.jobs.list: true
- mcjobs.jobs.info: true
- mcjobs.admin:
- description: Allows the use of the /jadm command.
- default: op
- mcjobs.admin.leavedefault:
- description: Allows a player to leave a default job.
- default: op
- mcjobs.admin.defaults:
- description: Allows the use of /jadm defaults to restore config.yml.
- default: op
- mcjobs.jobs.join:
- description: Allows player to join jobs.
- default: false
- mcjobs.jobs.leave:
- description: Allows player to leave a job. Should be used in conjunction with join.
- default: false
- mcjobs.jobs.list:
- description: Allows the player to use /mcjobs list.
- default: false
- mcjobs.jobs.info:
- description: Allows player to use /mcjobs job_name for info.
- default: false
- mcjobs.jobsavail.all:
- description: Allows the player to join all jobs.
- default: false
- children:
- 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
- mcjobs.world.all:
- description: Allows the player to earn money and xp in all worlds.
- default: false
- mcjobs.paycreative:
- description: Pays a player even if they are in creative mode.
- default: false
Help
GitHub
https://github.com/RathelmMC/MC-Jobs
Download
Download here the last version of McJobs.
Wall of Servers
You use McJobs on your server/network? PM me ( Bl4ckSkull666 ) with the URL of your server to add it here :-)
Donations ( old )
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

-
View User Profile
-
Send Message
Posted Sep 9, 2012How exactly do I use the max_jobs? Is it group name, or is it some kind of permission node?
-
View User Profile
-
Send Message
Posted Sep 9, 2012@RathelmMC
Actually i can't charge to jobs like woodcutter right?
-
View User Profile
-
Send Message
Posted Sep 9, 2012@Matt19901
Are you using Towny v81? They deprecated their old PlayerCacheUtil so I switched the method in mine.
-
View User Profile
-
Send Message
Posted Sep 8, 20122012-09-08 20:29:10 [SEVERE] Could not pass event BlockPlaceEvent to mcjobs org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:99) at net.minecraft.server.ItemBlock.interactWith(ItemBlock.java:76) at net.minecraft.server.ItemStack.placeItem(ItemStack.java:84) at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:371) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:649) at net.minecraft.server.Packet15Place.handle(SourceFile:58) at net.minecraft.server.NetworkManager.b(NetworkManager.java:276) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:581) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.NoSuchMethodError: com.palmergames.bukkit.towny.utils.PlayerCacheUtil.getCachePermission(Lorg/bukkit/entity/Player;Lorg/bukkit/Location;Ljava/lang/Integer;BLcom/palmergames/bukkit/towny/object/TownyPermission$ActionType;)Z at com.dmgkz.mcjobs.listeners.BlockPlace.blockPlace(BlockPlace.java:55) at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330) ... 18 more
-
View User Profile
-
Send Message
Posted Sep 8, 2012@Kingas3647
Mineconomy is the one causing that error. Vault is improperly making a call to mineconomy.
@Manuestaire
Couldn't say exactly why. I tested it and got paid just fine. Double check your not being paid by typing /jobs show farmer
-
View User Profile
-
Send Message
Posted Sep 8, 2012@hoppertje2
If I was to guess I'd say that you have a version of Vault that isn't loading properly.
-
View User Profile
-
Send Message
Posted Sep 8, 2012When i tried to startup my server this was what is saw. (But i am sure it is the correct one)
23:54:46 [SEVERE] Error occurred while enabling mcjobs v3.1.2 (Is it up to date?) java.lang.NullPointerException at com.dmgkz.mcjobs.McJobs.loadEconomyBridges(McJobs.java:343) at com.dmgkz.mcjobs.McJobs.onEnable(McJobs.java:140) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:365) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:265) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:247) at net.minecraft.server.MinecraftServer.i(MinecraftServer.java:296) at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:275) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:225) at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:140) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:378) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
I hope you got some what spare time to fix this or give me a hint how i can fix it.
-
View User Profile
-
Send Message
Posted Sep 8, 2012Not working on 1.3.2-R0.1 and Vault 1.2.18
"org.apache.commons.lang.UnhandledException: Plugin mcjobs v3.1.2 generated an exception while executing task 92 at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: me.mjolnir.mineconomy.exceptions.NoCurrencyException at me.mjolnir.mineconomy.internal.MCCom.getCurrencyValue(MCCom.java:568) at me.mjolnir.mineconomy.internal.MCCom.getExternalBalance(MCCom.java:1136) at net.milkbowl.vault.economy.plugins.Economy_MineConomy.depositPlayer(Economy_MineConomy.java:159) at com.dmgkz.mcjobs.playerjobs.pay.PayMoney.makeEconomyCall(PayMoney.java:250) at com.dmgkz.mcjobs.scheduler.McJobsComp.run(McJobsComp.java:102) at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:52) at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) ... 3 more "
-
View User Profile
-
Send Message
Posted Sep 8, 2012@RathelmMC
i would get 2.2 per coal ore at level 4 with the basepay at .001.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@RathelmMC
Yes, i've mannaged to do it for the miner job, but i can't figure out how to do it for woodcutter.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@nhadobas
So if you left it at default settings your players would have to be level 1334 in miner in order to make 10 dollars per coal ore.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@Manuestaire
No it would be like this for digger as an example:
The reason hide is true is because you don't need it to show up in the jobs display. So it hides the place tier. What this will do is charge for placing dirt, sand grass, gravel, clay, soul sand and mycel. It will use the basepay of 1 and multiply it by the percent_charge. So at 95 it will charge 0.95 dollars for tier 1. As said before the whole leveling payer modifies it again. So if you want to remove the effect of the leveling payer you need to make the pay_scale 15 or 14 in the advanced portion of the config file.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@RathelmMC
I am currently using the newest version.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@RathelmMC
Take all the rest you need, i know this isn't well paid.
So for now, there's no way to do that?
Maybe you could add negative tiers or any other way to prevent place&break everytime.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@Manuestaire
Yeah I plan to do that, just not done. Leveling is only like a week old. This isn't my day job you know. I've made a whopping 50 dollars off of dumping hundreds of hours into this mod.
No the percentage does just that. If there's a charge it takes a percentage of the basepay value. The reason that it is still around because of the old way I do job charges. When I added default jobs I pulled all the charges out to the taxes and bulldozer jobs.
The amount of programming required to add a charge_opposite_actions is not really worth it to be honest. The reason being is in our head it makes sense, but a computer doesn't understand what that means.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@RathelmMC
Yes, but it list just the jobs they're in not his levels, so maybe you could add this, so with that comand you can also see the levels at each job: "manuestaire: enchanter (5), miner (8)". Also if you could add a user comand for the same purpose i'll thank it.
Ok, so actually percentage does nothing? I'll do it manually, but if you could add a node to config like charge_opposite_actions: true to define for each job, you'll save me a lot time in config.
Appart from that, can i do what you said here?:
Is there any way to do so?
-
View User Profile
-
Send Message
Posted Sep 8, 2012@dunicht88
Because even with leveling off you have to use the pay formula for level 1 for the job. So the base pay needs to be considerably higher. Or if you want leveling off on every job I think the math works out to you need pay_scale to equal 15 to be the equivalent of where base_pay is the value for level 1.
As for losing no money looks like its a bug. I'll see about fixing it ASAP.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@Dwool
Yes.
@jesse131
You have to remove all the user data files. Then they should save fine.
@convictedsaint
When a player logs out you should see a message in the server.log that says Saving player. file. If it doesn't say that then something is wrong. You're not using an offline server are you?
@Icefuzion
You should get it the first time, but when you log out it should give a save message in the log.
@Manuestaire
An admin command kind of exists like that. /jadm list player/group_name will list the jobs that the player has or that the players online in that group have. Some permission mods don't support group searching like that however so you may get an error message.
Correct. You can do it the old way though. The reason the charge percentage exists is because originally jobs had both pay and charge in them. However players can just break and have someone else place to get around it hence the move to taxes. To do this you have to modify the jobs file and include a place tier. You would make pays false and then just copy the tier structure out that break has. You would have to do this for every job. Also a single job cannot both have a pay and charge for the same action. For example breaking blocks cannot both pay and charge. It's one or the other.
@Q2Lummox
You'd have to use another mod for that. I don't really plan on adding that into this one.
-
View User Profile
-
Send Message
Posted Sep 8, 2012great improvement so far, especially that i can disable leveling, but i have a new problem.
when i try to charge players via taxes or bulldozer, it shows up the messages correctly but they lose no money. since payment itself works fine i assume that must be a bug (?)
and i've got another problem. atm my job config looks like that for each job:
result should be "no leveling" and payment of "0.20 per block/item (Tier1)" the no leveling part works but payment is 0.015, why is that so?
-
View User Profile
-
Send Message
Posted Sep 8, 2012Is possible to limit which tools can be used on every job?.
For example:
Lumberjack lvl1 Wooden Axe / Lumberjack lvl2 Iron Axe / Lumberjack lvl3 Diamond Axe /
If possible, as I can do this?