Files
login_protection/src/main/java/dev/micle/loginprotection/events/OnPlayerDamageEventHandler.java

21 lines
865 B
Java
Executable File

package dev.micle.loginprotection.events;
import dev.micle.loginprotection.data.ProtectedPlayer;
import dev.micle.loginprotection.data.ProtectedPlayerManager;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.event.entity.living.LivingDamageEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
public class OnPlayerDamageEventHandler {
@SubscribeEvent
public void LivingDamageEvent(LivingDamageEvent event) {
if (!(event.getEntity() instanceof Player player)) { return; }
ProtectedPlayer protectedPlayer = ProtectedPlayerManager.getPlayer(player.getUUID());
if (protectedPlayer == null || protectedPlayer.getState().equals(ProtectedPlayer.State.ACTIVE) &&
protectedPlayer.getGracePeriodTimeRemaining() == 0) {
return;
}
event.setCanceled(true);
}
}