hypherionmc / hypherionmc/sdlink

[Feature]: Move most Command Permissions booleans to each permission entry rather than globally

Open
#208 0 comments 0 reactions 0 assignees View on GitHub
Status: On hold Type: Enhancement
Dominant language
Java
Stars
38
Forks
26
PR merge metrics
No merged PRs in 30d

Description

### 🚀 Description

Currently, the mod puts fields such as "keepOriginal" and "ignoredCommands" into the global Chat config. However, this proposal admits that certain users might be more active than others when using commands, so by utilizing the role systems of both Minecraft mods and Discord, we have an opportunity to re-architect how command mirroring is done.

The suggestion is to move such flags to each permission entry in the linked commands system instead. That way each permission level and or discord role can have different settings for how the bot behaves on the discord (such as to hide the fact a moderator executed a command), or if the server will mirror output of those commands at all (such as to hide exactly what weather state that role set it to)

Admittedly, this may complicate converting older versions of the config to this one. I suggest a shotgun approach, where the old settings of the flags, once upgraded, just copy into every entry in the current command permissions array.

### 💡 Use Case

This was reported by a user on our discord interested in hiding moderator command behaviour, but to maintain command behaviour by general users, so that the annoyance of setting weather and time by a moderator could be reduced.

Contributor guide

Open the contributing guide

Research direction

Locate the global Chat config, the linked commands permission array, and the existing configuration upgrade path. Determine how keepOriginal and ignoredCommands are represented today; done means these settings can differ per permission entry and older values are copied into every entry during upgrade.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
authorization, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.