Skip to content

Feature request: player_blacklist item tag for Player Module #302

@GFoniX

Description

@GFoniX

Describe the feature

Add a new item tag modularrouters:player_blacklist that prevents the Player Module from extracting or inserting items matching the tag. This would work similarly to the existing modularrouters:activator_blacklist tag introduced in 13.2.4, but applied to Player Module transfers instead of Activator Module usage.

Behavior:

  • When the Player Module attempts to pull/push an ItemStack from/to a player's inventory, it would skip any item tagged modularrouters:player_blacklist.
  • The tag would be empty by default, letting modpack makers and server admins populate it via datapacks or KubeJS.
  • No change to the existing per-module whitelist/blacklist filter GUI. This is strictly an additional global safety net.

Reasons why it should be considered

Some modded items maintain mutable state in their NBT while a server-side GUI is open. For instance, chisel-type tools that temporarily hold an item in a container slot until the GUI is closed. When the Player Module extracts such an item while its GUI is still open client-side, the full ItemStack (including its pending NBT payload) is copied into the router's buffer before the GUI commits its changes, enabling a reliable duplication exploit.

A tag-based blacklist would let modpack authors ship a safe default with minimal effort, matching the precedent already set by activator_blacklist (which was added for similar reasons. The Acceleration Wand being a server-killer). The implementation pattern is effectively the same.

Additional details

Precedent: modularrouters:activator_blacklist added in 13.2.4 (Changelog).

Context: this issue is currently being actively reported in large modpacks. Example from an old post from All The Mods 10 and new modpack All The Mons 10:

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions