# Leaf Leaf is a Spigot 26.2 plugin that lets non-aggressive players opt into visible Resistance protection. The approved behavior is specified in the [OKF design bundle](design/index.md). ## Requirements - Spigot 26.2 - Java 17 or newer ## Build ```bash ./gradlew clean check jar ``` The plugin JAR is written to `build/libs/`. ## Commands ```text /leaf on /leaf off /leaf status /leaf enabled /leaf strength <1-5> /leaf player status /leaf player enabled /leaf player locked ``` Administrative commands require `leaf.admin`, granted to server operators by default. ## Compatibility Leaf prefixes the standard Spigot display name (used by standard chat), player-list name, and a dedicated `leaf_protected` main-scoreboard team for overhead names. Legacy `&` color codes are supported. Leaf does not move players out of an existing scoreboard team, and per-viewer/custom scoreboards may not show its overhead prefix. Chat or tab-management plugins may replace Leaf's decorated names. During cleanup, Leaf removes exact copies of its configured prefix while preserving surrounding name formatting; another plugin should therefore not intentionally use identical prefix text. Spigot identifies potion effects by type but does not expose their owning plugin. Leaf tracks the exact infinite, quiet Resistance effect it successfully installed and removes it only while the visible effect still matches. A distinct Resistance level, duration, or presentation is preserved. Spigot cannot distinguish an externally supplied effect with an identical fingerprint; Leaf therefore does not claim or later remove an identical effect that was already active when reconciliation ran. ## Releases Gitea Actions checks pushes and pull requests and stores a development JAR. Pull requests validate conventional commits. Main-branch conventional commits drive semantic releases after the repository defines a `RELEASE_TOKEN` with contents-write permission.