Skip to content
Yao Chung Hu edited this page Jul 4, 2026 · 2 revisions

Greenlight

Greenlight is a client-side library mod for Minecraft. It gives servers one shared way to allow gameplay-affecting client features, and gives client mods one shared API for checking that permission.

The usual flow:

  1. A client mod has a feature that should stay off unless a server allows it.
  2. The server ships a small JSON policy in its required resource pack.
  3. The client mod asks Greenlight whether that feature is granted.
  4. If there is no trusted policy, the mod behaves like vanilla.

Greenlight is not anti-cheat. A modified client can ignore client-side rules. The goal is to help honest clients, modpacks, and servers use one shared opt-in format.

Players and Modpack Users

Installing Greenlight does not turn features on by itself. It only lets compatible mods check what the current server has allowed.

If a server does not publish a Greenlight policy for a feature, compatible mods should treat that feature as denied on multiplayer.

Server Owners

Start here:

Server Owner Guide

For the full policy file format:

Policy Files

Mod Developers

Start here:

Mod Developer Guide

Public API package:

me.flashyreese.mods.greenlight.feature

Minimal feature registration:

public static final ClientFeature<CaveTintPolicy> CAVE_TINT = Greenlight
        .feature(Identifier.fromNamespaceAndPath("examplemod", "cave_tint"))
        .decoder(1, CaveTintPolicy::fromJson)
        .register();

Query when the feature would apply:

Optional<CaveTintPolicy> policy = CAVE_TINT.policy();
if (policy.isEmpty()) {
    return;
}

License

LGPL-3.0-or-later.

Clone this wiki locally