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
jkcclemens, 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)
@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
@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.
@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.
@hiro24
Can you provide a config.yml? Screenshot? Etc.?
The democracy.vote.vote permission node doesn't seem to be working right for me. Nobody can vote on issues. :(
Like 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! :)