Skip to content

About

This Minecraft plugin aims to introduce factions into the game in a simple, easy to use, expandable way.

Topics

Resources

Contributing

Stars

0 stars

Watchers

2 watching

Forks

Repository files navigation

MiniFactions

Creating the faction Stonebridge, claiming a chunk, inviting a second player and viewing /mf info

Real in-game output from MiniFactions 1.0.1 on a local throwaway Paper 1.21.11 test server: the commands were typed by a scripted bot client, and the chat it received is drawn as Minecraft-style chat (typed commands appear in the input bars; grey lines say what happened between commands).

Description

MiniFactions adds a small, simple faction system to a Spigot server. Players create a faction with /mf create, invite others, and claim chunks of territory with /mf claim. Each player has a power level that the faction leader spends to claim land and that drops on death, so territory has a cost. Faction data is saved every 5 minutes and when the server stops. See the User Guide, COMMANDS.md and CONFIG.md.

MiniFactions is a separate, deliberately minimal plugin, not a lighter edition of Medieval Factions. Both use the /mf and /f commands, so install one or the other, not both.

About

Characteristics

  • Simple
  • Minimal
  • Expandable

Donation Request

The plan is to request $1 donations from those that download the software. Users will be able to download the plugin for no cost or donate more than $1 if they wish. The plugin will always remain open source, so individuals will be free to access the source code and create forks of the project.

Supported Minecraft Versions

This plugin is supported on the Minecraft versions listed in minecraft-versions.json: currently 1.19.4, 1.21.11, 26.2 and 26.3 (Spigot and its forks). Every stable release is booted on a real server of each of these versions before it is published, and every build checks that the plugin only uses Bukkit API that exists on all of them. Other versions from 1.19.4 onwards are expected to work but are not tested. To support another version, add it to the file: both checks pick it up.

Known Limitations

Faction data is saved every 5 minutes (the autosaveMinutes option in CONFIG.md) and when the plugin is disabled (for example when the server stops), and loaded when it enables. If the server crashes or is killed instead of being stopped, the changes made since the last save are lost. The data files are described in the User Guide.

Target Features

  • Social Organization
  • Territory
  • Configurability
  • Localization

Commands To Implement

Social Organization

  • List
  • Info
  • Join
  • Leave
  • Create
  • Invite
  • Disband
  • Kick
  • Transfer

Territory

  • Power
  • Claim
  • Unclaim
  • CheckClaim

Configurability

  • Config
    • View
    • Set
  • Flags
    • View
    • Set
  • Perm
    • View
    • Get
    • Set
  • Force
    • Help
    • Join
    • Invite
    • Disband
    • Kick
    • Claim
    • Unclaim

Localization

  • Lang
    • Get
    • Set

bStats

Check out the bStats page here!

Usage reporting

Usage reporting is on by default: MiniFactions sends its name, version and command names (a startup event when it enables and a command event when one of its commands is used) to https://trace.danielstephenson.dev so it is known which plugins are actually in use. The first use of a command is sent at once; further uses of the same command within a minute are counted and sent together as one event carrying the count. Nothing about players, worlds or IPs is sent, and nothing typed after a command is sent either.

Each event also carries a random server ID (the server-id line in plugins/trace/config.yml) so servers can be counted rather than events. It identifies no person, account or IP address; delete the line to get a new one.

To turn it off:

  • for this plugin: usage-reporting.enabled: false in plugins/MiniFactions/config.yml
  • for every plugin on the server that reports this way: enabled: false in plugins/trace/config.yml (created the first time such a plugin enables)
  • for the whole server process: the environment variable TRACE_USAGE_REPORTING=off or DO_NOT_TRACK=1

Each startup logs whether reporting is on or, if it is off, why. Details: https://danielstephenson.dev/usage-reporting

License

MiniFactions is open source under the Apache License 2.0.

About

This Minecraft plugin aims to introduce factions into the game in a simple, easy to use, expandable way.

Topics

Resources

Contributing

Stars

0 stars

Watchers

2 watching

Forks

Releases

Contributors

Languages