I created a level-based minigame, and every level, it checks your inventory, and makes sure you don't have any forbidden items. I make items forbidden my adding a tag to them: `discard:1b`. Any items that should get removed from the inventory at the end of each level get this tag, so they are discarded.

I then started working on the clear command, and I found that you cannot remove items based upon NBT, but rather only by item, although you can add an NBT specification to items afterwards.

I then saw [this answer](https://gaming.stackexchange.com/questions/373037/), and got excited, but then I realized it used datapacks, and that would not be an option for me.  
I looked around a bit more, and discovered [this](https://gaming.stackexchange.com/questions/362866), who had a very similar problem to me, but its only answer was something I already knew how to do, and it wasn't enough.