The original Mediumcore in onLivingDeath uses player.getMaxHealth(), which INCLUDES modifiers from external sources (rings, armor, etc.).
Example with a +20 HP ring:
Introduce BASE_HEALTH_TAG to store the "pure" base health, which is independent of external modifiers.