This effect is meant to work in a way that whenever an entity have the effect the following things should happen: Entity won't fall into the water, will walk directly on the water surface, not above, not even a inch below; no matter the height, if the entity falls on water with this effect it won't take fall damage and will land on the surface of water; and the entity is meant to be able to jump on the water as it was any other solid block.
Idk how to make this works tried a lot of things already, it always ends up with the entity sinking(after falling from the jump or from a high place) or floating(if it jumps or go on water from a high place).
After a lot of research I found a method called canStandOnFluid on the LivingEntity class, but it always return false, it is there for override in custom entites that extends LivingEntity, and I think that method would work for what I want, but since my WaterWalkingEffect extends Effect instead of LivingEntity it can't be overridden.
Any suggestions on what I should do?