abunai10 / CaffeineIssues

0 stars 0 forks source link

Make Caffeine.Enabled usable #13

Closed n00bsteam closed 11 months ago

n00bsteam commented 11 months ago

Please, make possible to read and/or change it. Issue case: Want to use just one toggle to enable module and framework, i can check Caffeine.Enabled value and switch to same value rotation toggle or change Caffeine.Enabled with push rotation toggle.

P.S. the second is more preferable

abunai10 commented 11 months ago

We've had this discussion in the developer discord before, and the result is that we aren't planning on allowing developers to hijack the caffeine enabled state.

It feels bad for users when Caffeine looks disabled and it's actually enabled because of a module they're using, and vice versa. We want users to have an explicit way to enable or disable all engine features, and those ways are the Caffeine hotbar and the /caffeine toggle command.

The problem seems simple to solve with a single product hijacking the state, but when users begin to have 2-3 products all attempting to override Caffeine's enabled state, it becomes a mess.

Caffeine modules hijacking the Enabled state are explicitly not allowed.

n00bsteam commented 11 months ago

Thanks for fast reply!

It feels bad for users when Caffeine looks disabled and it's actually enabled because of a module they're using, and vice versa. We want users to have an explicit way to enable or disable all engine features, and those ways are the Caffeine hotbar and the /caffeine toggle command.

Can you explain this case when user enable module but would not enable framework? In our opinion, when user enable module by definition he wants it to work, so the framework must also become Enabled.

btw you can make OnUpdate function on main toggle to update status(glow) if Caffeine.Enabled changed.

Also we can just change Caffeine.Enabled value with module toggle, and when user do not want enable our module, he can disable it by module main toggle and then enable just caffeine.

P.S. I do not use Caffeine UI/statusbar, writed own one. So you only need to fix crash bug when Caffeine.Enabled changed outside main statusbar.