blushiemagic / MagicStorage

A tModLoader mod for Terraria
MIT License
178 stars 101 forks source link

Add global recipe blacklist #264

Closed buzzers closed 10 months ago

ExterminatorX99 commented 11 months ago

We should probably tell the player when they try to unhide a player/global recipe using the global/player keybind and it fails. Or just make the unhiding(revealing) always work regardless of Ctrl being held. @absoluteAquarian Any opinion?

buzzers commented 11 months ago

We should probably tell the player when they try to unhide a player/global recipe using the global/player keybind and it fails. Or just make the unhiding(revealing) always work regardless of Ctrl being held. @absoluteAquarian Any opinion?

This may also cause some strange actions, such as adding an item to both the player and the global blacklist. Maybe we should do some checking when adding the list?

absoluteAquarian commented 11 months ago

We should probably tell the player when they try to unhide a player/global recipe using the global/player keybind and it fails. Or just make the unhiding(revealing) always work regardless of Ctrl being held. @absoluteAquarian Any opinion?

When would it fail? When the item is already added?

ExterminatorX99 commented 11 months ago

When hiding the recipe a check is definitely needed. But there is no indicator if a recipe is in the global or player blacklist. This means a player may try to remove from the wrong list and then be confused why it's not being removed. That's why I'm saying we either need an indicator, a message when they try to remove(unhide/reveal) form the wrong list, or remove the check for which list it's being removed from and remove from both.

absoluteAquarian commented 11 months ago

Ah, I see. Removing from both would be the better option. The removal text can just specify which list it was from, or if it was from both.

absoluteAquarian commented 11 months ago

Alternatively, we could use slot contexts to indicate which list each item is from (player, global, both)

buzzers commented 11 months ago

Alternatively, we could use slot contexts to indicate which list each item is from (player, global, both)

Sorry, I'm not sure how slot context works

absoluteAquarian commented 11 months ago

Alternatively, we could use slot contexts to indicate which list each item is from (player, global, both)

Sorry, I'm not sure how slot context works

It was mainly a thought out loud for how I could handle the UI aspect.

ExterminatorX99 commented 11 months ago

Ah, I see. Removing from both would be the better option. The removal text can just specify which list it was from, or if it was from both.

Now just this is left

buzzers commented 11 months ago

@ExterminatorX99 @absoluteAquarian Is there anything else that needs to be done?

ExterminatorX99 commented 11 months ago

Message above yours

buzzers commented 10 months ago

Ah, I see. Removing from both would be the better option. The removal text can just specify which list it was from, or if it was from both.

Now just this is left

done

absoluteAquarian commented 10 months ago

Yeah this looks good enough. I can just clean up the specifics in follow-up commits.