Laborus - a customizable job plugin

A new version has been released for Laborus, it is available for download here.


This Version has introduced a Change in the configuration format: all abilities now require a type field that is set to the type of the ability (currently always effect). Also the actions (break, kill etc.) now have the items no longer directly under them but instead have these wrapped into the items setting which allows for more settings for actions in the future:

Before:

ability {
    cooldown=600
    name="Fast Destroy"
    potionEffect {
        ambiance=false
        amplifier=2
        duration=1200
        particles=true
        potionType="minecraft:haste"
    }
}

After:

ability {
    type=effect
    cooldown=600
    name="Fast Destroy"
    potionEffect {
        ambiance=false
        amplifier=2
        duration=1200
        particles=true
        potionType="minecraft:haste"
    }
}

Before:

actions {
    break=[
        {
            item = "minecraft:stone[variant=stone]"
            needLevel = 0
            xp = 1
        },
        {
            item = "minecraft:stone[variant=diorite]"
            needLevel = 5
            xp = 1.1
        }
    ]
}

After:

actions {
    break= {
        items = [
            {
                item = "minecraft:stone[variant=stone]"
                needLevel = 0
                xp = 1
            },
            {
                item = "minecraft:stone[variant=diorite]"
                needLevel = 5
                xp = 1.1
            }
        ]
    }
}

Changelog:

  • added a setxp command to set the xp of a player (/jobs setxp [job] [xp] [player])
  • added some additional logging messages that can be activated via the logging setting (see #26)
  • added an api to allow other plugins to add there own JobActions, JobBoni and JobAbilities (see the JavaDocs)
  • reworked a lot of internal structures to add the api
  • added a setting to activate a test if a jobitem is used in another job with the same action to allow the blocking if it is used in multiple jobs (alsoInOtherJob) (see #28)
  • fixed the removing of old Listeners on a reload (see #27)
1 Like

I am glad to see a plugin like this however, it is not really that admin friendly, as far as setting up goes. Not sure if you have seen the old school job plugins, but they were super quick and easy to edit.

Yes im aware that it isn’t that easy to edit these but i don’t want to lose any settings and so there isn’t realy that much that could make it easier that i can think of…

But im currently working on a small website that should make it easier to edit these files, but i cannot promise it will work or be available any time soon:

A new version has been released for Laborus, it is available for download here.


  • save a backup of the configuration file on startup (fixed #31)
  • some small changes to simplify and enhance the api

Hi,

The jobs can give you an economic reward???..like other job plugins that can give you money and xp

Yes the jobs can give you ep and money through the bonus system as seen in this example that awards between 1 and 10 ep, after reaching level 10 in the job for 10% of all break and kill actions. It also awards between 20 and 40 of the default currency after each kill and each block action:

A new version has been released for Laborus, it is available for download here.


  • kill JobActions now also block the damaging of entities if the killing isn’t allowed
  • send the blockmessage always if it is blocked
  • fixed the Blockstate Comparator and therefore the break JobActions
1 Like

Hi again,

After an exhausting analysis of your wiki finally I get how to create jobs and add languages. Now I’m translating it to spanish…
How should I save that file in other to be recognized by minecraft?

You can find an example of the usage for languages in the Configuration Cookbook on Github: https://github.com/Lergin/Laborus/tree/master/ConfigurationCookbook/translations

If you have more than one language in your configuration the plugin will automatically select the language of the minecraft client :slight_smile:

Also it would be really nice if you could send me the translated file so i can upload it to github so someone else can also use it :slight_smile:

Hi,

I don’t explain myself too well. I was looking for the name that need to be call the file, in my case was “es.conf”.

Now I have another question: How create a job that have actions like kill, tame, damage and use… that supports entitytype and itemtype that is different like the example of miner that only support blockstate.

Actually the name of the file isn’t important only the part bevor the name decides which language the file belongs to.

The actions are working almost the same as the block actions so it would be “minecraft:zombie” for a zombie and “minecraft:dirt” for the dirt item the part that the blocks support where it is possible to setup more exact versions of the type (eg. “minecraft:stone[variant=diorite]”) isn’t supported by the actions that aren’t using blocks.

If I put just “minecraft:stone” it supports all its variants or I need to specify one by one ???

if nothing is specified it matches all so yes “minecraft:stone” matches all stone types

Thanks for the help…
I have already finished of translating the file…Where can I send you the file?

1 Like

A pastebin link would likely be easiest :slight_smile:

1 Like

Laborus Config Editor

I just finished the creation of an webeditor for the Configuration of the Plugin:

The editor currently supports most of the settings for the jobs and also most of the general plugin settings and allows to simply add new jobs:

and to edit them:

The website needs you to sign in (it is also supports completely anonymous accounts) to sync the data with a firebase realtime database. Due to this it also allows two persons to sign in with the same account so they can even edit the files together with almost no delay.

The created configuration file can be found in the Import / Export tab (the import function is still wip) and then just be copied into the laborus.conf file.

The website can be found here: https://laborus.lergin.de/

The source code of the website is also available on Github: GitHub - Lergin/Laborus-Config-Editor: an editor for the configurations of Laborus

3 Likes

Loving the editor atm :slight_smile:
Not really able to give much feedback as I’m rattling things off before attempting to export but one thing I noticed in setting up the first job is that in the Actions section tabbing to boxes such as Level will have the data in the cell remain highlighted, save for XP which will immediately move the cursor to the end of the input in the field.

Not a huge issue as my attempt to replicate it in subsequent second job failed entirely with all fields remaining highlighted, but something that struck me as odd and I thought I’d let you know in case it meant something to you.

Having it accessible in a browser will be a great help for helping to understand how things work together for those who were struggling with coming to grips with how open-ended and customisable this is.

Slightly overrun your Git with issue requests. Mostly just so that they’re there and people will hopefully check before suggesting them.
Doubtful though u.u

1 Like

deleted. Question is obsolete

When I make a job for some reason when I do /jobs in game it says “unknown” this is what I have for the name settings what am I doing wrong? http://prntscr.com/fraugl

Could you upload the complete configuration to some site like hastbin.com and send it to me so i can better look into the problem :slight_smile: