Democracy
Democracy
Want to request sunny weather? Who else likes Doku textures? Can we promote NekkidPanda16 to Admin rank?
Let's put it to a vote!
Democracy in Action
Bob: /propose tournament at the spleef arena
/propose tournament -duration 1h
/propose tournament -open
(server) Proposal 'tournament' (at the spleef arena)
is open; vote /aye tournament or /nay
tournament. Now 1 hour remaining.
Joe: /vote tournament aye
Mary: /nay tournament
Sam: /aye tournament
(time passes)
(server) Proposal 'tournament' passes with 13
votes (68%).
AdminSue: /spleef reset
/enact tournament may the best dork win
(server) Proposal 'tournament' has been enacted
by AdminSue: may the best dork win.
Sam: /propose free-diamonds -open
(server) Proposal free-diamonds is open; vote /aye
free-diamonds or /nay free-diamonds. Now
5 minutes remaining.
Mary: /aye free-diamonds
AdminSue: /veto free-diamonds nice try
(server) Proposal free-diamonds has been VETOED by
AdminSue: nice try.
Commands
| command | options | description |
|---|---|---|
| /vote | help | summarizes what you can do with /vote |
| /vote | shows proposals open for your vote (first page) | |
| /vote | 2 | shows second page of proposals open for your vote |
| /vote | <proposal> | shows choices and remaining time of a proposal |
| /vote | <proposal> <choice> | *casts your vote on a proposal* |
| /aye | <proposal> | equivalent to /vote <proposal> aye for aye/nay proposals |
| /nay | <proposal> | equivalent to /vote <proposal> nay for aye/nay proposals |
| /tally | help | summarizes what you can do with /tally |
| /tally | shows status of existing proposals (first page) | |
| /tally | 2 | shows second page of status of existing proposals |
| /tally | <proposal> | shows status of one existing proposal |
| /propose | help | summarizes most of what you can do with /propose |
| /propose | shows status of your existing proposals (first page) | |
| /propose | 2 | shows second page of your existing proposals |
| /propose | <proposal> | creates a new proposal with a unique identifier |
| /propose | <proposal> -cancel | cancels the pending proposal before it is open |
| /propose | <proposal> -choices a,b,c | allows votes of a or b or c |
| /propose | <proposal> -duration 45s | vote will remain open for 45 seconds |
| /propose | <proposal> -duration 20m | vote will remain open for 20 minutes |
| /propose | <proposal> -duration 2h | vote will remain open for 2 hours |
| /propose | <proposal> -duration 7d | vote will remain open for 7 days |
| /propose | <proposal> -secret | no broadcast on each player's /vote |
| /propose | <proposal> -public | public broadcast on each player's /vote |
| /propose | <proposal> -minimum 3 | at least 3 /votes or the proposal fails |
| /propose | <proposal> -open | *finishes proposal, opening it for a vote* |
| (all of these -options can be combined | ||
| in fewer commands in any order) |
Permissions
| permission | allows |
|---|---|
| democracy.vote.vote | Player can cast their /vote on existing proposals. |
| democracy.vote.tally | Player can /tally the status of votes in progress. |
| democracy.vote.propose | Player can /propose a new issue to go to vote. |
| democracy.admin.enact | Player can /enact or acknowledge results of a proposal. |
| democracy.admin.veto | Player can /veto or reject the results of a proposal, even before completion. |
Configuration
limits:
open-proposals: 5 # cap on overlapping votes
open-proposals-per-player: 1 # proposals by one author
default:
duration: 15m # default -duration
minimum: 5 # default -minimum
secrecy: false # default -secret or -public
basedir: plugins/Democracy
backend: file # only file supported so far
backends:
file:
file: proposals.data # binary dump of live proposals
voting:
proposing-includes-aye-vote: false # author assumed to vote /aye
allow-secret-vote: true # allow or disable -secret
allow-public-vote: true # allow or disallow -public
allow-change-vote: false # /vote is final or changeable
allow-nominating-self: false # author can't nominate self
nominating-includes-aye-vote: true # author assumed to vote /aye
allow-console-enact-veto: true # console can /veto or /enact
accountable-vetoes: true # /veto broadcasts the name
allow-vetoes: true # /veto allowed or disabled
-
View User Profile
-
Send Message
Posted Nov 6, 2011jkcclemens, should work on any .hasPermission() system
can you try latest jar posted, and reply back? (sorry for the late reply, been offline in snow-power-hell for a week)
-
View User Profile
-
Send Message
Posted Oct 12, 2011@hariedo
Actually, here's what is happening. I am in fact typing /propose tournament -open, but no message ever comes up after typing it. Nothing that tells people they may vote. But the timer does in fact start, and after it expires, a notification IS sent out that the vote didn't pass. The screenshot I sent earlier, I had typed the following:
/propose tournament test
/propose tournament -duration 1h
/propose tournament -open
/vote tournament aye
-
View User Profile
-
Send Message
Posted Oct 11, 2011@hiro24
So this is something that I thought the messages were making clear enough, but I should make it more clear on this webpage/forum/blog.
Right now, your proposal (called "tournament") is in a planning state. Nobody can vote it yet. Read the message on the screen: you must do "/propose tournament -open" before ANY votes are allowed. Until you use the -open option, it lets the author continue to CONFIGURE the proposal. The author can change the duration. The author can change the minimum votes required. The author can leave it in this planning state for days or weeks, and then decide when it's ready, to use the -open option to start the voting at that time.
Once you do "/propose tournament -open", it will broadcast (in bright orange) that everyone eligible can vote on it.
Let me know if that works for you.
-
View User Profile
-
Send Message
Posted Oct 11, 2011@hariedo
Config is:
limits:
open-proposals: 5
open-proposals-per-player: 5
default:
duration: 15m
minimum: 1
secrecy: false
backends:
file:
file: proposals.data
backend: file
basedir: plugins/Democracy
voting:
accountable-vetoes: true
proposing-includes-aye-vote: false
allow-vetoes: true
allow-nominating-self: false
allow-secret-vote: true
allow-console-enact-veto: true
allow-public-vote: true
nominating-includes-aye-vote: true
allow-change-vote: false
Admin and player group AND player all have democracy.vote.vote true in bukkit permissions. The tally works, everything seems to work. The admin can make items to be voted on and it's announced and everything. However, neither the admin or a regular player can vote.
Here's a screenshot following your tutorial above, line by line. Last line is after /vote tournament aye
http://i44.photobucket.com/albums/f45/nodaitsu25/midgard_items/2011-10-11_132423.png
Here's all the output the console gets:
2011-10-11 19:28:27 [INFO] [Democracy] Proposal 'tournament' (lets have a tournament) takes vote /aye tournament or /nay tournament. Now 1 hour remaining.
-
View User Profile
-
Send Message
Posted Oct 10, 2011@hiro24
Can you provide a config.yml? Screenshot? Etc.?
-
View User Profile
-
Send Message
Posted Oct 10, 2011The democracy.vote.vote permission node doesn't seem to be working right for me. Nobody can vote on issues. :(
-
View User Profile
-
Send Message
Posted Oct 8, 2011Like I told you in #bukkitdev, I love this concept. And Im sure my players will also.
Hoorah for an easy way for them to promote issues to me, without any of us having to read forums! :)