Added OnLivingSetAttackTargetEventHandler event.

This commit is contained in:
2021-09-29 18:49:26 +01:00
parent 82bb547685
commit a1874eb280
2 changed files with 23 additions and 0 deletions

View File

@ -0,0 +1,22 @@
package com.micle.loginprotection.events;
import com.micle.loginprotection.LoginProtection;
import com.micle.loginprotection.data.ProtectedPlayer;
import com.micle.loginprotection.setup.Config;
import net.minecraft.entity.MobEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
public class OnLivingSetAttackTargetEventHandler {
@SubscribeEvent
public void LivingSetAttackTargetEvent(LivingSetAttackTargetEvent event) {
if (!(event.getTarget() instanceof PlayerEntity target)) { return; }
ProtectedPlayer player = LoginProtection.protected_players.getPlayer(target.getUUID());
if (player == null) { return; }
if (player.isLoading() && !Config.MAIN_IGNORE_PLAYER_ENABLED.get()) { return; }
if (!player.isLoading() && !Config.POST_GRACE_IGNORE_PLAYER_ENABLED.get()) { return; }
((MobEntity) event.getEntityLiving()).setTarget(null);
}
}

View File

@ -16,6 +16,7 @@ public class Registration {
MinecraftForge.EVENT_BUS.register(new OnPlayerTickEventHandler());
MinecraftForge.EVENT_BUS.register(new OnKeyPressEventHandler());
MinecraftForge.EVENT_BUS.register(new OnPlayerLeaveEventHandler());
MinecraftForge.EVENT_BUS.register(new OnLivingSetAttackTargetEventHandler());
int id = 0;
LoginProtection.INSTANCE.registerMessage(id++,