Updated documentation
This commit is contained in:
parent
53d2a25f42
commit
a59ad22370
22
README.md
22
README.md
@ -1,10 +1,16 @@
|
||||
# Modular Politics for Minetest
|
||||
|
||||
This is a mod for [Minetest](https://minetest.net) that enables diverse governance mechanisms. It seeks to implement the [Modular Politics](https://metagov.org/modpol) proposal. In the future, it will be possible to use this framework to simulate governance in a number of platform contexts.
|
||||
Modular Politics is an extension that enables diverse governance processes on multi-user platforms. It seeks to implement a theoretical framework, also called [Modular Politics](https://metagov.org/modpol), which proposes these design goals:
|
||||
|
||||
This mod produces an API that can serve as a dependency for other mods that add specific governance functionalities.
|
||||
* *Modularity*: Platform operators and community members should have the ability to construct systems by creating, importing, and arranging composable parts together as a coherent whole.
|
||||
* *Expressiveness*: The governance layer should be able to implement as wide a range of processes as possible.
|
||||
* *Portability*: Governance tools developed for one platform should be portable to another platform for reuse and adaptation.
|
||||
* *Interoperability*: Governance systems operating on different platforms and protocols should have the ability to interact with each other, sharing data and influencing each other's processes.
|
||||
|
||||
Modular Politics produces a library that enables users to create or adapt their own modules that add specific governance functionalities.
|
||||
|
||||
This implementation is a mod for [Minetest](https://minetest.net), a free/open-source voxel game. It is designed to be easily adapted to other multi-user platforms that also employ Lua as an extension language.
|
||||
|
||||
For background information, documentation, and the project roadmap, see [the wiki](https://gitlab.com/medlabboulder/modpol/-/wikis/home).
|
||||
|
||||
## Installation in Minetest
|
||||
|
||||
@ -52,9 +58,15 @@ Other contributors include:
|
||||
* Robert Kiraly [[OldCoder](https://github.com/oldcoder/)] (ocutils.lua, storage-local.lua, project refactoring)
|
||||
* Skylar Hew (documentation)
|
||||
|
||||
We'd love to welcome more contributors, particularly from the Minetest community! Please join the conversation in the [Issues](https://gitlab.com/medlabboulder/modpol/-/issues) or the [Minetest.net forum](https://forum.minetest.net/viewtopic.php?f=47&t=26037).
|
||||
We are grateful for initial support for this project from a residency with [The Bentway Conservancy](https://www.thebentway.ca/). Read about us in _[The Field Guide to Digital and/as Public Space](https://www.thebentway.ca/stories/field-guide/)_.
|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
We'd love to welcome more contributors. Please join the conversation in the [Issues](https://gitlab.com/medlabboulder/modpol/-/issues), our [Matrix.org channel](https://matrix.to/#/#minetest-modpol:matrix.org), and the [Minetest.net forum](https://forum.minetest.net/viewtopic.php?f=47&t=26037).
|
||||
|
||||
Learn more about the project and how to develop your own modules in [the wiki](https://gitlab.com/medlabboulder/modpol/-/wikis/home).
|
||||
|
||||
We are grateful for support for this project from a residency with [The Bentway Conservancy](https://www.thebentway.ca/).
|
||||
|
||||
## Licenses
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
--- change_modules
|
||||
-- @module change_modules
|
||||
--- module_template
|
||||
-- @module module_template
|
||||
|
||||
--- (Required): data table containing name and description of the module
|
||||
-- @field name "Human-readable name"
|
||||
-- @field slug "Same as module class name"
|
||||
-- @field desc "Description of the module"
|
||||
-- @field hide "Whether this is a hidden utility module"
|
||||
local change_modules = {
|
||||
local module_template = {
|
||||
name = "Module Human-Readable Name",
|
||||
slug = "template",
|
||||
desc = "Description of the module",
|
||||
@ -16,7 +16,7 @@ local change_modules = {
|
||||
--- (Required) Data for module
|
||||
-- Variables that module uses during the course of a process
|
||||
-- Can be blank
|
||||
change_modules.data = {
|
||||
module_template.data = {
|
||||
}
|
||||
|
||||
--- (Required): config for module
|
||||
@ -27,7 +27,7 @@ change_modules.data = {
|
||||
-- Default values set in config can be overridden
|
||||
-- @field field_1 ex: votes_required, default = 5
|
||||
-- @field field_2 ex: voting_type, default = "majority"
|
||||
change_modules.config = {
|
||||
module_template.config = {
|
||||
field_1 = 5
|
||||
field_2 = "majority"
|
||||
}
|
||||
@ -39,7 +39,7 @@ change_modules.config = {
|
||||
-- <li><code>self.id</code> (the process id of the module instance)</li>
|
||||
-- @param result (optional) Callback if this module is embedded in other modules
|
||||
-- @function initiate
|
||||
function change_modules:initiate(result)
|
||||
function module_template:initiate(result)
|
||||
-- call interaction functions here!
|
||||
|
||||
-- concluding functions:
|
||||
@ -51,4 +51,4 @@ function change_modules:initiate(result)
|
||||
end
|
||||
|
||||
--- (Required) Add to module table
|
||||
modpol.modules.change_modules = change_modules
|
||||
modpol.modules.module_template = module_template
|
||||
|
Loading…
x
Reference in New Issue
Block a user