Inactive Jobs v2.0.1 - Jobs plugin for Minecraft (iConomy 4/5 & BOSEconomy, Permissions) [860]

Discussion in 'Inactive/Unsupported Plugins' started by flametornado, Apr 17, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    flametornado

    NOTE: THIS PLUGIN IS NO LONGER BEING DEVELOPED \ SUPPORTED BY ME.

    phrstbrn HAS TAKEN UP THE DEVELOPMENT \ SUPPORT AND ALL QUERIES SHOULD GO TO HIM ON HIS POST. (http://forums.bukkit.org/threads/ec...t-935-iconomy-5-boseconomy-permissions.23429/)


    Jobs - The Job plugin for Minecraft:
    Version: 2.0.1

    Requires:
    • iConomy 4/5 / BOSEconomy
    Optional

    • Stats and Achievements
    • Permissions
    • MySQL
    A fully configurable plugin that allows you to get paid for breaking, placing and killing. Class based (experience increases as you perform your job).


    NOTE: Please read the comments in the configuration file thoroughly and check the console errors before posting here for help.

    [fire]IMPORTANT [fire]: If you want to upload your config for help, please do so using the forum's upload functionality.

    If you like this plugin, please donate.

    [​IMG]

    Video



    Thanks Samkio for the plugin tutorial video.

    Downloads
    Previous Versions (open)



    Features:
    • Create your own custom jobs and choose what they get paid for and how much.
    • Leveling mechanic where higher level jobs will give higher incomes. Income earnt = experience gained.
    • Equation determining maximum experience, experience gained and income gained is customizable.
    • Customizable skill levels in the game to mark leveling milestones (fully customizable in the configuration file).
    • Your profession and skill level is part of your display name and whenever you talk everyone will know what you do and how good you are. (optional)
    • Stats of your maximum level in a job is saved if you have the stats and achievements plugin. ( for bragging rights) (optional)
    • Does periodic saving and save on player exiting the server.
    • Leaving a job resets your job level and experience to 0.
    • Permissions support.
    • Admin commands work even when the players are offline.
    Source:


    I made a sourceforge account for this. It will allow you to report bugs and feature requests. It'll help me a lot to make sense of this.

    The link is https://sourceforge.net/projects/flametornadjobs/.

    Some rules before you go there:
    1. Please look through the bugs that have already been reported to see if someone else has already reported that bug. If you have any extra information, post it on the bug's comments. The more information I have, the easier it is for me to fix it and test it.
    2. Same as above for feature requests.


    Commands:
    Code:
    Player:
    /jobs browse -  View a list of the available jobs.
    /jobs join [job name] - Join the job.
    /jobs leave [job name] - Leave the job.
    /jobs info [job name] [break, place, kill] - view information about that job.
    /jobs stats - view your job level and experience needed to level up.
    
    Admins:
    /jobs fire [playername] [job] - fire the player from the specified job.
    /jobs employ [playername] [job] - employ the player into the specified job.
    /jobs promote [playername] [job] [levels] - promote the player in their job X levels.
    /jobs demote [playername] [job] [levels] - demote the player in their job X levels.
    /jobs grantxp [playername] [job] [experience] - grant the player X experience in the selected job.
    /jobs removexp [playername] [job] [experience] - remove X experience from the player in the selected job.
    /jobs transfer [playername] [oldjob] [newjob] - transfer the player's job (keeps levels and experience)
    
    NOTE: All job names are case sensitive.
    
    Permissions Nodes:
    Code:
    jobs.join.<jobname> - allows the group to join the job. Where <jobname> is replaced with the job name (e.g. jobs.join.Woodcutter or jobs.join.* to join all jobs).
    jobs.world.<worldname> - allows players to get paid on selected world.
    
    jobs.admin.fire - enables the fire admin command.
    jobs.admin.employ - enables the employ admin command.
    jobs.admin.promote - enables the promote admin command.
    jobs.admin.demote - enables the demote admin command.
    jobs.admin.grantxp - enables the grant experience admin command.
    jobs.admin.removexp - enables the remove experience admin command.
    jobs.admin.transfer - enables the transfer admin command.
    Changelog:

    Version 2.0.2 WIP
    • Added more parameters to job level up (jobname, jobcolour, titlename, titlecolour, playername, playerdisplayname, joblevel)
    • Fixed promote and demote to correctly change the max exp.
    • job names are no longer case sensitive.
    • Changed the saving mechanism to be synchronous instead of asynchronous (may help with people losing jobs)
    • added config option of enable-pay-near-spawner in general config.
    • Fixed some NPE
    • Wolves killing things gives the player money and experience.
    • Fixed empty tags not resulting in errors.
    • fixed mysql password is all numbers.
    • fixed honorific error
    NOTE: This version is stable, but not fully tested. I will not release this version fully until i track down the jobs vanishing bug and destroy it for all the hassle it has cause me :p


    Version 2.0.1
    • Small bugfixes
    • Moved where the update stats command is called so it won't break anything if there's an error in it. Should also improve performance slightly
    • made the enabling of the stats and achievements plugin optional (configuration parameter in general settings
    • ChatColour can now be in any case and it'll still work.
    Version 2.o.0

    • Multiple jobs
    • Exposed equations
    • More customization
    • Can specify sub-class
    • Can specify job class kills.
    • Messages are customizable.
    • Kills with arrows works
    • Admin commands (work offline too)
    • Can disable payout on certain worlds (mainly for creative servers).
    • Can limit the number of jobs a player can have
    • Can limit the number of people that can have a certain job per server.
    • Better console error messages.
    • Plugin disables itself properly.
    Changelog (open)



    Version 1.3.3b and 1.3.2b
    • Killing works properly now. Drops seem to have gone back to normal levels and you can kill stuff and get paid for it all the time.
    • 1.3.3b is for iConomy 5 AND ONLY iConomy 5
    • 1.3.2b is for before iConomy 5 AND ONLY before iConomy 5
    Version 1.3.3

    • iConomy 5 support.
    Version 1.3.2

    • Removed annoying spam message which was for debugging and i forgot in for 1.3.1
    • Changed experience to be a double so people get experience for things less than 1. Saving mechanism still saves using integers, it would create waaaay too much fuss to change this since the database schema would need to be changed for everyone that used this plugin and it would render all previous saves incompatible. This seems like a decent compromise. People will lose a maximum of .99 exp when they log out.
    • Better method for checking when an animal's dead, should fix the weird animation problem and the lack of drops some people have been experiencing.
    Version 1.3.1

    • Killing near mob spawners will not give you money anymore.
    • Displays payment amount when you do /jobs info for killing now too.
    • Changed way that you create kill tags incode. Results in the system crashing and the plugin not being enabled if you got the wrong name (e.g. capitals or misspelt name)
    Version 1.3.0

    • Killing stuff should work now. This section is not as thoroughly tested, but should work fine.
    • No jobs have been made with killing stuff, you're on your own with the configuration for a while but the template section has been updated, it follows the same pattern as break and place.
    Version 1.2.3 - Bugfix update

    • changed priority to make sure it gets run last (to make the following points work properly)
    • checks if you can place a block or if the event is canceled by another plugin. Done to avoid people getting rick very easily by placing blocks in areas they are not allowed.
    • Fix for players not getting removed properly in the onDisable function which results in weird names when people reload their plugins.
    Version 1.2.2

    • The titles will now take into account any previous modifications to your display name by another plugin and simply tack on the title at the front (and when you change jobs, strip it from your title and tack a new title at the front).
    Version 1.2.1

    • Base experience is now configurable
    • experience multiplier is not configurable (for those who want lower economies). If you want to give 0.2 of your currency to per item, then set the multiplier to 10.
    Version 1.2.0

    • A little code cleanup.
    • Permissions support
    • customizable flat rate pay
    • customizable skill titles.
    Version 1.1.2

    • Cleaned up sql commands more to make them more specific and avoid errors as much as possible. Hard to test this since neither my testing server and my proper server have any problems seen by other people.
    • Fixed the system to work with /reloadall command. The experience was still being saved, you just needed to log out. I didn't even know that this command existed, so i never thought i'd have the plugin enable with people in the server. It now takes that into account and online users will not need to log out to see their stats and work on their jobs.
    Version 1.1.1 [fire] RECOMMENDED [fire]

    • Cleaned up SQL commands to be more exact, should result in less errors.
    • New configuration for what kind of prefix to add to the username (job, skill level, both or none).
    • New configuration to toggle the option of broadcasting messages when users reach the next skill level.
    • [Stats & Achievements] - further integration, this plugin now also adds the iConomy money amount to the stats table. (will always be 1 block behind)
    • URGENT FIX - tables were not getting cleared and players ended up having multiple jobs with multiple levels instead of one job and one set of levels. Code written to auto correct this.
    Version 1.1.0

    • Added BOSEconomy integration. This should be automatically detected.
    • Added flatfile functionality for server admins who don't want to use mysql.
    • EXPERIMENTAL : Added sqlite functionality, I sadly couldn't get sqlite to work properly on my testing machine so i haven't tested it. It should work though.
    Version 1.0.1

    • Small fix on /jobs stats command. It now rounds off the two decimal places and is less annoying to look at when it gives you the price for placing/destroying a block
    Version 1.0

    • Initial build, spent the weekend on it, pretty satisfied with it, added all mentioned functionality.
    [\SPOILER]

    TODO:



    See sourceforge for requested features and bugs.
     
  2. Offline

    Casier

    When i started my server, i haven't error :
    My log when i started my server (open)
    2011-06-24 17:15:05 [INFO] [Jobs v2.0.2 WIP 3] has been enabled succesfully.
    2011-06-24 17:15:05 [INFO] [Jobs] Successfully linked with iConomy 5+.
    2011-06-24 17:15:05 [INFO] [Jobs] Successfully linked with Permissions.


    But, i have an error when a Player play with Flint and tinder, because my worldguard config wrote on the log when a player use Flint and tinder, but when worldguard wrote on the log, The plugin Jobs have an error

    My log when jobs crashed (open)
    2011-06-24 21:23:55 [INFO] WorldGuard: [mineshaft] Dylan tried to use Flint and tinder (#259)
    2011-06-24 21:23:55 [SEVERE] Could not pass event BLOCK_PLACE to Jobs
    java.lang.NullPointerException
    at me.alex.jobs.listener.JobsBlockPaymentListener.onBlockPlace(JobsBlockPaymentListener.java:31)
    at org.bukkit.plugin.java.JavaPluginLoader$27.execute(JavaPluginLoader.java:426)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:88)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:72)
    at org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:68)
    at net.minecraft.server.ItemFlintAndSteel.a(ItemFlintAndSteel.java:77)
    at net.minecraft.server.ItemStack.placeItem(ItemStack.java:56)
    at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:225)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:550)
    at net.minecraft.server.Packet15Place.a(SourceFile:57)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)



    List of my Plugin (open)
    AutoMessage
    EasyBan
    All of the Essentials Plugin
    HeroicDeath
    Iconomy
    IcomnomyChestshop
    Jail
    Jobs
    Lockette
    Magiccarpet
    MidiBanks
    All of the Minecart Mania Plugin
    Minecraft Viewer
    Multiverse
    NoCheat
    pvp
    Tombstone
    WeatherPlugin
    WirelessRedstone
    WorldEdit
    Worldguard
    xAuth


    I use Craftbukkit #860
    And jobs V2.0.2 WIP3
     
  3. Offline

    Fob_Upset

    My console is getting spammed with


    [SEVERE] Could not pass event BLOCK_PLACE to Jobs
     
  4. Offline

    Axonn

    I have a problem. When I (as admin) join a job it works perfectly but when players on my server join the job, they join it properly but they don't earn money and experience.. Please Help!
     
  5. Offline

    Alesana

    Did you forgot to add this permission node?

    jobs.world.<worldname> - allows players to get paid on selected world.
     
  6. Offline

    Milchshakee

    Nice plugin....but if somebody kill my taimed wolf i get this error:
    Code:
    2011-06-25 23:10:32 [SEVERE] Could not pass event ENTITY_DEATH to Jobs
    java.lang.NullPointerException
        at me.alex.jobs.listener.JobsKillPaymentListener.onEntityDeath(JobsKillPaymentListener.java:57)
        at org.bukkit.plugin.java.JavaPluginLoader$56.execute(JavaPluginLoader.java:635)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
        at net.minecraft.server.EntityLiving.r(EntityLiving.java:480)
        at net.minecraft.server.EntityLiving.a(EntityLiving.java:459)
        at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:403)
        at net.minecraft.server.EntityWolf.a(EntityWolf.java:360)
        at net.minecraft.server.EntityCreature.c_(EntityCreature.java:68)
        at net.minecraft.server.EntityWolf.c_(EntityWolf.java:95)
        at net.minecraft.server.EntityLiving.u(EntityLiving.java:702)
        at net.minecraft.server.EntityWolf.u(EntityWolf.java:141)
        at net.minecraft.server.EntityLiving.o_(EntityLiving.java:232)
        at net.minecraft.server.EntityWolf.o_(EntityWolf.java:169)
        at net.minecraft.server.World.entityJoinedWorld(World.java:1142)
        at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:49)
        at net.minecraft.server.World.playerJoinedWorld(World.java:1124)
        at net.minecraft.server.World.cleanUp(World.java:1101)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:447)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    I use cb 928 and jobs 2.02 WIP. Please help :eek:
     
  7. Offline

    terkv

    Is it possible to add like they can get and switch job when clicking on signs? :)
    Like click on the sign with the name "Woodcutter" and you'll get the job.
    And for example if you click on another sign you get like a instant message to you, "Are you sure you want to switch job?" And then you have to type "Yes" or "No" :)

    Thanks, just a suggestion.
     
  8. Offline

    Draycos

    Are the chat commands that difficult to remember?
    (I don't think they are)
     
  9. Offline

    terkv

    No, but as people can like choose job by their self, as they dont have to ask a admin for it all the time :)
     
  10. Offline

    Alesana

    What about the builder job? Hes suposed to be paid for placing block ... I make them pay to breck the block? It make no sense.

    Please, can you fix the unlimited money exploit/bug?
     
  11. Offline

    RastaLulz

    I'm having the same exact problem. :oops:
     
  12. Offline

    FailedStyle

    Here is my config and i uploaded once it isn't the original but the same is in my original...
    Pls help me.
    GuardianAnge
    Code:
    Jobs:
        Holzfaeller:
            fullname: Holzfaeller
            shortname: H
            ChatColour: YELLOW
            chat-display: full
            #max-level: 100
            #slots: 5
            leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
            income-progression-equation: baseincome*((1.05)^(joblevel-1))
            experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
            Break:
                LOG:
                    income: 0.5
                    experience: 2.0
            Place:
                SAPLING:
                    income: 0.2
                    experience: 0.5
                WOOD:
                    income: 0.4
                    experience: 1.0
            Kill:
            custom-kill:
                Holzfaeller:
                    income: 3.0
                    experience: 2.5
        Minenarbeiter:
            fullname: Minenarbeiter
            shortname: M
            ChatColour: DARK_GRAY
            chat-display: full
            #max-level: 100
            #slots: 5
            leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
            income-progression-equation: baseincome*((1.05)^(joblevel-1))
            experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
            Break:
                STONE:
                    income: 0.1
                    experience: 0.25
                COAL_ORE:
                    income: 0.25
                    experience: 0.5
                REDSTONE_ORE:
                    income: 0.5
                    experience: 0.75
                IRON_ORE:
                    income: 0.75
                    experience: 1.0
                GOLD_ORE:
                    income: 1.5
                    experience: 2
                LAPIS_ORE:
                    income: 3
                    experience: 3.5
                DIAMOND_ORE:
                    income: 5
                    experience: 5.0
                OBSIDIAN:
                    income: 5
                    experience: 5.0
                MOSSY_COBBLESTONE:
                    income: 1.5
                    experience: 1.5
            Place:
                IRON_ORE:
                    income: -5.0
                    experience: -5.0
                GOLD_ORE:
                    income: -6.0
                    experience: -6.0
            custom-kill:
                Holzfäller:
                    income: 3.0
                    experience: 2.5
        Bauarbeiter:
            fullname: Bauarbeiter
            shortname: B
            ChatColour: WHITE
            chat-display: full
            #max-level: 100
            #slots: 5
            leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
            income-progression-equation: baseincome*((1.05)^(joblevel-1))
            experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
            Place:
                COBBLESTONE:
                    income: 0.1
                    experience: 0.15
                WOOL:
                    income: 0.2
                    experience: 0.25
                STONE:
                    income: 0.2
                    experience: 0.25
                GLOWSTONE:
                    income: 0.3
                    experience: 0.35
                SANDSTONE:
                    income: 0.2
                    experience: 0.25
                GLASS:
                    income: 0.2
                    experience: 0.25
                BRICK:
                    income: 0.8
                    experience: 0.85
                LAPIS_BLOCK:
                    income: 90
                    experience: 100
                DOUBLE_STEP:
                    income: 0.4
                    experience: 0.45
                STEP:
                    income: 0.1
                    experience: 0.15
                BOOKSHELF:
                    income: 1
                    experience: 1.5
                WOOD_STAIRS:
                    income: 0.1
                    experience: 0.15
                COBBLESTONE_STAIRS:
                    income: 0.1
                    experience: 0.15
                MOSSY_COBBLESTONE:
                    income: 0.3
                    experience: 0.35
                DIAMOND_BLOCK:
                    income: 90
                    experience: 100
                GOLD_BLOCK:
                    income: 45
                    experience: 55
            Kill:
            custom-kill:
                Bauarbeiter:
                    income: 3.0
                    experience: 2.5
        Graeber:
            fullname: Graeber
            shortname: G
            ChatColour: BROWN
            chat-display: full
            #max-level: 100
            #slots: 5
            leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
            income-progression-equation: baseincome*((1.05)^(joblevel-1))
            experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
            Break:
                DIRT:
                    income: 0.25
                    experience: 0.5
                GRASS:
                    income: 0.25
                    experience: 0.6
                GRAVEL:
                    income: 0.25
                    experience: 0.7
                SAND:
                    income: 0.25
                    experience: 0.8
                CLAY:
                    income: 1
                    experience: 1
            Kill:
            custom-kill:
                Graeber:
                    income: 10.0
                    experience: 10.0
        Bauer:
            fullname: Farmer
            shortname: F
            ChatColour: BLUE
            chat-display: full
            #max-level: 10
            #slots: 10
            leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
            income-progression-equation: baseincome*((1.05)^(joblevel-1))
            experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
            Break:
                WHEAT:
                    income: 0.5
                    experience: 0.75
                SUGAR_CANE_BLOCK:
                    income: 0.5
                    experience: 0.75
            Place:
                SEEDS:
                    income: 0.5
                    experience: 0.75
                SUGAR_CANE_BLOCK:
                    income: 0.5
                    experience: 0.75
            Kill:
            custom-kill:
                Bauer:
                    income: 3
                    experience: 2.5
     

    Attached Files:

  13. Offline

    cionxdistan

    I get an error message similar to this when starting my server.

    13:07:14 [SEVERE] [Jobs] - configuration file generalConfig.yml does not exist
    13:07:14 [SEVERE] [Jobs] - configuration file generalConfig.yml does not exist
    13:07:14 [SEVERE] [Jobs] - configuration file jobConfig.yml does not exist
    13:07:14 [SEVERE] java.io.FileNotFoundException: plugins\Jobs\jobConfig.yml (The
    system cannot find the path specified)
    13:07:14 [SEVERE] at java.io.FileInputStream.open(Native Method)
    13:07:14 [SEVERE] at java.io.FileInputStream.<init>(Unknown Source)
    13:07:14 [SEVERE] at java.io.FileInputStream.<init>(Unknown Source)
    13:07:14 [SEVERE] at me.alex.jobs.config.JobsConfiguration.loadJobSettings
    (JobsConfiguration.java:285)
    13:07:14 [SEVERE] at me.alex.jobs.config.JobsConfiguration.<init>(JobsConf
    iguration.java:82)
    13:07:14 [SEVERE] at me.alex.jobs.config.JobsConfiguration.getInstance(Job
    sConfiguration.java:1042)
    13:07:14 [SEVERE] at me.alex.jobs.Jobs.onDisable(Jobs.java:62)
    13:07:14 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlug
    in.java:127)
    13:07:14 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin
    (JavaPluginLoader.java:820)
    13:07:14 [SEVERE] at org.bukkit.plugin.SimplePluginManager.disablePlugin(S
    implePluginManager.java:269)
    13:07:14 [SEVERE] at me.alex.jobs.Jobs.disablePlugin(Jobs.java:1343)
    13:07:14 [SEVERE] at me.alex.jobs.config.JobsConfiguration.loadGeneralSett
    ings(JobsConfiguration.java:272)
    13:07:14 [SEVERE] at me.alex.jobs.config.JobsConfiguration.<init>(JobsConf
    iguration.java:80)
    13:07:14 [SEVERE] at me.alex.jobs.config.JobsConfiguration.getInstance(Job
    sConfiguration.java:1042)
    13:07:14 [SEVERE] at me.alex.jobs.Jobs.onEnable(Jobs.java:83)
    13:07:14 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlug
    in.java:125)
    13:07:14 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(
    JavaPluginLoader.java:799)
    13:07:14 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(Si
    mplePluginManager.java:253)
    13:07:14 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftSe
    rver.java:140)
    13:07:14 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftS
    erver.java:118)
    13:07:14 [SEVERE] at net.minecraft.server.MinecraftServer.e(MinecraftServe
    r.java:232)
    13:07:14 [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServe
    r.java:219)
    13:07:14 [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftSe
    rver.java:146)
    13:07:14 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:283)
    13:07:14 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:422)
    13:07:14 [SEVERE] [Jobs] - configuration file titleConfig.yml does not exist, di
    sabling titles
    13:07:14 [SEVERE] [Jobs] - configuration file messageConfig.yml does not exist,
    using default messages.
    13:07:14 [SEVERE] Error occurred while disabling Jobs v2.0.2 WIP 4 (Is it up to
    date?): null
    java.lang.NullPointerException
    at me.alex.jobs.config.JobsConfiguration.loadSlots(JobsConfiguration.jav
    a:96)
    at me.alex.jobs.config.JobsConfiguration.<init>(JobsConfiguration.java:8
    8)
    at me.alex.jobs.config.JobsConfiguration.getInstance(JobsConfiguration.j
    ava:1042)
    at me.alex.jobs.Jobs.onDisable(Jobs.java:62)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
    at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoade
    r.java:820)
    at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManag
    er.java:269)
    at me.alex.jobs.Jobs.disablePlugin(Jobs.java:1343)
    at me.alex.jobs.config.JobsConfiguration.loadGeneralSettings(JobsConfigu
    ration.java:272)
    at me.alex.jobs.config.JobsConfiguration.<init>(JobsConfiguration.java:8
    0)
    at me.alex.jobs.config.JobsConfiguration.getInstance(JobsConfiguration.j
    ava:1042)
    at me.alex.jobs.Jobs.onEnable(Jobs.java:83)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:125)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:799)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:253)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:140)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    13:07:14 [SEVERE] [Jobs] - configuration file jobConfig.yml does not exist
    13:07:14 [SEVERE] java.io.FileNotFoundException: plugins\Jobs\jobConfig.yml (The
    system cannot find the path specified)
    13:07:14 [SEVERE] at java.io.FileInputStream.open(Native Method)
    13:07:14 [SEVERE] at java.io.FileInputStream.<init>(Unknown Source)
    13:07:14 [SEVERE] at java.io.FileInputStream.<init>(Unknown Source)
    13:07:14 [SEVERE] at me.alex.jobs.config.JobsConfiguration.loadJobSettings
    (JobsConfiguration.java:285)
    13:07:14 [SEVERE] at me.alex.jobs.config.JobsConfiguration.<init>(JobsConf
    iguration.java:82)
    13:07:14 [SEVERE] at me.alex.jobs.config.JobsConfiguration.getInstance(Job
    sConfiguration.java:1042)
    13:07:14 [SEVERE] at me.alex.jobs.Jobs.onEnable(Jobs.java:83)
    13:07:14 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlug
    in.java:125)
    13:07:14 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(
    JavaPluginLoader.java:799)
    13:07:14 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(Si
    mplePluginManager.java:253)
    13:07:14 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftSe
    rver.java:140)
    13:07:14 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftS
    erver.java:118)
    13:07:14 [SEVERE] at net.minecraft.server.MinecraftServer.e(MinecraftServe
    r.java:232)
    13:07:14 [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServe
    r.java:219)
    13:07:14 [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftSe
    rver.java:146)
    13:07:14 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:283)
    13:07:14 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:422)
    13:07:14 [SEVERE] [Jobs] - configuration file titleConfig.yml does not exist, di
    sabling titles
    13:07:14 [SEVERE] [Jobs] - configuration file messageConfig.yml does not exist,
    using default messages.
    13:07:14 [SEVERE] Error occurred while enabling Jobs v2.0.2 WIP 4 (Is it up to d
    ate?): null
    java.lang.NullPointerException
    at me.alex.jobs.config.JobsConfiguration.loadSlots(JobsConfiguration.jav
    a:96)
    at me.alex.jobs.config.JobsConfiguration.<init>(JobsConfiguration.java:8
    8)
    at me.alex.jobs.config.JobsConfiguration.getInstance(JobsConfiguration.j
    ava:1042)
    at me.alex.jobs.Jobs.onEnable(Jobs.java:83)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:125)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:799)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:253)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:140)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)


    PLEASE help me. I get this with no matter what version I try.
     
  14. Offline

    phrstbrn

    Remove the builder job from your config then. The exploit is a social exploit, not a technical one. Without tracking every single block and coming up with some arbitrary rules to determine which blocks you can get money for, and what you can't, there is no way to fix this.

    Start with preventing any placeable blocks from gaining money (dirt/stone/cobble/brick/glass/etc), and ores like gold+iron give negative money when placed. Even non-miners should cost money to place gold+iron to prevent social engineering exploits.

    If you want to add a job that makes money from placing blocks, reduce the money to something very small, such that placing+picking up the same stack of blocks over and over would be a waste of time and tools
     
  15. Offline

    Alesana

    Then this plugin should track block. I am not going to use it anymore.
     
  16. Offline

    flametornado

    look at the errors,your config files are missing.

    let me make it quite simple why that's a bad idea.

    On a server a normal user can manipulate the location of hundreds, thousands and even tens of thousands of blocks per day. A server can have up to 100 people, but for the sake of this example, let's say there are 10 players on the server, each modifying 1000 blocks each day.

    In 1 day you have 10000 blocks that have been placed that need to be tracked. In a week that's 70000. Not only does the position of these blocks as well as the player who placed them need to be tracked, but who placed them as well. And every time that someone breaks a block it has to check if the block that was broken is part of that list. This has a huge over head in memory requirements, processing and hard drive space needed.

    Now imagine a large server with a very busy community. 10000 blocks per day per player, 50 players. In a month, 15,000,000 blocks would of be placed. It would take truly colossal amounts of memory to hold that, a lot of hard drive space and the computation needed to check that would be so high that it'd render the server unplayable.

    The best solution would be if the bukkit team modified the minecraft code to give blocks a player name assigned to it which gets saved. It'll lower performance slightly for everyone (at least for loading chunks) but otherwise would solve this problem nicely. This is very unlikely to happen as I doubt they want to modify the saving code (would also make bukkit worlds incompatible with normal minecraft worlds)



    Also, sadly, due to too much uni work to do and little free time, i'm not going to support this plugin anymore. If anyone wants to continue it, they can do so if they want.
     
  17. Offline

    Feldow

    hey iv recently started using jobs plugin and am regretfully saying that iv got a problem.
    When im in minecraft i use the command /jobs and that works fine but when i do /jobs browse it says there are no jobs available.
    Although when im typing in my server prompt it almost works. jobs browse does list the available jobs but the other commands are ignored
    Pls Help this plugin would be great for my server
     
  18. Offline

    flametornado

    do you have the correct permission nodes?
     
  19. Offline

    Alesana

    You just have to reset the "block data" each day. Like this, player won't be able to make money with the block they already placed/destroyed for 24 hours. How do you think big brother work? It log the block placed and destroyed and delete the "data base" when it became old. I cannot use this plugin because player can make unlimited money ...
     
  20. Offline

    flametornado

    phrstbrn has agreed to take over the plugin development and support for me. I pass on all of the code and documentation to them and they will be the new developer of this plugin.
     
  21. Offline

    Kitzur

    The Plugin works fine, but the jobs will not be displayed. Cb 928 and Permission 3.5 b
     
  22. Offline

    Alpha52

    Jobs as in job titles?
     
  23. Offline

    Kitzur

    My config;
    Show Spoiler
    Jobs:
    # must be one word
    Woodcutter:
    # full name of the job (displayed when browsing a job, used when joining and leaving)
    # also can be used as a prefix for the user's name if the option is enabled.
    # Shown as a prefix only when the user has 1 job.
    #
    # NOTE: Must be 1 word
    fullname: Woodcutter
    # Shortened version of the name of the job. Used as a prefix when the user has more
    # than 1 job
    shortname: W
    # The colour of the name, for a full list of supported colours, go to the message config.
    ChatColour: GREEN
    # Option to let you choose what kind of prefix this job adds to your name.
    # options are: full, title, job, shortfull, shorttitle, shortjob and none
    chat-display: job
    # [OPTIONAL] - the maximum level of this class
    #max-level: 10
    # [OPTIONAL] - the maximum number of users on the server that can have this job at
    # any one time (includes offline players).
    #slots: 1
    # Equation used for calculating how much experience is needed to go to the next level.
    # Available parameters:
    # numjobs - the number of jobs the player has
    # joblevel - the level the player has attained in the job.
    # NOTE: Please take care of the brackets when modifying this equation.
    leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
    # Equation used for calculating how much income is given per action for the job level.
    # Available parameters:
    # baseincome - the income for the action at level 1 (as set in the configuration).
    # joblevel - the level the player has attained in the job.
    # NOTE: Please take care of the brackets when modifying this equation.
    income-progression-equation: baseincome*((1.05)^(joblevel-1))
    # Equation used for calculating how much experience is given per action for the job level.
    # Available parameters:
    # baseexperience - the experience for the action at level 1 (as set in the configuration).
    # joblevel - the level the player has attained in the job.
    # NOTE: Please take care of the brackets when modifying this equation.
    experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
    ########################################################################
    # Section used to configure what items the job gets paid for, how much
    # they get paid and how much experience they gain.
    #
    # For break and place, the block name or id is used.
    # You can select a sub-type by using a '-' between the id and the bit
    # value for the sub-type. e.g LOG-0 = usual log, LOG-2 = birch log
    # 17-2 = birch log.
    #
    # If no sub-type is give, the payout will be for all sub-types.
    #
    #
    # For kill tags (Kill and custom-kill), the name is the name of the
    # mob.
    # Available mobs:
    # Chicken
    # Cow
    # Pig
    # Sheep
    # Wolf
    # Creeper
    # Giant
    # Skeleton
    # Spider
    # Zombie
    # PigZombie
    # Squid
    # Ghast
    # Player
    # Slime
    #
    # NOTE: mob names are case sensitive.
    #
    # For custom-kill, it is the name of the job (also case sensitive).
    #
    # NOTE: If a job has both the pay for killing a player and for killing a
    # specific class, they will get both payments.
    ########################################################################
    # payment for breaking a block
    Break:
    # block name/id (with optional sub-type)
    LOG:
    # base income
    income: 5.0
    # base experience
    experience: 5.0
    # payment for placing a block
    Place:
    SAPLING:
    income: 1.0
    experience: 1.0
    WOOD:
    income: 2.0
    experience: 2.0
    # killing a mob
    Kill:
    # mob name
    Player:
    # base income
    income: 7.5
    # base experience
    experience: 7.5
    # killing a jobs class
    custom-kill:
    # full name of the jobs class
    Woodcutter:
    # base income
    income: 10.0
    # base experience
    experience: 10.0
    Miner:
    fullname: Miner
    shortname: M
    ChatColour: DARK_GRAY
    chat-display: job
    #max-level: 10
    #slots: 10
    leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
    income-progression-equation: baseincome*((1.05)^(joblevel-1))
    experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
    Break:
    STONE:
    income: 2.0
    experience: 2.0
    COAL_ORE:
    income: 3.0
    experience: 3.0
    REDSTONE_ORE:
    income: 3.0
    experience: 3.0
    IRON_ORE:
    income: 4.0
    experience: 4.0
    GOLD_ORE:
    income: 5.0
    experience: 5.0
    LAPIS_ORE:
    income: 5.0
    experience: 5.0
    DIAMOND_ORE:
    income: 6.0
    experience: 6.0
    OBSIDIAN:
    income: 7.5
    experience: 7.5
    MOSSY_COBBLESTONE:
    income: 6.0
    experience: 6.0
    Place:
    RAILS:
    income: 2.0
    experience: 2.0
    IRON_ORE:
    income: -5.0
    experience: -5.0
    GOLD_ORE:
    income: -6.0
    experience: -6.0
    Kill:
    Player:
    income: 7.5
    experience: 7.5
    custom-kill:
    Miner:
    income: 10.0
    experience: 10.0
    Builder:
    fullname: Builder
    shortname: B
    ChatColour: WHITE
    chat-display: job
    #max-level: 10
    #slots: 10
    leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
    income-progression-equation: baseincome*((1.05)^(joblevel-1))
    experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
    Place:
    COBBLESTONE:
    income: 1.0
    experience: 1.0
    WOOD:
    income: 1.5
    experience: 1.5
    FENCE:
    income: 1.5
    experience: 1.5
    WOOL:
    income: 1.5
    experience: 1.5
    STONE:
    income: 2.25
    experience: 2.25
    GLOWSTONE:
    income: 3.0
    experience: 3.0
    SANDSTONE:
    income: 2.0
    experience: 2.0
    GLASS:
    income: 3.0
    experience: 3.0
    BRICK:
    income: 4.0
    experience: 4.0
    LAPIS_BLOCK:
    income: 5.0
    experience: 5.0
    DOUBLE_STEP:
    income: 2.0
    experience: 2.0
    STEP:
    income: 2.0
    experience: 2.0
    BOOKSHELF:
    income: 3.0
    experience: 3.0
    WOOD_STAIRS:
    income: 2.0
    experience: 2.0
    COBBLESTONE_STAIRS:
    income: 2.0
    experience: 2.0
    MOSSY_COBBLESTONE:
    income: 5.0
    experience: 5.0
    DIAMOND_BLOCK:
    income: 5.0
    experience: 5.0
    GOLD_BLOCK:
    income: 5.0
    experience: 5.0
    Kill:
    Player:
    income: 7.5
    experience: 7.5
    custom-kill:
    Builder:
    income: 10.0
    experience: 10.0
    Digger:
    fullname: Digger
    shortname: D
    ChatColour: YELLOW
    chat-display: job
    #max-level: 10
    #slots: 10
    leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
    income-progression-equation: baseincome*((1.05)^(joblevel-1))
    experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
    Break:
    DIRT:
    income: 2.0
    experience: 2.0
    GRASS:
    income: 2.0
    experience: 2.0
    GRAVEL:
    income: 2.0
    experience: 2.0
    SAND:
    income: 2.0
    experience: 2.0
    CLAY:
    income: 2.0
    experience: 2.0
    Kill:
    Player:
    income: 7.5
    experience: 7.5
    custom-kill:
    Digger:
    income: 10.0
    experience: 10.0
    Farmer:
    fullname: Farmer
    shortname: F
    ChatColour: BLUE
    chat-display: job
    #max-level: 10
    #slots: 10
    leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
    income-progression-equation: baseincome*((1.05)^(joblevel-1))
    experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
    Break:
    WHEAT:
    income: 4.0
    experience: 4.0
    SUGAR_CANE_BLOCK:
    income: 4.0
    experience: 4.0
    Place:
    SEEDS:
    income: 3.0
    experience: 3.0
    SUGAR_CANE_BLOCK:
    income: 1.0
    experience: 1.0
    Kill:
    Player:
    income: 7.5
    experience: 7.5
    custom-kill:
    Farmer:
    income: 10.0
    experience: 10.0
    Hunter:
    fullname: Hunter
    shortname: H
    ChatColour: RED
    chat-display: job
    #max-level: 10
    #slots: 10
    leveling-progression-equation: 100*((1.13+(0.01*(numjobs-1)))^(joblevel-1))
    income-progression-equation: baseincome*((1.05)^(joblevel-1))
    experience-progression-equation: baseexperience*((1.05)^(joblevel-1))
    Kill:
    Chicken:
    income: 2.5
    experience: 2.5
    Cow:
    income: 2.5
    experience: 2.5
    Pig:
    income: 2.5
    experience: 2.5
    Sheep:
    income: 2.5
    experience: 2.5
    Wolf:
    income: 5.0
    experience: 5.0
    Creeper:
    income: 10.0
    experience: 10.0
    Skeleton:
    income: 10.0
    experience: 10.0
    Spider:
    income: 10.0
    experience: 10.0
    Zombie:
    income: 10.0
    experience: 10.0
    Player:
    income: 7.5
    experience: 7.5
    custom-kill:
    Woodcutter:
    income: 10.0
    experience: 10.0
    Miner:
    income: 10.0
    experience: 10.0
    Digger:
    income: 10.0
    experience: 10.0
    Farmer:
    income: 10.0
    experience: 10.0
    Builder:
    income: 10.0
    experience: 10.0
    Hunter:
    income: 20.0
    experience: 20.0
     
  24. Offline

    EmanuxJade

    Hello, wanna report a issue, on my build 935 with iConomy 5 the plugin not work, i don't take exp and no money. I don't have set nothing, no errors in console..anyone can help me?
     
  25. Offline

    phrstbrn

    I've posted a new build of the Jobs plugin, 2.1.0, which contains bugfixes and features over the 2.0.2 development version by flametornado.

    New thread here

    Thank you flametornado for your hard work and creation this wonderful plugin.
     
  26. Offline

    lammiboy

    When I install this plug in, I do it all correctly but when I get into the server it only allows me to use, /jobs
    Nothing else works, for /jobs browse it says there is no jobs to join. So obviously it isnt implementing the default jobs. Is there a different place you have to put the Jobs Folder?
     
  27. Offline

    flametornado

    are your permissions set up properly?
     
  28. Offline

    lammiboy

    Ehhh, I do know what it is but I dont know how to do it. Problem is in the video he doesnt have to change permissions or anything?

    Here I just tried installing aagin, It says that the jobs are missing. Have a look.
    [​IMG]

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 17, 2016
Thread Status:
Not open for further replies.

Share This Page