Files
firefrost-services/services/rules-mod/CLAUDE.md
Claude (Chronicler #83 - The Compiler) 179bac2911 feat(rules-mod): Add Firefrost Rules Mod source — all 3 versions
NeoForge 1.21.1, Forge 1.20.1, Forge 1.16.5
All compiled and deployed to NextCloud (Task #136)
Source committed for Task #138 (CurseForge generic fork)
CLAUDE.md with build environment docs included

Claude (Chronicler #83 - The Compiler) <claude@firefrostgaming.com>
2026-04-12 11:56:15 -05:00

24 lines
1.2 KiB
Markdown

# Firefrost Rules Mod — Build Environment
## Project Structure
- `1.21.1/` — NeoForge (Java 21, Gradle 8.8, moddev 2.0.141)
- `1.20.1/` — Forge (Java 17, Gradle 8.8, ForgeGradle 6.0)
- `1.16.5/` — Forge (Java 8, Gradle 7.6.4, ForgeGradle 5.1)
## What This Mod Does
Player types `/rules` → mod fetches rules from a Discord message → displays in-game with colored formatting. Admins update rules by editing a Discord message — no restarts, no file editing.
## 7 Source Files (each version)
- ServerRules.java — main mod class
- ServerRulesConfig.java — TOML config (bot token, channel ID, message ID)
- RulesCommand.java — /rules command handler
- DiscordFetcher.java — async HTTP fetch from Discord API
- DiscordFormatter.java — Discord markdown → Minecraft chat formatting
- RulesCache.java — 30-minute cache with fallback
- CooldownManager.java — per-player 60-second cooldown
## Version Differences
- 1.21.1: `net.neoforged.*`, `ModConfigSpec`, `Component.literal()`, `java.net.http.HttpClient`
- 1.20.1: `net.minecraftforge.*`, `ForgeConfigSpec`, `Component.literal()`, `java.net.http.HttpClient`
- 1.16.5: `net.minecraftforge.*`, `ForgeConfigSpec`, `StringTextComponent`, `HttpURLConnection`, `new JsonParser().parse()`