Skip to content

Conversation

@SamIsPoggers
Copy link
Collaborator

Summary

This PR introduces client-side mod check functionality across different mod loaders (Fabric, Forge, NeoForge). It ensures that players with disallowed mods are cleanly disconnected with a localized message.

Key Changes

  • Introduced a common IModListProvider interface.
  • Implemented FabricModListProvider, ForgeModListProvider and NeoForgeModListProvider to retrieve installed mods.
  • Added ModCheckHandler to handle comparison logic and disconnects.
  • Extended packet handling (PacketHandler, ClientModEvents) to support ModCheckPayload.
  • Added localized language files for disconnect messages in multiple languages.

Refs: #17

@JonasDevDE JonasDevDE linked an issue Sep 10, 2025 that may be closed by this pull request
Copy link
Member

@JonasDevDE JonasDevDE left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should simplify the loading and displaying of the kick messages. i would just add one translation key for the entire kick message and then put the complete kick-screen into it using smt. like minimessage format instead of part-hardcoding it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: warn players if they are using mods that are not allowed

3 participants