InteractBlockEvent also cancelling ChangeBlockEvent

So i’m trying to cancel interactions by using event.setcancelled() on InteractBlockEvent.Secondary but it also seems to cancel placing a block in the same way as cancelling ChangeBlockEvent.Place I’m not sure if this is supposed to be the default behavior but i do think it’s a bit odd, if it is then is their any way i can make it only actual interactions like opening containers, sleeping on beds, using levers, etc.

Edit: I found out it is intentional so it makes things a bit more complicated but i can probably find a solution to what i need.