Jobs 2.59.0

Details

  • Filename
    Jobs2.59.0.jar
  • Uploaded by
  • Uploaded
    Jan 10, 2016
  • Size
    332.33 KB
  • Downloads
    255
  • MD5
    a1d177b6c93a2f4623eecc9c1e9884e0

Supported Bukkit Versions

  • 1.8.1

Changelog

V2.59.0

  • Removed breeder finder from config file, as this is done automatically now
  • Fixed small issue with titles adding space at end
  • Fixed issue with to long names on signs
  • Added option to pay for eating food
        # Eating food
        Eat:
          cooked_rabbit:
            income: 5
            experience: 5
          baked_potato:
            income: 5
            experience: 5
    
  • Added option to get paid for breaking blocks with tnt and minecart with tnt. This will work similar as breeder, so payment will go to closes player from detonation (max 60 blocks, same world) if he has job associated with that action. This is due to wide range of possible detonations (redstone, flint, switch, pressure plate, another tnt and so on) and no easy way to get player ho have ignited tnt (yes there is a way, but i'm to lazy :) )
        # payment for breaking a block with tnt
        TNTBreak:
          LOG:
            income: 5.0
            experience: 5.0
    

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

this will make sign like this

s

so its 4 player counting from first place. so you can have as many signs as you want to. But this is not all of course... d'oh... you know me... You can setup special signs for top 3 places (yes only top 3 places) like this This will create sign like this

[jobs]
toplist
miner
1s

d

Just add leter "s" after place and this will create special sign And that's not all again! You can place player head on top of sign and it will update automatically! So with everything settup properly you can have something like this: d

V2.43.2

  • Left my debugging message... (note for my self to make pro-pa debugging stuff...)

V2.43.1

  • This is essential fix for jobs-max level issue coming from last build by not letting to level up any more. Plz update it and don't burn me on stake :)

V2.43.0

  • First of, realized that color name in itemlist.yml file for light gray is incorrect, it should be silver. So if you having trouble translating it just change it to this line: - '8 - &7Light gray = silver'
  • Updated German locale (thx dweSheppard for provided translation)
  • As of request changed petpay variable from true/false to multiplayer and in addition to that added separate permissions based petpay multiplayer to give your VIP players (jobs.petpay). You will need to update this area in config file accordingly what you had before.
  • Added option to disable message for to fast placed blocks.
  • Fixed issue when message about money limit would be shown twice.
  • Added requested feature to have maxjobs level based by permission node jobs.[jobname].vipmaxlevel This should be provided in simlar way as max-level for jobs.
    max-level: 10
    vip-max-level: 20
  • Now tricky part. You will need to update your money limit as they was some changes and moved variables to slightly different place. I needed to do this sooner or later anyways :) Why update you asking? Well i have added additional separate limit for exp. now you can limit money and exp separately or together. You can stop giving exp/money if one of limits was reached or let players to get exp even after money limit was reached or vise versa.

V2.42.0

  • First thinks first. Added one more protection against fast place/break exploiting. With help of core protect now its possible to prevent from to fast placing block in same place. This will safe your server's ass against thinks like sapling/seed placing's and breaking's by simply holding left and right mouse buttons. Look for config line in general config file. Keep that value really low just to avoid possible legal fast block placings. There is additional block list in restrictedBlocks.yml file under PlacedBlockTimer node.
  • Added support for Zombie villager and Elder guardian. So now there is three not official mob names to use in config file: WitherSkeleton, ElderGuardian, ZombieVillager.
  • And now fun part :) Added 700 lines... That took some time.... But now there will be appropriate names for ALL blocks/items/mobs/enchants/colors. And you can have block/item description to show that you can break any type of stone by only giving id 1 or name stone in config file and it will show up like "All stones" after entering /jobs info miner. And yes, they can be translated and yes you can use color codes to make them even fancier :) Text lines quite funky in file, so if you are not sure what are you doing, plz don't :)

V 2.41.0

  • Some changes in GeneralConfigFile. You will need to re-setup again some settings . Moved all exploit settings in to one area ExploitProtections.
ExploitProtections:
  Coreprotect:
    # Requires to have CoreProtect plugin and there should be block place/break logging enabled in core protect config file.
    # This will prevent players from abusing by placing and breaking blocks again and again
    # This will work even after server restart
    Use: false
    # Time limit in minutes to protect blocks from repeating place/breake action.
    # 10080 equals to 7 days, keep it in reasonable time range
    TimeLimit: 10080
  General:
    # Enable blocks protection, like ore, from exploiting by placing and destroying same block again and again.
    # This works only until server restart
    # Modify restrictedBlocks.yml for blocks you want to protect
    PlaceAndBreakProtection: true
    # Enable silk touch protection.
    # With this enabled players wont get paid for breaked blocks from restrictedblocks list with silk touch tool.
    SilkTouchProtection: false
    # Enable piston moving blocks from restrictedblocks list.
    # If piston moves block then it will be like new block and BlockPlaceAndBreakProtection wont work properly
    # If you using core protect and its being logging piston block moving, then you can disable this
    StopPistonBlockMove: true
    # Enable blocks timer protection.
    # Only enable if you want to protect block from beying broken to fast, useful for vegetables.
    # Modify restrictedBlocks.yml for blocks you want to protect
    BlocksTimer: true
    # All blocks will be protected X sec after player places it on ground.
    GlobalBlockTimer:
      use: false
      timer: 30
    # Do you want to pay when players pet kills monster
    # Can be exploited with mob farms if this set to true
    # Optionaly you can give jobs.petpay permission node for specific players/ranks to get paid
    pet-pay: false
  # McMMO abilities
  McMMO:
    # Players will get part of money from cutting trees with treefeller ability enabled.
    # 0.2 means 20% of original price
    TreeFellerMultiplier: 0.2
  • Renamed some of old config variables to be more user friendly
  • Fixed issue for redstone id being changed when setting up Place action.
  • Added missing locale line for vegy break timer.
  • Added support for core protect to be optionally used instead of older block protection mechanic, which one works only until server restart, then block data resets. This is not big deal, but peps ware abusing by placing hundreds of expensive blocks and breaking them with silk touch after server restart and getting allot of money from that.
  • Added option to enable/disable piston move blocking. This can be disabled if you using coreprotect piston move logging.
  • Added option to block payment when breaking with silk touch enchantment. This partially solves exploiting by placing/breaking most expensive ore blocks and its most lightweight of them all, but its most inaccurate and not user friendly solution.
  • Added option to protect all blocks for some time after its being placed. Useful just to have general protection for fast place/break exploits.