you can use something like https://maven.fabricmc.net/docs/fabric-api-0.129.0+1.21.8/net/fabricmc/fabric/api/event/lifecycle/v1/ServerEntityEvents.html#EQUIPMENT_CHANGE to detect item holding
declaration: package: net.fabricmc.fabric.api.event.lifecycle.v1, class: ServerEntityEvents