Inactive [RPG]DayJobs v2.2 - A plugin to enforce and enhance Role Playing [1337]

Discussion in 'Inactive/Unsupported Plugins' started by LartTyler, Sep 4, 2011.

  1. Offline

    LartTyler

    DayJobs
    A plugin to enforce and enhance role playing




    We're on BukkitDev! Please direct all comments to the project page on BukkitDev, thanks!​


    After hosting an RP server for several months, I became tired of having to settle disputes between players, and having to monitor who's doing what. Most of my time went into ensuring player's kept true to RPing, rather then shaping the server as I had wanted to.

    Which is why I designed DayJobs. DayJobs is a plugin that takes some of the load off the shoulders of admins and moderators by restricting how players interact with the world. At the moment, that simply means the tools the players can use, and the blocks they can place. In the future, we at Daybreak Studios plan to add many features that will turn this simple plugin into a full suite to manage role playing in the Minecraft world.

    Current features:
    • Limit block placement and tool usage based on a players job class
    • Completely configurable classes
    • Job change request and ticketing system
    • Restrict armor usage by class
    • Configurable zones! Create guild halls, private mines, and various other locations accessible to only select classes!
    • New configuration option "can-break" allows even further fine-tuned control over what a player can and can't destroy!
    • Configurable damage types! Let some jobs survive harsher conditions longer then others, or fall prey to select environments in the blink of an eye!
    • Set respawn locations and first spawn location (with configurable messages to display to the player being spawned).
    • Restrict items from being crafted on a per job class basis.
    • Support for Permissions, PermissionsBukkit, PermissionsEx.
    • Restrict crafting, smelting, and many more elements of Minecraft's game mechanics on a per class basis.
    Coming soon!

    • Starter kits! Allow players to receive special Starter Kits when the first pick a job, or even on each subsequent job change
    • Support for custom items added via Spout using item ID's
    • Other features on request. Please PM me or leave a message in this thread if you have any feature requests.
    Downloads:

    Requirements:

    This plugin now requires the server-side version of Spout.​

    Configuration:
    Setting up DayJobs is simple. Simply drop the jar into your plugins folder and go. The plugin will function without Permissions and will use Op status for moderators. However, for a more personalized experience, we do suggest installing Permissions. Yes, it's inactive and outdated, but it still works very well, and we use it on our personal servers.​

    Once Permissions has been added, you can use the following permission nodes to control command access:​
    Code:
    dbstudios.dayjobs.admin.reload
        Can reload configuration files
    dbstudios.dayjobs.admin.change
        Can change a players class
    dbstudios.dayjobs.admin.tickets
        Can access/close tickets
    dbstudios.dayjobs.admin.debug
        Can toggle debug mode
    dbstudios.dayjobs.admin.zones
        Can create and delete zones
    dbstudios.dayjobs.admin.exempt
        Allow usage of the admin "exempt" command
    dbstudios.dayjobs.admin.spawn.set.deathspawn
        Allows setting of the death spawn location
    dbstudios.dayjobs.admin.spawn.set.newspawn
        Allows setting of the new spawn location (for first time players)
    dbstudios.dayjobs.admin.spawn.tp.deathspawn
        Allows teleporting to the death spawn
    dbstudios.dayjobs.admin.spawn.tp.newspawn
        Allows teleporting to the new player spawn
    
    dbstudios.dayjobs.player.list
        Can list available jobs
    dbstudios.dayjobs.player.whois
        Can 'whois' other players
    dbstudios.dayjobs.player.change
        Can request a job change
    dbstudios.dayjobs.player.info
        Can view job descriptions
    
    Example configuration files can be found on our GitHub page.​

    Commands:
    Code:
    /job list
        List available jobs
    /job info [<job>]
        Display your job info, or <job> if given
    /job whois <player>
        Display basic info for <player>
    /job change <job>
        Request to be changed to <job>
    /job admin reload
        Reload configuration files
    /job admin change <player> <job>
        Change <player>'s job to <job>
    /job admin tickets [close <player>]
        Display open tickets, or close ticket by <player>
    /job admin debug
        Toggle debug mode
    /job admin exempt <player>
        Toggle exempt status for <player> (they wont be affected by job limitatons).
        Run again on the same player to remove exempt status.
    /job admin spawn set death
        Set the respawn location to your current location
    /job admin spawn set new
        Set the new player spawn to your current location
    /job admin spawn tp death
        Teleport to the current respawn location
    /job admin spawn tp new
        Teleport to the current new player spawn location
    
    
    /job zone create <zone>
        Begin creation of <zone>
    /job zone set (upper/lower)
        Set the upper-left or lower-right coordinate of the zone
    /job zone order ("allow,deny"/"deny,allow")
        Set the access order (allow first, then deny, or deny first, then allow)
    /job zone (allow/deny) <access_list>
        Allow or deny for <access_list>
    /job zone commit (yes/no)
        Commit zone changes ("yes"), or delete them and start over ("no")
    
    Using the zoning system:
    The zone system in DayJobs is simple. In order to create a new zone, begin by ensuring that you have the correct permission node (dbstudios.dayjobs.admin.zones). Next, initialize zone creation by typing:
    Code:
    /job zone create MyZone
    Next, you need to set the upper-left and lower-right coordinate points that define the bounding box the zone takes up. Keep in mind that the zone does not have to encompass an entire structure; often, it's enough to simple place a zone across the door or entry way that will deny players access.
    To define a coordinate, look at the upper-left or lower-right block you want to use, and type:
    Code:
    /job zone set upper
    or​
    Code:
    /job zone set lower
    Now, you will need to define an order type. For those familiar with the Apache web server, you may recognize the syntax.
    The zone system uses an allow or deny system (ADS) to determine if a player is allowed in a given zone. Valid order types are: "allow,deny", meaning allow all job classes first, then deny those on the given list, or "deny,allow", meaning deny all job classes, and only allow those implicitly allowed. Notice the lack of space between the two access types. To set the order type, enter:
    Code:
    /job zone order allow,deny
    or​
    Code:
    /job zone order deny,allow
    The final step before committing a zone is to set the access list. The syntax of this command will change depending on your order type. For example, the order type "allow,deny" would replace <access_type> in the following command with "deny", and "deny,allow" would replace <access_type> with "allow":
    Code:
    /job zone <access_type> <access_list>
    <access_list> is a comma separated list of job classes to deny or allow. Be sure, just as in the order type, not to use spaces between the comma and the different job classes.
    The final step is to commit the zone. To do this, type:
    Code:
    /job zone commit yes
    This will write all changes to your zone file. However, if you are not satisfied with the changes, or decide midway through creation that you don't want the zone, type:
    Code:
    /job zone commit no
    You must commit or discard a zone before attempting to create another.

    You can also delete zones from in-game. Simply type:
    Code:
    /job zone delete MyZone

    Let's say I wanted to create a zone named "MinersGuild", and only allow the two jobs, "Miner" and "Blacksmith" inside. I would type the following:
    Code:
    /job zone create MinersGuild
    *Looking at the block above and to the left of the entry way, I would type:*
    /job zone set upper
    *Looking at the block below and to the right of the entry way, I would type:*
    /job zone set lower
    /job zone order deny,allow
    /job zone allow Miner,Blacksmith
    /job zone commit yes
    
    Special Characters
    In config.yml, there are many options you can use to change what text is displayed to a player on certain events. Each option allows for certain special characters, denoted by a percent sign ("%"). Currently, the only supported special characters are:
    • %p - The player's name
    • %j - The player's job
    As more and more features are added, there will be more special characters to choose from.


    As an example, in config.yml, you can set the message to display to a user the first time they connect to the server (new-player-msg). If I wanted to make it welcome the new player using their name, I would use:
    Code:
    new-player-msg: Welcome, %p, to The Four Kingdoms. You have joined with the default job class, %j.
    Changelog:
    Version 2.2
    • Fixed a bug that caused errors for servers using PermissionsBukkit.
    • Added 'init.yml'. Allows individual features to be enabled/disabled.
    • Small code tweaks in the interest of performance.
    Version 2.1
    • The item value "NOTHING" can now be either "NOTHING" or "NONE", it will evaluate to the same thing.
    • Placing a "-" in front of a block or item will except it from any previous allow statements. For example:
      Code:
      can-place:
                - ALL
                - -OBSIDIAN
                - -TNT
      Would allow all blocks, except for obsidian and TNT to be placed.
    • Placing a "+" in front of a block or item will add it to the list of allowed items/blocks, regardless of previous statements. For example:
      Code:
      can-place:
                - NOTHING
                - +COBBLESTONE
                - +DIRT
      Would disallow all blocks, but will allow Cobblestone and dirt to still be placed.
    • Item usage on mobs and other entities now denies correctly. Restricted weapons/blocks/items no longer work on mobs.
    • Changed some output text colors, and re-worded the more "awkward" phrases.
    • New configuration option, "can-smelt" allows you to restrict what a player is capable of smelting in a furnace.
    • Configurable message structure in config.yml has been changed. Please see the provided example config.yml for an example of the new structure.
    Version 2.0

    • Configuration files renamed: "player.yml" is now "players.yml", "ticket.yml" is not "tickets.yml"
    • New configuration options: place-deny-msg, break-deny-msg, use-deny-msg, wear-deny-msg, wear-deny-inv-full-msg
    • New option: Set new player join message by changing new-player-msg in config.yml. Supports the following tokens:
      • %p - The player's name
      • %j - The player's job
    • Various text changes and optimization
    • Corrected a bug where damage done could be increased, but not set to a value below the default.
    • Corrected a bug where players could still use a restricted item to attack an entity.
    • NOTHING or ALL in a jobs permit node now correctly overrides those present in "all".
    • Cleaned up output for verbose logging servers.
    • Corrected DayJobs attempting to initialize Spout, Permissions, or other dependencies before the dependencies were initialized on the server.
    • Added support for PermissionsBukkit.
    • Corrected zones occasionally killing players when permission was denied.
    • Set death spawn locations and new player spawn locations
    • Restrictable, per-job crafting
    Version 1.3

    • Corrected a bug that prevented normal players from using commands if Permissions was not present.
    • Player names are no longer case sensitive in commands.
    • An admin job change now notifies the target player of the change.
    • New command "/job admin exempt <player>" will toggle exempt status on target <player> and disable job limitations on them until the command is run again.
    • Exempt is no longer a permission node. See above.
    • New usage options. Enter "NOTHING" under a usage node (such as "can-use" or "can-break") to remove ALL usages from that category for that job. Enter "ALL" to allow usage of everything for that category.
    • Prettier job information output :3
    Version 1.2

    • Added configurable zones
    • Added the new configuration option "can-break"
    • Fixed a bug that could return null for certain configuration options if not set
    Version 1.1

    • Added configurable armor limitations
    • Changed message colors to a more standard motif
    • Fixed a bug that prevented help output from being displayed
    • Fixed a bug that could cause a debugging console to be spammed with NullPointerExceptions
    • DayJobs now requires the server-side version of Spout
    Version 1.0

    • Initial release
    Bug reporting:

    If you encounter any bugs or errors while using this plugin, please report it ASAP. If at all possible, it is preferable that you use the issue tracker provided by GitHub. Just follow this link to open the issue tracker for DayJobs. Please be as detailed as possible about your issue, and use a service such as Pastie for including stack traces and debug output.​

    Any bugs reported on the forum will most likely be addressed, eventually. But I will guarentee a quick response time for anything submitted to the issue tracker on GitHub.​

    Donating

    Like this plugin? Then consider donating! Not only will donations help keep this plugin active and alive, but for every $100 in donations I receive, I will guarantee a new release packed full of awesome new features. That's not to say I won't do releases otherwise, you don't have to worry about that. But for every $100 I'll drop whatever I'm doing and pump out a new version as fast as I possibly can! Interested? Click here to donate.

    Follow Daybreak Studios on Twitter! See updates, news, and other information related to Daybreak Studios as it happens. Also, I tend to get a bit bored while I'm working, so you can always feel free to watch me talk to myself as I work :p
     
    Fengi, Retaks, Parideis and 1 other person like this.
  2. Offline

    PDemon

    @LartTyler Your very welcome, but it does make for funny configs:) hehe
    "Can-use
    - ALL
    - -WOOD_SWORD"
    /job info "Job" says
    this class can use ALL
    ;)
     
  3. Offline

    LartTyler

    @PDemon
    Oh! Lol I didn't even think about that haha :p Yeah, I'll have to fix that in the next version, thanks for pointing that out too PDemon :p
     
  4. Offline

    NeonJ

    This has nothing to do with can-use, I'm trying to break a TALL_GRASS block and it won't let me. Using fists. TALL_GRASS is in the "all" section.

    And the double-check was DEFINITELY two times on the blocks I can break. Nowhere in the double-check was there anything about can_use, it was all the Lumberjack's can_break, twice. [I'm using Lumberjack for testing]
     
  5. Offline

    LartTyler

    @NeonJ
    Do you have AIR as a can-use for your all or your Lumberjack? Empty hands count as holding air.
     
  6. I use plugin Ultraitems and Spoutblocks. Your plugin can work with them ?
    For example, peasant can craft hay bloc (my custom block) but others jobs cannot.
     
  7. Offline

    PDemon

    @LartTyler , Hmm i think i see what Neonj is getting at tried this setup and i couldn't use iron spade
    Show Spoiler
    all:
    can-use:
    - IRON_SPADE
    can-place:
    - ALL
    can-wear:
    - ALL
    can-break:
    - GRASS
    can-craft:
    - ALL
    can-smelt:
    - ALL
    PDemon:
    friendly-name: Admin
    bio: ADMIN! FTW.
    can-use:
    - DIAMOND_SWORD
    can-place:
    - ALL
    can-wear:
    - ALL
    can-break:
    - ALL
    can-craft:
    - ALL
    can-smelt:
    - ALL
     
    NeonJ likes this.
  8. Offline

    LartTyler

    @PDemon
    Hmmm... That's very strange. I'll look into it.

    @Cyberium
    I haven't tested it with custom blocks yet, but theoretically it should work so long as you use the current block name. If you d be willing to try, I'd really appreciate if you could let me know if it works or not. :)
     
  9. Okay; I'll try it.

    Snif ça ne fonctionne pas .... Doesn't work with a custom blocks... and custom items :( Cannot craft/break/use/place them

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  10. Offline

    Sich

    hum apparently other drops whas no updated since long time ago...
    Could you watch the source for something similar ?
    Or perhaps something like : can-kill ? To avoir regular player to kill passive mob or to take wool from the sheep..
     
  11. Offline

    LartTyler

    @Cyberium
    Thank you for trying. Know that I know, I can start working on a solution to support custom items and blocks :) I have an idea that might work, but I didn't want to start on it until if knew if it worked or not.

    @Sich
    I had already planned for a modifiable drop system, I just haven't had time to implement it yet. As for can-kill, it's a simple thing to do, but it'll take a while since it requires alot of changes, and alot more code :p But it is on my to do list, you can expect a feature like that soon
     
  12. Offline

    Sich

    ok cool :)
     
  13. Offline

    PDemon

    Small server setup

    Show Spoiler
    all:
    can-use:
    -
    can-place:
    -
    can-wear:
    -
    can-break:
    -
    can-craft:
    -
    can-smelt:
    -
    jobs:
    Jobless:
    friendly-name: Jobless
    bio: I'll go look for a job tomorrow mom, I promise!
    can-use:
    - NOTHING
    can-place:
    - NOTHING
    can-wear:
    - NOTHING
    can-break:
    - NOTHING
    can-craft:
    - NOTHING
    can-smelt:
    - NOTHING
    Miner:
    friendly-name: Miner
    bio: A miner, skilled at extracting ore and minerals from the earth.
    can-use:
    - WOOD_SWORD
    - WOOD_SPADE
    - WOOD_PICKAXE
    - STONE_SPADE
    - STONE_PICKAXE
    - IRON_SPADE
    - IRON_PICKAXE
    - GOLD_SPADE
    - GOLD_PICKAXE
    - DIAMOND_SPADE
    - DIAMOND_PICKAXE
    - BUCKET
    can-place:
    - ALL
    - But Gather stuff
    - -SOIL
    - -CROPS
    - -SAPLING
    - -SUGAR_CANE
    - -VINE
    - -MELON_STEM
    - -PUMPKIN_STEM
    can-wear:
    - ALL
    can-break:
    - ALL
    - But Gather stuff
    - -SOIL
    - -CROPS
    - -SAPLING
    - -SUGAR_CANE
    - -VINE
    - -MELON_STEM
    - -PUMPKIN_STEM
    - -CROPS
    - -SAPLING
    - -SUGAR_CANE
    - -VINE
    - -MELON
    - -PUMPKIN
    can-craft:
    - TORCH
    can-smelt:
    - NOTHING
    Gather:
    friendly-name: Gather
    bio: Finds food and other surface blocks.
    can-use:
    - WOOD_SWORD
    - SHEARS
    - BUCKET
    - WOOD_HOE
    - STONE_HOE
    - IRON_HOE
    - GOLD_HOE
    - DIAMOND_HOE
    - WOOD_SPADE
    - STONE_SPADE
    - WOOD_PICKAXE
    can-place:
    - ALL
    - But Miner stuff
    - -COAL_ORE
    - -IRON_ORE
    - -GOLD_ORE
    - -LAPIS_ORE
    - -DIAMOND_ORE
    - -REDSTONE_ORE
    - -GLOWING_REDSTONE_ORE
    - -OBSIDIAN
    can-wear:
    - ALL
    can-break:
    - ALL
    - But Miner stuff
    - -COAL_ORE
    - -IRON_ORE
    - -GOLD_ORE
    - -LAPIS_ORE
    - -DIAMOND_ORE
    - -REDSTONE_ORE
    - -GLOWING_REDSTONE_ORE
    can-craft:
    - TORCH
    - BREAD
    - CAKE
    - MUSHROOM_SOUP
    - SUGAR
    - COOKIE
    - GOLDEN_APPLE
    - MELON_BLOCK
    - MELON_SEEDS
    can-smelt:
    - STICK
    - COAL
    - PORK
    - RAW_FISH
    - RAW_BEEF
    - RAW_CHICKEN
    starter-kit:
    Crafter:
    friendly-name: Crafter
    bio: A master of construction and design.
    can-use:
    - WOOD_SWORD
    - WOOD_SPADE
    can-place:
    - ALL
    - But Miner and Gather stuff
    - -COAL_ORE
    - -IRON_ORE
    - -GOLD_ORE
    - -LAPIS_ORE
    - -DIAMOND_ORE
    - -REDSTONE_ORE
    - -GLOWING_REDSTONE_ORE
    - -OBSIDIAN
    - -SOIL
    - -CROPS
    - -SAPLING
    - -SUGAR_CANE
    - -VINE
    - -MELON_STEM
    - -PUMPKIN_STEM
    can-wear:
    - NOTHING
    can-break:
    - ALL
    - But Miner and Gather Stuff
    - -COAL_ORE
    - -IRON_ORE
    - -GOLD_ORE
    - -LAPIS_ORE
    - -DIAMOND_ORE
    - -REDSTONE_ORE
    - -GLOWING_REDSTONE_ORE
    - -SOIL
    - -CROPS
    - -SAPLING
    - -SUGAR_CANE
    - -VINE
    - -MELON_STEM
    - -PUMPKIN_STEM
    - -CROPS
    - -SAPLING
    - -SUGAR_CANE
    - -VINE
    - -MELON
    - -PUMPKIN
    can-craft:
    - ALL
    - But Food
    - -BREAD
    - -CAKE
    - -MUSHROOM_SOUP
    - -SUGAR
    - -COOKIE
    - -GOLDEN_APPLE
    - -MELON_BLOCK
    - -MELON_SEEDS
    can-smelt:
    - ALL
    - But Food
    - -PORK
    - -RAW_FISH
    - -RAW_BEEF
    - -RAW_CHICKEN


    EDIT: i forgot someone to use the Axe ..silly me
     
  14. Offline

    roflnoob

    Hey, when i load the plugin, everything works fine. But the commands dont work, and they dont show up either. When i try to use a command, i get this error:

    Code:
    2011-11-11 18:24:53 [SEVERE] Could not pass event CUSTOM_EVENT to DayJobs
    java.lang.NullPointerException
        at me.dbstudios.dayjobs.DayJobs.checkMatch(DayJobs.java:534)
        at me.dbstudios.dayjobs.DJInventoryListener.onInventoryClose(DJInventoryListener.java:31)
        at org.getspout.spoutapi.event.inventory.InventoryListener.onCustomEvent(InventoryListener.java:51)
        at org.bukkit.plugin.java.JavaPluginLoader$96.execute(JavaPluginLoader.java:934)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
        at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:233)
        at net.minecraft.server.Packet101CloseWindow.a(SourceFile:16)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
        at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:501)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    2011-11-11 18:25:57 [SEVERE] Could not pass event CUSTOM_EVENT to DayJobs
    java.lang.NullPointerException
        at me.dbstudios.dayjobs.DayJobs.checkMatch(DayJobs.java:534)
        at me.dbstudios.dayjobs.DJInventoryListener.onInventoryClose(DJInventoryListener.java:31)
        at org.getspout.spoutapi.event.inventory.InventoryListener.onCustomEvent(InventoryListener.java:51)
        at org.bukkit.plugin.java.JavaPluginLoader$96.execute(JavaPluginLoader.java:934)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
        at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:233)
        at net.minecraft.server.Packet101CloseWindow.a(SourceFile:16)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
        at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:501)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    
    Pls Help =p
     
  15. Offline

    LartTyler

    @roflnoob
    The error you posted would be caused by something missing in the config file, perhaps a can-place declaration or can-use. If you could post your config.yml using something like Pastie, I could probably help you fix that.

    As for commands not working/showing up, what are you using for permissions? And have you given yourself the correct permission nodes?
     
  16. Offline

    roflnoob

    Here is my Config:
    Code:
    config:
        enabled: true
        debug: false
        default-job: Hobo
        override-bed-spawn: false
        instant-first-job-change: true
        starter-kit:
            give-kit-on-first-change: true
            give-kit-on-all-change: false
        messages:
            place-deny-msg: This object is too heavy for you to place...
            break-deny-msg: You're not sure how to go about taking this apart...
            use-deny-msg: You're not sure what to do with this...
            wear-deny-msg: This is too heavy for you to put on...
            wear-deny-inv-full-msg: You cannot hold any more items, your armor was dropped.
            new-player-msg: Welcome, %p, to The Four Kingdoms! Your current job is %j.
            craft-deny-msg: The purpose of the materials in front of you evades you...
            respawn-msg: A mysterious voice whispers, "Welcome back, %p... We've been expecting you."
            smelt-deny-msg: You feel like you'd burn this if you tried cooking it...
        all:
            can-use:
            - ALL
            can-place:
            - ALL
            can-wear:
            - ALL
            can-break:
            - ALL
            can-craft:
            - ALL
            can-smelt:
            - ALL
        jobs:
            Hobo:
                friendly-name: Hobo
                bio: New Citizen
                can-use:
                - NOTHING
                can-place:
                - NOTHING
                can-wear:
                - NOTHING
                can-break:
                - NOTHING
                can-craft:
                - NOTHING
                can-smelt:
                - NOTHING
            Miner:
                friendly-name: Miner
                bio: A miner, skilled at extracting ore and minerals from the earth.
                can-use:
                - WOOD_PICKAXE
                - STONE_PICKAXE
                - IRON_PICKAXE
                - GOLD_PICKAXE
                - DIAMOND_PICKAXE
                - WOOD_SPADE
                - STONE_SPADE
                - IRON_SPADE
                - GOLD_SPADE
                - DIAMOND_SPADE
                can-place:
                - DIRT
                - COBBLESTONE
                can-wear:
                - ALL
                can-break:
                - ALL
                - -SAND
                - -LOG
                - -DIRT
                - -GRASS
                can-craft:
                - NOTHING
                can-smelt:
                - NOTHING
                damages:
                    FALL: 1
                starter-kit:
                    STONE_PICKAXE: 1
                    STONE_SPADE: 1
                    TORCH: 12
            Builder:
                friendly-name: Builder
                bio: A master of construction and design.
                can-use:
                - ALL
                - -WOOD_HOE
                - -IRON_HOE
                - -STONE_HOE
                - -GOLD_HOE
                - -DIAMOND_HOE
                can-place:
                - ALL
                can-wear:
                - ALL
                can-break:
                - ALL
                can-craft:
                - NOTHING
                can-smelt:
                - NOTHING
            Smith:
                friendly-name: Smith
                bio: An artisan skilled in crafting and smelting, and can create nearly any good.
                can-use:
                - WORKBENCH
                - FURNACE
                can-place:
                - FURNACE
                - WORKBENCH
                can-wear:
                - ALL
                can-break:
                - FURNACE
                - WORKBENCH
                can-craft:
                - ALL
                can-smelt:
                - ALL
                - -SAND
            Farmer:
                friendly-name: Farmer
                bio: Making food!
                can-use:
                - WOOD_HOE
                - IRON_HOE
                - STONE_HOE
                - GOLD_HOE
                - DIAMOND_HOE
                can-place:
                - SEEDS
                can-wear:
                - NOTHING
                can-break:
                - NOTHING
                can-craft:
                - BREAD
                can-smelt:
                - NONE
     

    Attached Files:

  17. Offline

    Sich

    Hello,

    Have you planed something to manage the right click ? (like for the hoe, the bucket (taking milk, lava or water), eating food).
    Actually if you block the hoe, the user can't left click with it, but he can right click to make a farmland.

    Sich
     
  18. Offline

    LartTyler

    @Sich
    Yes, I will fix the right click in the next release. I hadn't realized that it was still usable, but I know why it is so it'll be an easy fix :p

    @roflnoob
    The config looks fine... The only other thing I could think of that might be causing that is a problem with your permissions system, what are you using?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  19. Offline

    Sich

    oh good :)
    And can you manage what you can take whith the bucket ?
    Like restrict milk for the farmer, but water and lava for everyone.
     
  20. Offline

    PDemon

    for some add
    for some odd reason it does that for me ..and i only let my farmer use the bucket but for everybody else they can take water and lava only
     
  21. Offline

    Sich

    and what is your configuration for this ?
     
  22. Offline

    PDemon

    @Sich . in my case the Farmer is called Gather but he has rights to "use" Bucket while the others do not have it in the list at all
    Show Spoiler
    jobs:
    Jobless:
    friendly-name: Jobless
    bio: I'll go look for a job tomorrow mom, I promise!
    can-use:
    - NOTHING
    can-place:
    - NOTHING
    can-wear:
    - NOTHING
    can-break:
    - NOTHING
    can-craft:
    - NOTHING
    can-smelt:
    - NOTHING
    Gather:
    friendly-name: Gather
    bio: A Gather, skilled at extracting ore and minerals from the Area.
    can-use:
    - BUCKET
    - AIR
    - WOOD_SWORD
    - WOOD_PICKAXE
    - STONE_PICKAXE
    - IRON_PICKAXE
    - GOLD_PICKAXE
    - DIAMOND_PICKAXE
    - WOOD_SPADE
    - STONE_SPADE
    - IRON_SPADE
    - GOLD_SPADE
    - DIAMOND_SPADE
    - WOOD_AXE
    - STONE_AXE
    - IRON_AXE
    - GOLD_AXE
    - DIAMOND_AXE
    - WOOD_HOE
    - STONE_HOE
    - IRON_HOE
    - GOLD_HOE
    - DIAMOND_HOE
    can-place:
    - ALL
    can-wear:
    - NOTHING
    can-break:
    - ALL
    can-craft:
    - TORCH
    - INK_SACK
    - MELON_SEEDS
    can-smelt:
    - NOTHING
    Crafter:
    friendly-name: Crafter
    bio: A master of construction and design.
    can-use:
    - AIR
    - WOOD_PICKAXE
    - WOOD_SPADE
    - WOOD_SWORD
    - FISHING_ROD
    can-place:
    - ALL
    - -SOIL
    - -BROWN_MUSHROOM
    - -RED_MUSHROOM
    - -CROPS
    - -SUGAR_CANE_BLOCK
    - -CACTUS
    - -VINE
    - -PUMPKIN_STEM
    - -MELON_STEM
    - -MELON_BLOCK
    - -SAPLING
    - -PUMPKIN
    can-wear:
    - NOTHING
    can-break:
    - ALL
    - -SUGAR_CANE_BLOCK
    - -PUMPKIN
    - -MELON_BLOCK
    - -VINE
    - -CACTUS
    - -CROPS
    can-craft:
    - ALL
    - -MELON_SEEDS
    can-smelt:
    - ALL
    Defender:
    friendly-name: Defender
    bio: A master of Hunting and Killing Monsters.
    can-use:
    - AIR
    - BOW
    - WOOD_SPADE
    - WOOD_SWORD
    - WOOD_PICKAXE
    - STONE_SWORD
    - STONE_SPADE
    - IRON_SWORD
    - GOLD_SWORD
    - DIAMOND_SWORD
    can-place:
    - ALL
    - -SOIL
    - -BROWN_MUSHROOM
    - -RED_MUSHROOM
    - -CROPS
    - -SUGAR_CANE_BLOCK
    - -CACTUS
    - -VINE
    - -PUMPKIN_STEM
    - -MELON_STEM
    - -MELON_BLOCK
    - -SAPLING
    - -PUMPKIN
    can-wear:
    - ALL
    can-break:
    - ALL
    - -SUGAR_CANE_BLOCK
    - -PUMPKIN
    - -MELON_BLOCK
    - -VINE
    - -CACTUS
    - -COAL_ORE
    - -IRON_ORE
    - -GOLD_ORE
    - -DIAMOND_ORE
    - -LAPIS_ORE
    - -REDSTONE_ORE
    - -GLOWING_REDSTONE_ORE
    - -OBSIDIAN
    - -CROPS
    can-craft:
    - TORCH
    can-smelt:
    - NOTHING


    a config in Beta
     
  23. Offline

    Sich

    hum ok, I will try to allow only the farmer to use the bucket and watch the result.

    Thanks

    [EDIT]
    I confirm, only the farmer can take milk, but other can take water and lava :)
    Good ! Thanks for the tips !

    But perhaps this is some bug ?
    Or should we use lava_bucket and water_bucket ?

    [/EDIT]

    [EDIT 2]
    LAVA_BUCKET or WATER_BUCKET have no effect.
    [/EDIT 2]
     
  24. Offline

    PDemon

    this plugin is super nice even creepers want to explode it now if only my fav shop plugin would work :D Signshop
    for now i use showcase it is nice but also pretty annoying in the texting hehe do you use any shop plugin Sich
     
  25. Offline

    Sich

    I use ChestShop for trading.
    You just have to put sign over a chest, very text to use. Then no more command :)
     
  26. Offline

    PDemon

    yes thats cool, but i do dislike the chest has to be next to the sign but it is much easier then showcase,
    i'll give it a better look and test tomorrow thanks Sich
     
  27. Offline

    BioRage

    @LartTyler sorry bud been really busy, plus waiting on Heroes 1.3 :) And well ultraitems and spoutblocks got merged, so now they are working on it togther!
     
  28. Offline

    LartTyler

    @ Everyone

    Sorry it's been a while without any word from me, I made the mistake of trying to add multi-job support to the next version and totally messed up my code... -___- So, an update on the status of the next update:

    Currently planned features include modifiable mob drops and starter kits, as well as the per job permission nodes I began working on in v2.1.

    Custom item support will be rather simple, actually, but will require a bit more work then I had anticipated. Apparently, Spout uses a completely different object class, meaning that my plugin will most likely crash if used with custom items added via Spout. Once I have custom item support implemented, it will work the same as it does with vanilla blocks and items; all you'll have to do is add the item or blocks name to the config file.

    Another requested feature was a can-kill option. Since there's no way to get an entity's name from a generic Entity class (i.e. get the name "Creeper" from an EntityDeathEvent), I'll have to hard code a check for each entity's respective class. Which means a rather long statement that would check each and every creature in game. It's doable, if not tedious, but I'm not totally sure of the performance impact it would have on the game. Since all actions would essentially freeze for the duration of the evaluation, it might not be practical to do something like that. I'll add it as a test and see what happens in regards to performance. And, since it would be difficult to determine server wide impact of something like that with only one tester, I'd like to invite those interested to join me on a private server to test it. I'll post a time and day once I have the feature added, which should only take me a week max.

    If there's anything I missed, let me know! :)


    Tyler

    Finally did it! I'm moving DayJobs to BukkitDev, and if at all possible, I'd like it if any discussion and comments regarding DayJobs to be moved there as well. I won''t be updating this thread anymore, so the best way to get ahold of me from now on would be via PM or through the forum on BukkitDev.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 19, 2016
  29. Offline

    The3X

    Is it now possible to activate it just in one world?
    Or will that come on next update?
    Please more information.
    We highly need it.

    Please make an option, so you can activate it just on one of multiply worlds.
     
  30. Offline

    PDemon

  31. Offline

    LartTyler

    @PDemon
    Thanks very much for that PDemon :)

    @The3X
    Just to quickly answer your question, there is no way to enable/disable DayJobs per-world. The custom spawn system and the zoning system does support multiworld, however. I'll be adding the option to enable/disable DayJobs based on world in the next release.
     

Share This Page