2016-01-10

Original author and manager of this was phrstbrn until v2.12.0 version.

Supports 1.7 and 1.8 servers

Looking for some one to make plugin’s video review/tutorial!

A fully configurable plugin that allows you to get paid for breaking, placing, killing, fishing, and crafting, and more. Class based professions, gain experience as you perform your job.



UUID support

Mysql/SqLite data base systems

Locale files

Sign command support

Sign top list support

API

Create your own custom jobs and choose what they get paid for and how much.

Levelling mechanic where higher level jobs will give higher incomes. Income earned = experience gained.

Equation determining maximum experience, experience gained and income gained is customizable.

Execute commands on predetermine leveling up

Leave your job and return to it by suffering level loss during this action

Fully customizable skill levels in the game to mark leveling milestones.

Payment output in action bar

Option to limit income for certain time interval

Chat integration to display current job name and titles.

Several protections against exploiting

Auto-save to protect against server crashes.

McMMO integration

Money/Exp boost with specific permission

Money/Exp boost by wearing or using special items

Option to leave and return with possible exp lost during transfer.

Optional sounds on level up.

Full permissions support for BukkitPerms compatible plugins.

Admin commands work with online players.

Auto tab complete commands

Foreign language translations

Possible actions to get paid for:

Break – by breaking blocks

Place - by placing blocks

Kill - by killing any living creature including players

Fishing – by catching fish

Craft - by creating items

Smelt - by smelting items

Brewing - by making potions

Enchanting - by enchanting items

Repair – by repairing items

Breed - by breading animals

Tame - by taming animals

Milk – for milking cows

Dye - for dyeing leather armour

Shear - for shearing sheep’s by color

Explore - for exploring map

Custom kill – by killing player with specific profession



Signs works in same way as simple commands. Put into first line [Jobs] and rest of lines can be filled up with all possible jobs plugin commands. You can even put admin commands and don’t be afraid that some one will use them, as all commands will be performed in same way as user regularly enter them in chat. Just keep in mind that first line always [jobs] and res of them can be filled up with any commands you can imagine, you can put even couple command variables in one line if its fits. For ex:

[jobs]

[jobs]

[jobs]

[jobs]

[jobs]

[jobs]

[jobs]

join

join miner

info

info miner break

stats

toggle

boost

miner

miner

Zrips

miner

2



To create top list of sign create sign with text:

[jobs]

toplist

miner

1

This will create sign with 4 entries from 1 to 4 place, like this:

To create special sign which one can be customized in locale file, write like this:

[jobs]

toplist

miner

1s

This will create sign for first place in miner job and it will look like this:

You can place head on top of sign and it will update with that place player head texture. With everything set up properly you can get result like this:

Permissions

Out Dated! For 2.9.1 version

Out Dated! For 2.0.1 version

http://dev.bukkit.org/server-mods/vault/Vault

MySQL (optional)

CoreProtect (optional)

Source Code

Original source Code

Original development Builds / Jenkins

4 events will be fired:

JobsJoinEvent

JobsLeaveEvent

JobsLevelUpEvent

JobsPaymentEvent

To get players job list use:

List<JobProgression> jobs = Jobs.getPlayerManager().getJobsPlayer(player).getJobProgression();

for (JobProgression OneJob : jobs) {
Do your stuff here

}

Or this if player is offline:

List<JobProgression> jobs = Jobs.getPlayerManager().getJobsPlayerOffline(player).getJobProgression();

for (JobProgression OneJob : jobs) {
Do your stuff here

}

To get job list:

Jobs.getJobs();

By default plugin comes with Full EN and partial LT/DE/CS/FR/RU translation files. If you want to translate file to your own laguage, just change in generalConfig file from locale-language: en to your desired language. After server reload you can freely edit your locale file.

Sample jobConfig.yml

Chat Titles

Common Issues

Material Names

Creature Names

WitherSkeleton

ZombieVillager

ElderGuardian

Enchantment names

Data Values @ MinecraftWiki

Screenshot

Changes

V2.58.0

Added CZ locale translated by Fractvival

Added new funky feature to pay for exploring map. players with specific job will get paid when entering new unexplored chunk

<<code yml>> # Explore options. Each number represents players number in exploring that chunk

1 means that player is first in this chunk, 2 is second and so on, so you can give money not only for first player ho discovers that chunk

Explore:

1:

income: 5.0

experience: 5.0

2:

income: 2.5

experience: 2.5

3:

income: 1.0

experience: 1.0

4:

income: 0.5

experience: 0.5

5:

income: 0.1

experience: 0.1<</code>>

As you can see from code, you can pay even if player enters that chunk not first, but second, third, forth or even one hundred fifty third (if you brave to make setup like this). Recommended to leave it at low number, maybe first 3. Explore data saving into data base will be performed only on server stops to prevent unnecessary loads, as there can be quite a bit of data to save after some time.

V2.57.0

“Fix” for item boost requiring name and lore, now it can be ignored and have some boost by using vanilla items.

Fix for item boost ignoring item enchantments

Added new interesting feature (Beta stage). You can define item use limited by jobs level. So you can give option to use only wooden pickaxe from level 1, and then stone one from level 10, iron from like 20 and diamond from 30. You can even limit by items enchantments, so if player will have sharpness 3 sword and he have hunter level 20, but you have defined that sharpness 3 can be used only from level 25, he cant do anything with it, only with sharpness 2. If item is not defined, then no restrictions are applied.

limitedItems:
# Just name, dont have any impact
firstOne:
# Tool/Weapon id. Works for any interact action.
id: 278
# Level of this job player can start using this item
level: 5
# (optional) Items name, option to use color codes
name: ‘&8Miner Pickaxe’
# (optional) Item lore, again can come with color codes
lore:
- ‘&eBobs pick’
- ‘&710% bonus XP’
# (optional) Item enchantments, all enchantment names can be found https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html
# enchant level can inrease with jobs level to give best RPG experiance
enchants:
- DAMAGE_ALL=1
- FIRE_ASPECT=1<</code>>
* as mentioned its in beta version and feedback would be appreciated

**V2.56.0**

* Code cleaning and making it more “correct”
* Added defence against self killing for income. They can still abuse by killing others multiple times.

**V2.55.1**

* Fixed issue when there is no personal log data and t’here is no feedback to indicate it.
* Added missing locale for log and glog no data feedback.
* Fixed small issue with block brake timer
* Added additional exploit protection when placing blocks in water, like rails. Now they wont get destroyed until server restart, at least 5 of 10 times, as there is some strange bug, but its enough to make exploit unusable. Enabled by default.

**V2.55.0**

* Added 2 new McMMO multiplier’s for giga drill and super braker. Works in same way as treefeller protection.
* Added option to avoid paying negative amounts to players if they have couple big penalties. In example if they are in special zone with 50% penalty, have job with 25% penalty and using McMMO skill which one will give another 80%. So in total its like insane 155% penalty. So now you can limit it to like 10% of payment if player would get less than that. Its all quite complicated and in future planing of remaking all this stuff to be more friendly. For now just leave it how it is and you are good to go

**V2.54.5**

* Added translation line for “back” button
* Added fail safe when GUI title is 32 chars longer, it will be “cut” to 30 and “..” added
* Some small fix for jobs conditions

**V2.54.3**

* Small change on permission handling, to have compatibility with permission plugin like bungeeperms. This will have its corks, as now OP players will have all of permissions, like jobs.maxjobs.254. Not a big deal as OP players any ways have everything
* Fixed issue with top list and player name being NULL, now its will be ignored.
* Added new command to try fix player names if they are NULL in database, there is possibility that not all names will be fixed if you dont have players data any more or player is not “Legal” and there is no way to determine name from UUID. /jobs fixnames

**V2.54.2**

* Fix for GUI back button, now it will work with any button, left or right.
* Fixed possible issue when plugin is reloaded and some one is currently using GUI. This will allows to take out items from GUI. Now inventories will be closed for all thos players on plugin disable to be on safe side.

**V2.54.1**

* Added option to switch GUI left mouse button with right. BY default its old way, but if you need or want to change it, there you go.

**V2.54.0**

* Ok, on first start data base UUID will be converted from byte system to String, you will not feel any effects on that, but still, just saying.
* Added missing locale for jobs GUI titles
* Now actions like Brake, Kill will be taken from locale file to show in GUI
* Added option to split jobs description in couple lines (for GUI) by using /n
* Added option to disable jobs information showing up when using GUI with /jobs browse command
* Added option to use equations (ho don’t like them!) for money/exp limits. Now default equation will be 500+500*(totallevel/100) for money limit, this will add 1% for total player jobs level (2 jobs, 15 and 22 level, player will have 685 limit). If you don’t like using equations then just leave 500 or whatever you are using right now.

