If you only want this logic on the player, override Item#inventoryTick on your item, check if on server via Level#isClientSide, then check if the stack is in the mainhand offhand through the Entity, then apply the effect via Entity#addEffect (you'll probably need to check if the entity is an instance of the player). If you want the logic to be applied on all entities, then listen to the LivingTickEvent, check the mainhand and offhand, then apply the effect. You can use Player#turtleHelmetTick as an example for checking the hand and applying the effect.