OnDoOdy is a fork of the plug-in DoOdy Duty. Being inspired by its feature set, seeing that it was open source and being in need of such a plug-in for my own purposes, I decided to pick up where it left off and make my own version.
OnDoOdy retains most of its predecessor's features, but a lot of the code has been re-written and re-purposed, so for anyone being a former DoOdy Duty user, you will have to re-learn a few things. On the other hand, a lot of things should be familiar, so the learning curve should not be all that steep. For one, all the permissions are the same as they were in DoOdy Duty.
The main purpose of OnDoOdy is to give your staff members a way to go "on duty" (i.e. to do staff work) without losing the ability to play the game normally. When you go on duty, everything about your character is saved.
OnDoOdy places you in Creative Mode when you go on duty. Creative Mode is convenient for staff work, it lets you fly, it has mobs ignore your presence and it makes it near impossible for you to die. However, Creative Mode has a lot of pitfalls. Even if you trust your staff, how do you prevent them from spawning in hundreds of diamond blocks so they can get rich? OnDoOdy comes to your rescue here as well! With a very fine configuration level of what is allowed and not allowed while on duty, you can stop your staff members from doing almost anything you can normally do in creative mode while they are on duty.
The default configuration file is heavily commented, and should not require any further description here. If you have any question about it, feel free to drop me a comment, and I'll help you (and probably update the comment in the config file as well.)
Being based on a GPL v3 project, mine also has to be GPL v3, and I am fine with that. Should you be interested in having a look at the source code, you can find it on GitHub.
| Command | Description | Permission Node |
|---|---|---|
| /ondoody | Shows available commands. | None |
| /ondoody [on/off] | Enter/Leave duty mode. | doody.duty |
| /ondoody [player] [on/off] | Put another player on/off Duty. | doody.others |
| /ondoody back | Teleport back to last known duty location | None |
| /ondoody list | Lists current players on duty. | None |
| /ondoody reload | Ingame command to reload config.yml file. | doody.reload |
| /ondoody debug [on/off] | Enable/disable debug mode. | doody.debug |
All permissions default to OP.
| Permission Node | Description |
|---|---|
| doody | allows access to duty command |
| doody.* | allows access to all commands and abilities |
| doody.duty | allows access to duty mode |
| doody.back | allows returning to last duty location with /duty back |
| doody.list | allows listing on-duty players with /duty list |
| doody.reload | allows in-game reloading of the configuration |
| doody.allowplace | allows players to place blocks regardless of configuration settings |
| doody.allowbreak | allows players to break blocks regardless of configuration settings |
| doody.allowinteract | allows players to interact with blocks regardless of configuration settings |
| doody.dropitems | allows players to drop items regardless of configuration settings |
| doody.pickupitems | allows players to pick up items regardless of configuration settings |
| doody.inventory | allows players to access inventories regardless of configuration settings |
| doody.pvp | allows PvP while on duty, regardless of configuration settings |
| doody.mob | allows attacking mobs while on duty, regardless of configuration settings |
| doody.others | allows controlling other players' duty mode |
| doody.failsafe.bypass | allows fail-safe bypass for players with access to /gamemode or /gm commands (very optional permission node) |
| doody.debug | allows access to enable or disable debug mode |
| doody.seehidden | allows seeing hidden on-duty players |
| doody.worlds.[worldName] | allows players to enter duty mode in worlds normally not allowed by configuration settings |
| doody.duty.extraperms.[permName] | gives the players the extra permissions defined in the configuration named [permName] |
| doody.duty.dutycommands.[permName] | runs the commands defined in the configuration named [permName] when the player goes on and off duty |