**V2.53.0**

* Fixed issue with inventory click
* Added basic GUI for jobs information and joining it. by default GUI will open on /jobs browse and /jobs join commands. To define GUI icon for particular job you will need to add information in jobConfig.yml like so
<<code yml>> Woodcutter:
fullname: Woodcutter
shortname: WC
ChatColour: GREEN
chat-display: shortfull
leveling-progression-equation: 10*(joblevel)+(joblevel*joblevel*4)
income-progression-equation: baseincome+(baseincome *(joblevel-1)*0.03)
experience-progression-equation: baseexperience+(joblevel-1)*0.03
Gui:
Id: 17
Data: 2<</code>>
* Added some additional locale lines for GUI
* Added backwards support for 1.7 servers, don’t think we need 1.6 support. So now Jobs plugin will work for 1.7 and 1.8 servers. Some stuff can be not working properly on 1.7 servers, as in example there is no feature like action bar messages on this version, so no action bar messages for you

**V2.52.0**

* Added MythicMobs support. Works same as any another payment method. Use MMKill category name to set that this is for mythicmobs and define MythicMob name, Like so
<<code yml>>
MMKill:
# mob name
CustomNameHere:
# base income
income: 7.5
# base experience
experience: 7.5
<</code>>

**V2.51.5**

* Small fix on plugin load

**V2.51.4**

* Changed some stuff around, moved sync map to concurred ones. Hoping this will help to solve some issues. Did live testing for 3 days with 30+ players, looks ok until now.

**V2.51.3**

* Small fix for data logging

**V2.51.1**

* Small fix for data base management

**V2.51.0**

* Small change in permission handling, this hopefully solves PEX issue
* Change in how offline players are being handled, you can change it back in config file if you will have issues, but this should give small performance boost and avoid small lag spikes in some cases.
* Now biggest (not fully finished) new feature. Players actions will be logged to database. By default its turned off. If enabled all players jobs actions will be logged and recorded into mysql/sqlite database for easy to see statistics. All statistics will be separated by days. For now there is only basic functionality as i need live testers on this and some feedback on performance. There will be 2 new commands /jobs log [nickaname] and /jobs glog. /jobs log [nickname] will show players today’s statistics (only first 10 entries), if nickname not given, then it will show yours. Like:

{{http://ltcraft.lt/wp-content/uploads/2015/09/log.jpg|log}}

By default player can see only hes statistics, with jobs.command.log.others he will have option to look into other people stats.
/jobs glog will show overall statistics from today’s log from all players

{{http://ltcraft.lt/wp-content/uploads/2015/09/glog.jpg|glog}}

As you can see all statistics are sorted by money in Descending order for easy to see ho is making most money, maybe exploiting something
P.S. enjoy

**V2.50.0***

* Fixed issue when you don’t have any workers in job and using /jobs info jobname and this causing huge lag spike
* Added conditions for jobs. So from now you can have couple different requirements to get particular permission.
<<code yml>>
# Permissions granted when perticular conditions are meet
conditions:
# Condition mane, irelevent, you can write anything in here
first:
requires:
# j marks that player should have particular jobs level and higher
- j:Miner-50
- j:Digger-50
# p marks permission requirement
- p:essentials.notnoob
perform:
# p marks permission, player will get if given true value, if used false, permission will be taken
- p:essentials.fly-true
<</code>>

**V2.49.0**

* Added additional option to broadcast messages in intervals to announce about money/exp boost. New setup should look something like this
<<code yml>>
Boost:
NightBoost:
Enabled: true
From: ’23:00:00′
Until: ’07:00:00′
Exp: 2.0
Money: 2.0
Days:
- All
Jobs:
- All
BroadcastOnStart: true
MessageOnStart:
- ‘&e***********************************************’
- ‘&e* All jobs got 2x rate for exp and money!’
- ‘&e* For limited time only!’
- ‘&e***********************************************’
BroadcastOnStop: true
MessageOnStop:
- ‘&e***********************************************’
- ‘&e* Boost time for jobs have beed stoped’
- ‘&e* All rates reseted to original ones’
- ‘&e***********************************************’
BroadcastInterval: 15
BroadcastMessage:
- ‘&e******************************************************’
- ‘&e* 2x boost time for all jobs is activated until [until] *’
- ‘&e******************************************************’
<</code>>
* In addition added 2 variables [from] and [until] to insert time stamps if you want to provide information until when boost will be activated. Or you can just insert manually yourself ^.^

**V2.48.0**

* Added exploit protection against slime/magma cube splitting. As split ed slime is treated as naturally spawned monster and you can get allot money if you are blocking money gain from spawners but players can change spawner to slime/magma cube ones. There is new config setting in generalConfig file (ExploitProtection section) if you want to disable this feature. By default its turned on.

**V2.47.6**

* Fix for scheduler not resetting rates back to original.

**V2.47.5**

* Final fix for disappearing permissions, looks line now its working how it should

**V2.47.4**

* One more attempt to fix jobs permission losing on players reloging.
* Fix for /jobs toggle staying on off for short time.
* Fix for jobs limit to stop working after some time. Still needs some cleanup to be done, but i need more coffee for this…

**V2.47.3**

* Attempt to fix disappearing permissions on relog

**V2.47.1**

* Fix on player join throwing error message (Sorry for late update)

**V2.47.0**

* Added separate commands for exp and money boost, now its /jobs expboost [jobname] [rate] and /jobs moneyboost [jobname] [rate]
* Added scheduler for boost to be activated automatically and stopped automatically when needed. This will let you to have in example bigger exp or money rates at nights or weekends. You will need to enable it in general config file (at bottom) and configure new schedule.yml file for your liking.
<<code yml>>
# Enabled – with this false this schedule will be ignored
# From and Until is in 24 hours format with : signs to separate minutes and seconds
# Exp and Money determines how big is boost, to reset it. keep it at 1.0. so if you use 2.0 that means all money/exp is doubled
# Days variables: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, All
# Jobs can be any of your settup job or use All to give for all jobs at once
# BroadcastOnStart or BroadcastOnStop – set it false to disable message when boost starts/stops
# MessageOnStart or MessageOnStop – optional messages, if not given, then message from locale file will be shown

Boost:
NightBoost:
Enabled: false
From: ’23:00:00′
Until: ’07:00:00′
Exp: 2.0
Money: 2.0
Days:
- All
Jobs:
- All
BroadcastOnStart: true
MessageOnStart:
- ‘&e***********************************************’
- ‘&e* All jobs got 2x rate for exp and money!’
- ‘&e* For limited time only!’
- ‘&e***********************************************’
BroadcastOnStop: true
MessageOnStop:
- ‘&e***********************************************’
- ‘&e* Boost time for jobs have beed stoped’
- ‘&e* All rates reseted to original ones’
- ‘&e***********************************************’
ShortMoneyBoost:
Enabled: false
From: ’07:00:00′
Until: ’08:00:00′
Exp: 1.0
Money: 2.0
Days:
- Sunday
- Saturday
Jobs:
- Miner
- Woodcutter
BroadcastOnStart: true
MessageOnStart:
- ‘&e***********************************************’
- ‘&e* Miner and Woodcutter got 2x rate for money!’
- ‘&e* Until 8AM!’
- ‘&e***********************************************’
BroadcastOnStop: true
MessageOnStop:
- ‘&e***********************************************’
- ‘&e* Boost time for Miner and Woodcutter have beed stoped’
- ‘&e* Money rates reseted to original ones’
- ‘&e***********************************************’
<</code>>

**V2.46.1**

* Added timer for scoreboard to clear itself after some time

**V2.46.0**

* Optimized bunch of code to lower load on server, this should improve overall performance of plugin couple times.
* Slightly moved broadcast variables, so after update check your config file to adjust by your liking.
* Added option to broadcast players level up only on certain levels instead on every one to avoid spam in chat.
* Added optional information for /jobs browse to see total player count for particular job. you can disable or enable this in general config file under JobsBrowse node.
* From previous new small feature fallows new big one. There is option to automatically adjust payments for all jobs depending on how many players are working now. For example: mine server have 11 jobs, one job have 1114 workers and another only 10, whats makes it worthless, yea i know i need to balance it out, but ho have time thees days to play around it so with this new feature jobs payment adjust automatically and job with 1114 workers will get 25% penalty in payment (this is max penalty, made up in config file as with this many workers penalty gets to around 87% whats makes job pointless, but if you want you can set penalty as many as you want, and yes it can get to even minus, so for every action player will start loosing money, so keep it at least less than 100 ) and job with only 10 workers will get 23% payment bonus (by default it can get to up to 100%). All this depends on total job count, on total worker count and bunch of another stuff… all is quite complicated, but for simple plug and play use basic setup will be fine. For more advanced admins there is equation support, so you can play around and find best fit for your server. /jobs browse and /jobs info [jobname] will output information on how much job get penalty or bonus if you are using thees features on your server and avoid player confusing when they will start getting more or less for jobs actions.
{{http://ltcraft.lt/wp-content/uploads/2015/08/jobsbrowse.jpg|browse}}
{{http://ltcraft.lt/wp-content/uploads/2015/08/jobsinfo.jpg|info}}
* Next. Taxes, asked feature for quite some time. You can set up taxes amount and do 2 thinks with it. Transfer money amount to server account or just make it “disappear”. Take taxes amount from players payment or just get taxes amount as additional sum. All explained in config file.

**V2.45.3**

* Again small fix for player join event

**V2.45.2**

* Small fix for error on join

**V2.45.1**

* Fixed small issue with tab complete
* Now economy pay is async by default, to have better performance for everyone as there is no issues reported on this feature, so no point to have it off by default as it will save allot of server power.
* Some optimizations for join/quite event listeners to be less heavy on server side (not fully tested tho, but all should be fine)
* Changed same job head update interval (when needed, this will happen only on jobs level up, jobs join/quite or similar events) from 0.5 sec to 1 sec, no one will notice this ^.^
* Fixed issue for OP’s getting all permissions like jobs.max.256 or jobs.petpay and similar which ones changes payment, now you will need to give permission for them to have it as for regular players (silly mortals…).

**V2.45.0**

* Removed OP being ignored for jobs boost by permission, now you will need to negate some permission if you will want to have same rate as regular players while you are op.
* Now there is option to disable jobs info if you don’t have jobs.join.[jobname] permission node.
* Added global top list as requested, now you can see top list of all players counting their job level’s. Works same as regular top list. Command /jobs gtop. And yes you can use signs to display global top list, again same as regular top list, difference is that you need to use gtoplist on second line and skip job name
<<code yml>>
[jobs]
gtoplist

1
<</code>>

**V2.44.3**

* Again fix for signs, did silly mistake before :/

**V2.44.2**

* Small fix for item repair

**V2.44.1**

* McMMO causing issue when its not returning correct data back and causing error in console, i’m still strongly recommend to update mcmmo plugin to latest one or even dev version, they are quite stable ones. As this fix will only eliminate error and actually disable tree-feller multiplayer to be working entirely and players will get full pay for tree cutting with this skill if you are using outdated mcmmo plugin.
* Action bar fix for 1.7 and older versions, they don’t have it… so yea…
* Fix for toplist signs trying to fill all 4 sign lines with non existing player names. This is not an issue if you actually have more than 4 entries to fill sign up.

**V2.44.0**

* Fixed issue with cookie crafting not being paid.
* Fixed issue for jobs top list on scoreboard showing strange place numbers.
* Fixed issue for 1.7 clients having troubles with Guardians not being find in library (they only for 1.8+).
* Updated default RU locale (thx Leymooo)
* Added pagination for jobs top list.
* Added support for milking Mushroomcow.
* Added option to perform commands on player joining or leaving specific job.
<<code yml>>
fullname: Miner
shortname: M
description: Earns money mining minerals and ores.
ChatColour: DARK_GRAY
chat-display: full
cmd-on-join:
- ‘msg [name] Thx for joining this job!’
- ‘msg [name] Now start working and get money from [jobname] job!’
cmd-on-leave:
- ‘msg [name] You have left this awesome [jobname] job’
- ‘msg [name] See you soon!’
<</code>>
* And again fun part for end Added sign top list support. And boy they work well! To create sign fill new sign with lines like this :
<<code yml>>[jobs]
toplist
miner
1

Download Links

For 1.8.1

http://download.minecraftdata.com/index.php?act=dl&id=311096

Credits: Zrips

The post Jobs Reborn Bukkit Plugin 1.8.1 appeared first on Minecraftdata.com -Mods, Resource Packs, Maps, Tools, Skins, Updates.

Show more