Minecraft mod integrating Patreon into Luckperms
Find a file
sandrp 527a7a8b44
All checks were successful
Build & Publish Mod / build (push) Successful in 11m2s
Remove comments and clean up gitignore
2026-11-01 17:36:59 +01:00
.forgejo/workflows Implement FishPatreon mod with Patreon OAuth2, Webhooks, and LuckPerms sync 2026-11-01 17:34:16 +01:00
gradle/wrapper Implement FishPatreon mod with Patreon OAuth2, Webhooks, and LuckPerms sync 2026-11-01 17:34:16 +01:00
src Remove comments and clean up gitignore 2026-11-01 17:36:59 +01:00
.gitignore Remove comments and clean up gitignore 2026-11-01 17:36:59 +01:00
build.gradle.kts Remove comments and clean up gitignore 2026-11-01 17:36:59 +01:00
gradle.properties Implement FishPatreon mod with Patreon OAuth2, Webhooks, and LuckPerms sync 2026-11-01 17:34:16 +01:00
gradlew Implement FishPatreon mod with Patreon OAuth2, Webhooks, and LuckPerms sync 2026-11-01 17:34:16 +01:00
gradlew.bat Implement FishPatreon mod with Patreon OAuth2, Webhooks, and LuckPerms sync 2026-11-01 17:34:16 +01:00
LICENSE.txt Implement FishPatreon mod with Patreon OAuth2, Webhooks, and LuckPerms sync 2026-11-01 17:34:16 +01:00
README.md Implement FishPatreon mod with Patreon OAuth2, Webhooks, and LuckPerms sync 2026-11-01 17:34:16 +01:00
settings.gradle.kts first commit 2026-11-01 16:44:22 +01:00

FishPatreon

FishPatreon is a lightweight, purely server-side Fabric mod that connects your Patreon campaign directly to LuckPerms. When a player subscribes to one of your Patreon tiers and links their Minecraft account via OAuth2, they automatically receive their corresponding in-game role—and if their subscription expires or is canceled, the role is removed automatically.

100% Server-Side: Players do not need to install this mod on their clients to join and use its features.


Features

  • Secure In-Game OAuth2 Account Linking: Players simply run /patreon link, click the generated button in chat, and authorize with Patreon in their browser to securely verify and link their account.

  • Multi-Tier LuckPerms Sync: Maps your Patreon tiers (e.g., Premium & Premium+) to dedicated LuckPerms groups (premium, premium_plus, freely configurable) with priority support and fallback pledge-amount matching.

  • Real-Time Webhooks & Periodic Polling: Combines periodic Patreon API v2 polling, automatic sync on server join, and an optional built-in HTTP webhook receiver (members:pledge:create, members:pledge:update, members:pledge:delete) for instant rank updates and automatic removal on cancellation.


How It Works for Players

  1. Check Your Status: Type /patreon to see your current Patreon link status and active tier.
  2. Link Your Account: Run /patreon link and click the [Mit Patreon verbinden] button in chat to authenticate via Patreon OAuth2.
  3. Automatic Role Assignment: As soon as your subscription is active, FishPatreon assigns your tier's LuckPerms group in-game. When a subscription ends, the group is removed automatically.

Commands & Permissions

Player commands are available to everyone, while administrative commands require the permission fish.patreon (configurable) or OP status (Level 3/4) if no permission plugin is installed.

For Everyone

  • /patreon / /patreon status – Shows your current Patreon link status, active tier, and quick action buttons.
  • /patreon link – Generates a clickable Patreon OAuth2 verification link.
  • /patreon unlink – Unlinks your Patreon account and removes managed Patreon groups.

For Team Members (fish.patreon)

  • /patreon sync – Triggers an immediate full synchronization with the Patreon API v2.
  • /patreon list – Lists all linked Minecraft players and their current Patreon tier status.
  • /patreon setlink <Player> <Patreon-User-ID> – Manually links a player to a Patreon user ID.
  • /patreon removelink <Player> – Removes a player's Patreon link and resets their Patreon groups.
  • /patreon reload – Reloads config.json and restarts the embedded OAuth/Webhook HTTP listener if needed.

⚙️ Configuration

All configuration and runtime files are automatically generated and stored in config/fishpatreon/:

  • config.json – Configure your Patreon API credentials (campaignId, creatorAccessToken, clientId, clientSecret, redirectUri, webhookSecret), HTTP server settings (httpHost, httpPort), sync intervals, and the tiers mapping list (tierId, tierName, luckPermsGroup, minAmountCents, priority).
  • links.json – Stores verified player-to-Patreon account links and their last known subscription state.