diff --git a/docs/code-bridge/responses/RES-2026-04-13-rules-mod-config-not-read-at-runtime.md b/docs/code-bridge/responses/RES-2026-04-13-rules-mod-config-not-read-at-runtime.md new file mode 100644 index 0000000..eb1a9eb --- /dev/null +++ b/docs/code-bridge/responses/RES-2026-04-13-rules-mod-config-not-read-at-runtime.md @@ -0,0 +1,26 @@ +# Architectural Response + +**Re:** REQ-2026-04-13-rules-mod-config-not-read-at-runtime +**Date:** 2026-04-13 + +## 1. Root Cause (two bugs) + +**Bug 1: Wrong event bus (1.20.1 only).** `ModConfigEvent.Loading` and `Reloading` fire on the mod event bus, not `MinecraftForge.EVENT_BUS`. The `@SubscribeEvent` handlers were registered on the wrong bus and never fired. Fixed by switching to `FMLJavaModLoadingContext.get().getModEventBus().addListener()`. + +**Bug 2: Config file section headers removed.** The Chronicler's config file had values at the top level without `[discord]` section headers. ForgeConfigSpec looks for `discord.bot_token` — without the section, it can't find the values and returns defaults. + +## 2. Fixes Applied (all 6 builds, v1.0.3) +- 1.20.1: Config events moved to mod event bus +- All versions: Added prominent warning comment to generated config file +- 1.20.1: Added debug logging in RulesCommand (token length + channel ID) +- INSTALL.md: Section header preservation warning added + +## 3. Chronicler Deploy Steps +1. Stop Otherworld +2. Replace jar with firefrostrules-1.0.3-1.20.1-forge.jar +3. Delete config/firefrostrules-common.toml +4. Start server — generates fresh config with section headers +5. Stop server +6. Edit ONLY the values under [discord] — keep headers intact +7. Start server — check logs for "config loaded successfully" +8. Player runs /rules — should show real Discord rules diff --git a/services/discord-rules/1.16.5/.gradle/7.6.4/checksums/checksums.lock b/services/discord-rules/1.16.5/.gradle/7.6.4/checksums/checksums.lock index 5f6e62b..89537a4 100644 Binary files a/services/discord-rules/1.16.5/.gradle/7.6.4/checksums/checksums.lock and b/services/discord-rules/1.16.5/.gradle/7.6.4/checksums/checksums.lock differ diff --git a/services/discord-rules/1.16.5/.gradle/7.6.4/checksums/sha1-checksums.bin b/services/discord-rules/1.16.5/.gradle/7.6.4/checksums/sha1-checksums.bin index 9ce5b8d..4bddcb6 100644 Binary files a/services/discord-rules/1.16.5/.gradle/7.6.4/checksums/sha1-checksums.bin and b/services/discord-rules/1.16.5/.gradle/7.6.4/checksums/sha1-checksums.bin differ diff --git a/services/discord-rules/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.bin b/services/discord-rules/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.bin index f899704..f2dd2d3 100644 Binary files a/services/discord-rules/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.bin and b/services/discord-rules/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.bin differ diff --git a/services/discord-rules/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.lock b/services/discord-rules/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.lock index c352856..1084d92 100644 Binary files a/services/discord-rules/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.lock and b/services/discord-rules/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.lock differ diff --git a/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.bin b/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.bin index 9ea7522..b06d2ca 100644 Binary files a/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.bin and b/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.bin differ diff --git a/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.lock b/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.lock index f9cf0c0..05dddc8 100644 Binary files a/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.lock and b/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.lock differ diff --git a/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/resourceHashesCache.bin b/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/resourceHashesCache.bin index ceaa296..2995216 100644 Binary files a/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/resourceHashesCache.bin and b/services/discord-rules/1.16.5/.gradle/7.6.4/fileHashes/resourceHashesCache.bin differ diff --git a/services/discord-rules/1.16.5/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/services/discord-rules/1.16.5/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 1c78d02..3034b2b 100644 Binary files a/services/discord-rules/1.16.5/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/services/discord-rules/1.16.5/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/services/discord-rules/1.16.5/.gradle/buildOutputCleanup/outputFiles.bin b/services/discord-rules/1.16.5/.gradle/buildOutputCleanup/outputFiles.bin index 13da7c3..3785a87 100644 Binary files a/services/discord-rules/1.16.5/.gradle/buildOutputCleanup/outputFiles.bin and b/services/discord-rules/1.16.5/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/services/discord-rules/1.16.5/.gradle/file-system.probe b/services/discord-rules/1.16.5/.gradle/file-system.probe index 0c9517f..7581ba4 100644 Binary files a/services/discord-rules/1.16.5/.gradle/file-system.probe and b/services/discord-rules/1.16.5/.gradle/file-system.probe differ diff --git a/services/discord-rules/1.16.5/build.gradle b/services/discord-rules/1.16.5/build.gradle index 58632e7..d31da79 100644 --- a/services/discord-rules/1.16.5/build.gradle +++ b/services/discord-rules/1.16.5/build.gradle @@ -10,7 +10,7 @@ buildscript { apply plugin: 'net.minecraftforge.gradle' -version = '1.0.2' +version = '1.0.3' group = 'com.discordrules' archivesBaseName = 'discordrules' diff --git a/services/discord-rules/1.16.5/build/libs/discordrules-1.0.0.jar b/services/discord-rules/1.16.5/build/libs/discordrules-1.0.0.jar index 0724bd7..174df09 100644 Binary files a/services/discord-rules/1.16.5/build/libs/discordrules-1.0.0.jar and b/services/discord-rules/1.16.5/build/libs/discordrules-1.0.0.jar differ diff --git a/services/discord-rules/1.16.5/src/main/java/com/discordrules/ServerRulesConfig.java b/services/discord-rules/1.16.5/src/main/java/com/discordrules/ServerRulesConfig.java index 771ceca..ba475d5 100644 --- a/services/discord-rules/1.16.5/src/main/java/com/discordrules/ServerRulesConfig.java +++ b/services/discord-rules/1.16.5/src/main/java/com/discordrules/ServerRulesConfig.java @@ -16,7 +16,10 @@ public class ServerRulesConfig { static { ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder(); - builder.push("discord"); + builder.comment("Discord Rules Mod Configuration", + "IMPORTANT: Do not remove [section] headers when editing.", + "Values must stay under their section or the mod cannot read them.") + .push("discord"); BOT_TOKEN = builder.comment("Discord Bot Token").define("bot_token", "YOUR_TOKEN_HERE"); CHANNEL_ID = builder.comment("Discord Channel ID").define("channel_id", "1234567890123456789"); MESSAGE_ID = builder.comment("Discord Message ID").define("message_id", "1234567890123456789"); diff --git a/services/discord-rules/1.20.1/.gradle/8.8/checksums/checksums.lock b/services/discord-rules/1.20.1/.gradle/8.8/checksums/checksums.lock index add0705..96edaee 100644 Binary files a/services/discord-rules/1.20.1/.gradle/8.8/checksums/checksums.lock and b/services/discord-rules/1.20.1/.gradle/8.8/checksums/checksums.lock differ diff --git a/services/discord-rules/1.20.1/.gradle/8.8/checksums/sha1-checksums.bin b/services/discord-rules/1.20.1/.gradle/8.8/checksums/sha1-checksums.bin index 23ce1a7..5b7cf81 100644 Binary files a/services/discord-rules/1.20.1/.gradle/8.8/checksums/sha1-checksums.bin and b/services/discord-rules/1.20.1/.gradle/8.8/checksums/sha1-checksums.bin differ diff --git a/services/discord-rules/1.20.1/.gradle/8.8/executionHistory/executionHistory.bin b/services/discord-rules/1.20.1/.gradle/8.8/executionHistory/executionHistory.bin index 1825f2e..f6de6c4 100644 Binary files a/services/discord-rules/1.20.1/.gradle/8.8/executionHistory/executionHistory.bin and b/services/discord-rules/1.20.1/.gradle/8.8/executionHistory/executionHistory.bin differ diff --git a/services/discord-rules/1.20.1/.gradle/8.8/executionHistory/executionHistory.lock b/services/discord-rules/1.20.1/.gradle/8.8/executionHistory/executionHistory.lock index 8a6964c..fc6cb82 100644 Binary files a/services/discord-rules/1.20.1/.gradle/8.8/executionHistory/executionHistory.lock and b/services/discord-rules/1.20.1/.gradle/8.8/executionHistory/executionHistory.lock differ diff --git a/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/fileHashes.bin b/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/fileHashes.bin index a1fff82..5dff49a 100644 Binary files a/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/fileHashes.bin and b/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/fileHashes.bin differ diff --git a/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/fileHashes.lock b/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/fileHashes.lock index af47946..d51ae57 100644 Binary files a/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/fileHashes.lock and b/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/fileHashes.lock differ diff --git a/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/resourceHashesCache.bin b/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/resourceHashesCache.bin index ce57976..5e082e2 100644 Binary files a/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/resourceHashesCache.bin and b/services/discord-rules/1.20.1/.gradle/8.8/fileHashes/resourceHashesCache.bin differ diff --git a/services/discord-rules/1.20.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/services/discord-rules/1.20.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 7bd0c36..252a8d4 100644 Binary files a/services/discord-rules/1.20.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/services/discord-rules/1.20.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/services/discord-rules/1.20.1/.gradle/buildOutputCleanup/outputFiles.bin b/services/discord-rules/1.20.1/.gradle/buildOutputCleanup/outputFiles.bin index 05031ec..31591c9 100644 Binary files a/services/discord-rules/1.20.1/.gradle/buildOutputCleanup/outputFiles.bin and b/services/discord-rules/1.20.1/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/services/discord-rules/1.20.1/.gradle/file-system.probe b/services/discord-rules/1.20.1/.gradle/file-system.probe index 03939c9..b10220d 100644 Binary files a/services/discord-rules/1.20.1/.gradle/file-system.probe and b/services/discord-rules/1.20.1/.gradle/file-system.probe differ diff --git a/services/discord-rules/1.20.1/build.gradle b/services/discord-rules/1.20.1/build.gradle index 550517c..6210bd5 100755 --- a/services/discord-rules/1.20.1/build.gradle +++ b/services/discord-rules/1.20.1/build.gradle @@ -10,7 +10,7 @@ buildscript { apply plugin: 'net.minecraftforge.gradle' -version = '1.0.2' +version = '1.0.3' group = 'com.discordrules' archivesBaseName = 'discordrules' diff --git a/services/discord-rules/1.20.1/build/libs/discordrules-1.0.0.jar b/services/discord-rules/1.20.1/build/libs/discordrules-1.0.0.jar index 02a1ce7..b10ad17 100644 Binary files a/services/discord-rules/1.20.1/build/libs/discordrules-1.0.0.jar and b/services/discord-rules/1.20.1/build/libs/discordrules-1.0.0.jar differ diff --git a/services/discord-rules/1.20.1/src/main/java/com/discordrules/ServerRules.java b/services/discord-rules/1.20.1/src/main/java/com/discordrules/ServerRules.java index 029f73d..cd51ad1 100755 --- a/services/discord-rules/1.20.1/src/main/java/com/discordrules/ServerRules.java +++ b/services/discord-rules/1.20.1/src/main/java/com/discordrules/ServerRules.java @@ -8,6 +8,7 @@ import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.ModConfig; import net.minecraftforge.fml.event.config.ModConfigEvent; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,6 +18,8 @@ public class ServerRules { public ServerRules() { ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, ServerRulesConfig.SPEC); + FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onConfigLoaded); + FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onConfigReload); MinecraftForge.EVENT_BUS.register(this); LOGGER.info("Discord Rules Mod Initialized."); } @@ -32,8 +35,7 @@ public class ServerRules { CooldownManager.removePlayer(event.getEntity().getUUID()); } - @SubscribeEvent - public void onConfigLoaded(ModConfigEvent.Loading event) { + private void onConfigLoaded(ModConfigEvent.Loading event) { if (event.getConfig().getSpec() == ServerRulesConfig.SPEC) { String token = ServerRulesConfig.BOT_TOKEN.get(); if (token.equals("YOUR_TOKEN_HERE")) { @@ -44,8 +46,7 @@ public class ServerRules { } } - @SubscribeEvent - public void onConfigReload(ModConfigEvent.Reloading event) { + private void onConfigReload(ModConfigEvent.Reloading event) { LOGGER.info("Rules configuration reloaded! Invalidating cache."); RulesCache.invalidate(); } diff --git a/services/discord-rules/1.20.1/src/main/java/com/discordrules/ServerRulesConfig.java b/services/discord-rules/1.20.1/src/main/java/com/discordrules/ServerRulesConfig.java index 771ceca..ba475d5 100755 --- a/services/discord-rules/1.20.1/src/main/java/com/discordrules/ServerRulesConfig.java +++ b/services/discord-rules/1.20.1/src/main/java/com/discordrules/ServerRulesConfig.java @@ -16,7 +16,10 @@ public class ServerRulesConfig { static { ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder(); - builder.push("discord"); + builder.comment("Discord Rules Mod Configuration", + "IMPORTANT: Do not remove [section] headers when editing.", + "Values must stay under their section or the mod cannot read them.") + .push("discord"); BOT_TOKEN = builder.comment("Discord Bot Token").define("bot_token", "YOUR_TOKEN_HERE"); CHANNEL_ID = builder.comment("Discord Channel ID").define("channel_id", "1234567890123456789"); MESSAGE_ID = builder.comment("Discord Message ID").define("message_id", "1234567890123456789"); diff --git a/services/discord-rules/1.21.1/.gradle/8.8/executionHistory/executionHistory.lock b/services/discord-rules/1.21.1/.gradle/8.8/executionHistory/executionHistory.lock index 27c1f70..a1fd3c1 100644 Binary files a/services/discord-rules/1.21.1/.gradle/8.8/executionHistory/executionHistory.lock and b/services/discord-rules/1.21.1/.gradle/8.8/executionHistory/executionHistory.lock differ diff --git a/services/discord-rules/1.21.1/.gradle/8.8/fileHashes/fileHashes.lock b/services/discord-rules/1.21.1/.gradle/8.8/fileHashes/fileHashes.lock index a68c06d..b773ef5 100644 Binary files a/services/discord-rules/1.21.1/.gradle/8.8/fileHashes/fileHashes.lock and b/services/discord-rules/1.21.1/.gradle/8.8/fileHashes/fileHashes.lock differ diff --git a/services/discord-rules/1.21.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/services/discord-rules/1.21.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 2322949..479d8a3 100644 Binary files a/services/discord-rules/1.21.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/services/discord-rules/1.21.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/services/discord-rules/1.21.1/.gradle/file-system.probe b/services/discord-rules/1.21.1/.gradle/file-system.probe index bb04347..1aa0f16 100644 Binary files a/services/discord-rules/1.21.1/.gradle/file-system.probe and b/services/discord-rules/1.21.1/.gradle/file-system.probe differ diff --git a/services/discord-rules/1.21.1/build/libs/discordrules-1.0.0.jar b/services/discord-rules/1.21.1/build/libs/discordrules-1.0.0.jar index e5e776f..0629903 100644 Binary files a/services/discord-rules/1.21.1/build/libs/discordrules-1.0.0.jar and b/services/discord-rules/1.21.1/build/libs/discordrules-1.0.0.jar differ diff --git a/services/discord-rules/1.21.1/gradle.properties b/services/discord-rules/1.21.1/gradle.properties index b3d1fdd..f881f3d 100644 --- a/services/discord-rules/1.21.1/gradle.properties +++ b/services/discord-rules/1.21.1/gradle.properties @@ -6,5 +6,5 @@ neo_version=21.1.65 mod_id=discordrules mod_name=Discord Rules -mod_version=1.0.2 +mod_version=1.0.3 mod_group_id=com.discordrules diff --git a/services/discord-rules/1.21.1/src/main/java/com/discordrules/ServerRulesConfig.java b/services/discord-rules/1.21.1/src/main/java/com/discordrules/ServerRulesConfig.java index cac2ea1..7b6fb75 100644 --- a/services/discord-rules/1.21.1/src/main/java/com/discordrules/ServerRulesConfig.java +++ b/services/discord-rules/1.21.1/src/main/java/com/discordrules/ServerRulesConfig.java @@ -16,7 +16,10 @@ public class ServerRulesConfig { static { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.push("discord"); + builder.comment("Discord Rules Mod Configuration", + "IMPORTANT: Do not remove [section] headers when editing.", + "Values must stay under their section or the mod cannot read them.") + .push("discord"); BOT_TOKEN = builder.comment("Discord Bot Token").define("bot_token", "YOUR_TOKEN_HERE"); CHANNEL_ID = builder.comment("Discord Channel ID").define("channel_id", "1234567890123456789"); MESSAGE_ID = builder.comment("Discord Message ID").define("message_id", "1234567890123456789"); diff --git a/services/discord-rules/discord-rules-1.0.2-1.16.5-forge.jar b/services/discord-rules/discord-rules-1.0.3-1.16.5-forge.jar similarity index 74% rename from services/discord-rules/discord-rules-1.0.2-1.16.5-forge.jar rename to services/discord-rules/discord-rules-1.0.3-1.16.5-forge.jar index c38458f..31f8554 100644 Binary files a/services/discord-rules/discord-rules-1.0.2-1.16.5-forge.jar and b/services/discord-rules/discord-rules-1.0.3-1.16.5-forge.jar differ diff --git a/services/discord-rules/discord-rules-1.0.2-1.20.1-forge.jar b/services/discord-rules/discord-rules-1.0.3-1.20.1-forge.jar similarity index 64% rename from services/discord-rules/discord-rules-1.0.2-1.20.1-forge.jar rename to services/discord-rules/discord-rules-1.0.3-1.20.1-forge.jar index ea353cc..d6ad4d1 100644 Binary files a/services/discord-rules/discord-rules-1.0.2-1.20.1-forge.jar and b/services/discord-rules/discord-rules-1.0.3-1.20.1-forge.jar differ diff --git a/services/discord-rules/discord-rules-1.0.2-1.21.1-neoforge.jar b/services/discord-rules/discord-rules-1.0.3-1.21.1-neoforge.jar similarity index 76% rename from services/discord-rules/discord-rules-1.0.2-1.21.1-neoforge.jar rename to services/discord-rules/discord-rules-1.0.3-1.21.1-neoforge.jar index f2fb51a..72fc3a9 100644 Binary files a/services/discord-rules/discord-rules-1.0.2-1.21.1-neoforge.jar and b/services/discord-rules/discord-rules-1.0.3-1.21.1-neoforge.jar differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/checksums/checksums.lock b/services/rules-mod/1.16.5/.gradle/7.6.4/checksums/checksums.lock new file mode 100644 index 0000000..529cc53 Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/7.6.4/checksums/checksums.lock differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/checksums/md5-checksums.bin b/services/rules-mod/1.16.5/.gradle/7.6.4/checksums/md5-checksums.bin new file mode 100644 index 0000000..73717d5 Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/7.6.4/checksums/md5-checksums.bin differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/checksums/sha1-checksums.bin b/services/rules-mod/1.16.5/.gradle/7.6.4/checksums/sha1-checksums.bin new file mode 100644 index 0000000..9a5d29d Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/7.6.4/checksums/sha1-checksums.bin differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/dependencies-accessors/dependencies-accessors.lock b/services/rules-mod/1.16.5/.gradle/7.6.4/dependencies-accessors/dependencies-accessors.lock new file mode 100644 index 0000000..b0deb24 Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/7.6.4/dependencies-accessors/dependencies-accessors.lock differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/dependencies-accessors/gc.properties b/services/rules-mod/1.16.5/.gradle/7.6.4/dependencies-accessors/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.bin b/services/rules-mod/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.bin new file mode 100644 index 0000000..0ab2010 Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.bin differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.lock b/services/rules-mod/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.lock new file mode 100644 index 0000000..0b95b8f Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/7.6.4/executionHistory/executionHistory.lock differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/fileChanges/last-build.bin b/services/rules-mod/1.16.5/.gradle/7.6.4/fileChanges/last-build.bin new file mode 100644 index 0000000..f76dd23 Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/7.6.4/fileChanges/last-build.bin differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.bin b/services/rules-mod/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.bin new file mode 100644 index 0000000..437514c Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.bin differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.lock b/services/rules-mod/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.lock new file mode 100644 index 0000000..901268c Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/7.6.4/fileHashes/fileHashes.lock differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/fileHashes/resourceHashesCache.bin b/services/rules-mod/1.16.5/.gradle/7.6.4/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000..86cb7d3 Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/7.6.4/fileHashes/resourceHashesCache.bin differ diff --git a/services/rules-mod/1.16.5/.gradle/7.6.4/gc.properties b/services/rules-mod/1.16.5/.gradle/7.6.4/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/services/rules-mod/1.16.5/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/services/rules-mod/1.16.5/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000..dd04d8a Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/services/rules-mod/1.16.5/.gradle/buildOutputCleanup/cache.properties b/services/rules-mod/1.16.5/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000..c19ef91 --- /dev/null +++ b/services/rules-mod/1.16.5/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Mon Apr 13 17:03:03 CDT 2026 +gradle.version=7.6.4 diff --git a/services/rules-mod/1.16.5/.gradle/buildOutputCleanup/outputFiles.bin b/services/rules-mod/1.16.5/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000..a6cccc4 Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/services/rules-mod/1.16.5/.gradle/file-system.probe b/services/rules-mod/1.16.5/.gradle/file-system.probe new file mode 100644 index 0000000..c8d343b Binary files /dev/null and b/services/rules-mod/1.16.5/.gradle/file-system.probe differ diff --git a/services/rules-mod/1.16.5/.gradle/vcs-1/gc.properties b/services/rules-mod/1.16.5/.gradle/vcs-1/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/services/rules-mod/1.16.5/build.gradle b/services/rules-mod/1.16.5/build.gradle index d7bf1cb..778df8f 100644 --- a/services/rules-mod/1.16.5/build.gradle +++ b/services/rules-mod/1.16.5/build.gradle @@ -10,7 +10,7 @@ buildscript { apply plugin: 'net.minecraftforge.gradle' -version = '1.0.2' +version = '1.0.3' group = 'com.firefrostgaming.rules' archivesBaseName = 'firefrostrules' diff --git a/services/rules-mod/1.16.5/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java b/services/rules-mod/1.16.5/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java index a046a3e..e0e74c2 100644 --- a/services/rules-mod/1.16.5/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java +++ b/services/rules-mod/1.16.5/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java @@ -13,7 +13,10 @@ public class ServerRulesConfig { static { ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder(); - builder.push("discord"); + builder.comment("Firefrost Rules Mod Configuration", + "IMPORTANT: Do not remove [section] headers when editing.", + "Values must stay under their section or the mod cannot read them.") + .push("discord"); BOT_TOKEN = builder.comment("Discord Bot Token").define("bot_token", "YOUR_TOKEN_HERE"); CHANNEL_ID = builder.comment("Discord Channel ID").define("channel_id", "1234567890123456789"); MESSAGE_ID = builder.comment("Discord Message ID").define("message_id", "1234567890123456789"); diff --git a/services/rules-mod/1.20.1/.gradle/8.8/checksums/checksums.lock b/services/rules-mod/1.20.1/.gradle/8.8/checksums/checksums.lock new file mode 100644 index 0000000..64d2a3b Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/8.8/checksums/checksums.lock differ diff --git a/services/rules-mod/1.20.1/.gradle/8.8/checksums/md5-checksums.bin b/services/rules-mod/1.20.1/.gradle/8.8/checksums/md5-checksums.bin new file mode 100644 index 0000000..0b48f1a Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/8.8/checksums/md5-checksums.bin differ diff --git a/services/rules-mod/1.20.1/.gradle/8.8/checksums/sha1-checksums.bin b/services/rules-mod/1.20.1/.gradle/8.8/checksums/sha1-checksums.bin new file mode 100644 index 0000000..4ec288a Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/8.8/checksums/sha1-checksums.bin differ diff --git a/services/rules-mod/1.20.1/.gradle/8.8/dependencies-accessors/gc.properties b/services/rules-mod/1.20.1/.gradle/8.8/dependencies-accessors/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/services/rules-mod/1.20.1/.gradle/8.8/executionHistory/executionHistory.bin b/services/rules-mod/1.20.1/.gradle/8.8/executionHistory/executionHistory.bin new file mode 100644 index 0000000..da42365 Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/8.8/executionHistory/executionHistory.bin differ diff --git a/services/rules-mod/1.20.1/.gradle/8.8/executionHistory/executionHistory.lock b/services/rules-mod/1.20.1/.gradle/8.8/executionHistory/executionHistory.lock new file mode 100644 index 0000000..2c06b24 Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/8.8/executionHistory/executionHistory.lock differ diff --git a/services/rules-mod/1.20.1/.gradle/8.8/fileChanges/last-build.bin b/services/rules-mod/1.20.1/.gradle/8.8/fileChanges/last-build.bin new file mode 100644 index 0000000..f76dd23 Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/8.8/fileChanges/last-build.bin differ diff --git a/services/rules-mod/1.20.1/.gradle/8.8/fileHashes/fileHashes.bin b/services/rules-mod/1.20.1/.gradle/8.8/fileHashes/fileHashes.bin new file mode 100644 index 0000000..d1a0a7d Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/8.8/fileHashes/fileHashes.bin differ diff --git a/services/rules-mod/1.20.1/.gradle/8.8/fileHashes/fileHashes.lock b/services/rules-mod/1.20.1/.gradle/8.8/fileHashes/fileHashes.lock new file mode 100644 index 0000000..cddf5d1 Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/8.8/fileHashes/fileHashes.lock differ diff --git a/services/rules-mod/1.20.1/.gradle/8.8/fileHashes/resourceHashesCache.bin b/services/rules-mod/1.20.1/.gradle/8.8/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000..7fb21ab Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/8.8/fileHashes/resourceHashesCache.bin differ diff --git a/services/rules-mod/1.20.1/.gradle/8.8/gc.properties b/services/rules-mod/1.20.1/.gradle/8.8/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/services/rules-mod/1.20.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/services/rules-mod/1.20.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000..eea9814 Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/services/rules-mod/1.20.1/.gradle/buildOutputCleanup/cache.properties b/services/rules-mod/1.20.1/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000..45f3798 --- /dev/null +++ b/services/rules-mod/1.20.1/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Mon Apr 13 17:02:56 CDT 2026 +gradle.version=8.8 diff --git a/services/rules-mod/1.20.1/.gradle/buildOutputCleanup/outputFiles.bin b/services/rules-mod/1.20.1/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000..bcbc59f Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/services/rules-mod/1.20.1/.gradle/file-system.probe b/services/rules-mod/1.20.1/.gradle/file-system.probe new file mode 100644 index 0000000..67c2bbe Binary files /dev/null and b/services/rules-mod/1.20.1/.gradle/file-system.probe differ diff --git a/services/rules-mod/1.20.1/.gradle/vcs-1/gc.properties b/services/rules-mod/1.20.1/.gradle/vcs-1/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/services/rules-mod/1.20.1/build.gradle b/services/rules-mod/1.20.1/build.gradle index b0e82c8..a8c6f94 100755 --- a/services/rules-mod/1.20.1/build.gradle +++ b/services/rules-mod/1.20.1/build.gradle @@ -10,7 +10,7 @@ buildscript { apply plugin: 'net.minecraftforge.gradle' -version = '1.0.2' +version = '1.0.3' group = 'com.firefrostgaming.rules' archivesBaseName = 'firefrostrules' diff --git a/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/RulesCommand.java b/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/RulesCommand.java index 8cee128..00da695 100755 --- a/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/RulesCommand.java +++ b/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/RulesCommand.java @@ -20,6 +20,10 @@ public class RulesCommand { return 1; } ServerPlayer player = (ServerPlayer) source.getEntity(); + LOGGER.debug("Config state — token length: {}, channel: {}, message: {}", + ServerRulesConfig.BOT_TOKEN.get().length(), + ServerRulesConfig.CHANNEL_ID.get(), + ServerRulesConfig.MESSAGE_ID.get()); if (!CooldownManager.checkAndUpdateCooldown(player)) return 0; if (RulesCache.isCacheValid()) { player.sendSystemMessage(DiscordFormatter.formatRules(RulesCache.getRules())); diff --git a/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/ServerRules.java b/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/ServerRules.java index cd43c39..160dce0 100755 --- a/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/ServerRules.java +++ b/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/ServerRules.java @@ -8,6 +8,7 @@ import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.config.ModConfig; import net.minecraftforge.fml.event.config.ModConfigEvent; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,6 +18,8 @@ public class ServerRules { public ServerRules() { ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, ServerRulesConfig.SPEC); + FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onConfigLoaded); + FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onConfigReload); MinecraftForge.EVENT_BUS.register(this); LOGGER.info("Firefrost Rules Mod Initialized."); } @@ -32,8 +35,7 @@ public class ServerRules { CooldownManager.removePlayer(event.getEntity().getUUID()); } - @SubscribeEvent - public void onConfigLoaded(ModConfigEvent.Loading event) { + private void onConfigLoaded(ModConfigEvent.Loading event) { if (event.getConfig().getSpec() == ServerRulesConfig.SPEC) { String token = ServerRulesConfig.BOT_TOKEN.get(); if (token.equals("YOUR_TOKEN_HERE")) { @@ -44,8 +46,7 @@ public class ServerRules { } } - @SubscribeEvent - public void onConfigReload(ModConfigEvent.Reloading event) { + private void onConfigReload(ModConfigEvent.Reloading event) { LOGGER.info("Rules configuration reloaded! Invalidating cache."); RulesCache.invalidate(); } diff --git a/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java b/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java index a046a3e..e0e74c2 100755 --- a/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java +++ b/services/rules-mod/1.20.1/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java @@ -13,7 +13,10 @@ public class ServerRulesConfig { static { ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder(); - builder.push("discord"); + builder.comment("Firefrost Rules Mod Configuration", + "IMPORTANT: Do not remove [section] headers when editing.", + "Values must stay under their section or the mod cannot read them.") + .push("discord"); BOT_TOKEN = builder.comment("Discord Bot Token").define("bot_token", "YOUR_TOKEN_HERE"); CHANNEL_ID = builder.comment("Discord Channel ID").define("channel_id", "1234567890123456789"); MESSAGE_ID = builder.comment("Discord Message ID").define("message_id", "1234567890123456789"); diff --git a/services/rules-mod/1.21.1/.gradle/8.8/checksums/checksums.lock b/services/rules-mod/1.21.1/.gradle/8.8/checksums/checksums.lock new file mode 100644 index 0000000..890d6d2 Binary files /dev/null and b/services/rules-mod/1.21.1/.gradle/8.8/checksums/checksums.lock differ diff --git a/services/rules-mod/1.21.1/.gradle/8.8/dependencies-accessors/gc.properties b/services/rules-mod/1.21.1/.gradle/8.8/dependencies-accessors/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/services/rules-mod/1.21.1/.gradle/8.8/executionHistory/executionHistory.bin b/services/rules-mod/1.21.1/.gradle/8.8/executionHistory/executionHistory.bin new file mode 100644 index 0000000..4da6cc4 Binary files /dev/null and b/services/rules-mod/1.21.1/.gradle/8.8/executionHistory/executionHistory.bin differ diff --git a/services/rules-mod/1.21.1/.gradle/8.8/executionHistory/executionHistory.lock b/services/rules-mod/1.21.1/.gradle/8.8/executionHistory/executionHistory.lock new file mode 100644 index 0000000..e500f55 Binary files /dev/null and b/services/rules-mod/1.21.1/.gradle/8.8/executionHistory/executionHistory.lock differ diff --git a/services/rules-mod/1.21.1/.gradle/8.8/fileChanges/last-build.bin b/services/rules-mod/1.21.1/.gradle/8.8/fileChanges/last-build.bin new file mode 100644 index 0000000..f76dd23 Binary files /dev/null and b/services/rules-mod/1.21.1/.gradle/8.8/fileChanges/last-build.bin differ diff --git a/services/rules-mod/1.21.1/.gradle/8.8/fileHashes/fileHashes.bin b/services/rules-mod/1.21.1/.gradle/8.8/fileHashes/fileHashes.bin new file mode 100644 index 0000000..e30c4e7 Binary files /dev/null and b/services/rules-mod/1.21.1/.gradle/8.8/fileHashes/fileHashes.bin differ diff --git a/services/rules-mod/1.21.1/.gradle/8.8/fileHashes/fileHashes.lock b/services/rules-mod/1.21.1/.gradle/8.8/fileHashes/fileHashes.lock new file mode 100644 index 0000000..b2b21f5 Binary files /dev/null and b/services/rules-mod/1.21.1/.gradle/8.8/fileHashes/fileHashes.lock differ diff --git a/services/rules-mod/1.21.1/.gradle/8.8/gc.properties b/services/rules-mod/1.21.1/.gradle/8.8/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/services/rules-mod/1.21.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/services/rules-mod/1.21.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000..bc17c4f Binary files /dev/null and b/services/rules-mod/1.21.1/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/services/rules-mod/1.21.1/.gradle/buildOutputCleanup/cache.properties b/services/rules-mod/1.21.1/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000..5e63db9 --- /dev/null +++ b/services/rules-mod/1.21.1/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Mon Apr 13 17:02:47 CDT 2026 +gradle.version=8.8 diff --git a/services/rules-mod/1.21.1/.gradle/buildOutputCleanup/outputFiles.bin b/services/rules-mod/1.21.1/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000..478fa1a Binary files /dev/null and b/services/rules-mod/1.21.1/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/services/rules-mod/1.21.1/.gradle/file-system.probe b/services/rules-mod/1.21.1/.gradle/file-system.probe new file mode 100644 index 0000000..9c99829 Binary files /dev/null and b/services/rules-mod/1.21.1/.gradle/file-system.probe differ diff --git a/services/rules-mod/1.21.1/.gradle/vcs-1/gc.properties b/services/rules-mod/1.21.1/.gradle/vcs-1/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/services/rules-mod/1.21.1/gradle.properties b/services/rules-mod/1.21.1/gradle.properties index d729a3c..4834876 100644 --- a/services/rules-mod/1.21.1/gradle.properties +++ b/services/rules-mod/1.21.1/gradle.properties @@ -6,5 +6,5 @@ neo_version=21.1.65 mod_id=firefrostrules mod_name=Firefrost Rules -mod_version=1.0.2 +mod_version=1.0.3 mod_group_id=com.firefrostgaming.rules diff --git a/services/rules-mod/1.21.1/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java b/services/rules-mod/1.21.1/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java index c7883e9..bc67fdb 100644 --- a/services/rules-mod/1.21.1/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java +++ b/services/rules-mod/1.21.1/src/main/java/com/firefrostgaming/rules/ServerRulesConfig.java @@ -13,7 +13,10 @@ public class ServerRulesConfig { static { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.push("discord"); + builder.comment("Firefrost Rules Mod Configuration", + "IMPORTANT: Do not remove [section] headers when editing.", + "Values must stay under their section or the mod cannot read them.") + .push("discord"); BOT_TOKEN = builder.comment("Discord Bot Token").define("bot_token", "YOUR_TOKEN_HERE"); CHANNEL_ID = builder.comment("Discord Channel ID").define("channel_id", "1234567890123456789"); MESSAGE_ID = builder.comment("Discord Message ID").define("message_id", "1234567890123456789"); diff --git a/services/rules-mod/CHANGELOG.md b/services/rules-mod/CHANGELOG.md index bcd623d..ed05cde 100644 --- a/services/rules-mod/CHANGELOG.md +++ b/services/rules-mod/CHANGELOG.md @@ -1,5 +1,21 @@ # Rules Mod Changelog +## [1.0.3] - 2026-04-13 + +### Fixed +- **1.20.1: Config events on wrong bus** — `ModConfigEvent.Loading` and `Reloading` fire on the mod event bus, not `MinecraftForge.EVENT_BUS`. Moved to `FMLJavaModLoadingContext.getModEventBus().addListener()` +- **Config file section headers** — values placed outside `[discord]` section are invisible to the spec. Added prominent warning comments to generated config file + +### Added +- Debug logging in RulesCommand (1.20.1) prints token length + channel ID at command time +- Config file header comment: "Do not remove [section] headers when editing" +- INSTALL.md updated with section header preservation warning + +### Applies To +- All 6 builds bumped to 1.0.3 + +--- + ## [1.0.2] - 2026-04-13 ### Fixed diff --git a/services/rules-mod/INSTALL.md b/services/rules-mod/INSTALL.md index 26e5623..f9895c7 100644 --- a/services/rules-mod/INSTALL.md +++ b/services/rules-mod/INSTALL.md @@ -9,6 +9,8 @@ - Set `bot_token` to your Discord bot token - Set `channel_id` to the channel containing your rules message - Set `message_id` to the specific message ID + - **IMPORTANT: Keep the [discord] and [performance] section headers!** + - Only change the values, not the file structure 5. Start the server again ## Verify It Worked diff --git a/services/rules-mod/firefrostrules-1.0.2-1.20.1-forge.jar b/services/rules-mod/firefrostrules-1.0.2-1.20.1-forge.jar deleted file mode 100644 index 5a631f2..0000000 Binary files a/services/rules-mod/firefrostrules-1.0.2-1.20.1-forge.jar and /dev/null differ diff --git a/services/rules-mod/firefrostrules-1.0.2-1.16.5-forge.jar b/services/rules-mod/firefrostrules-1.0.3-1.16.5-forge.jar similarity index 71% rename from services/rules-mod/firefrostrules-1.0.2-1.16.5-forge.jar rename to services/rules-mod/firefrostrules-1.0.3-1.16.5-forge.jar index cf7d065..e3c83e1 100644 Binary files a/services/rules-mod/firefrostrules-1.0.2-1.16.5-forge.jar and b/services/rules-mod/firefrostrules-1.0.3-1.16.5-forge.jar differ diff --git a/services/rules-mod/firefrostrules-1.0.3-1.20.1-forge.jar b/services/rules-mod/firefrostrules-1.0.3-1.20.1-forge.jar new file mode 100644 index 0000000..aea7a76 Binary files /dev/null and b/services/rules-mod/firefrostrules-1.0.3-1.20.1-forge.jar differ diff --git a/services/rules-mod/firefrostrules-1.0.2-1.21.1-neoforge.jar b/services/rules-mod/firefrostrules-1.0.3-1.21.1-neoforge.jar similarity index 78% rename from services/rules-mod/firefrostrules-1.0.2-1.21.1-neoforge.jar rename to services/rules-mod/firefrostrules-1.0.3-1.21.1-neoforge.jar index 005c6bd..768bc09 100644 Binary files a/services/rules-mod/firefrostrules-1.0.2-1.21.1-neoforge.jar and b/services/rules-mod/firefrostrules-1.0.3-1.21.1-neoforge.jar differ