From cea054560fb8744773927a9655dee29a58924696 Mon Sep 17 00:00:00 2001 From: luisc Date: Mon, 22 Jan 2024 12:04:09 -0600 Subject: [PATCH] Implemented friendly fire. --- src/main/java/noppes/npcs/ServerEventsHandler.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/noppes/npcs/ServerEventsHandler.java b/src/main/java/noppes/npcs/ServerEventsHandler.java index c1bd4399e..46ff76c54 100644 --- a/src/main/java/noppes/npcs/ServerEventsHandler.java +++ b/src/main/java/noppes/npcs/ServerEventsHandler.java @@ -21,6 +21,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; import net.minecraft.village.MerchantRecipeList; import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.player.EntityInteractEvent; @@ -135,7 +136,20 @@ public class ServerEventsHandler { } } } + } + @SubscribeEvent + public void invoke(LivingAttackEvent event) { + if(!(event.source != null && event.source.getEntity() instanceof EntityPlayer) || !(event.entityLiving instanceof EntityPlayer) || FMLCommonHandler.instance().getEffectiveSide().isClient()) + return; + + EntityPlayer sourcePlayer = (EntityPlayer) event.source.getEntity(); + + PlayerData playerData = PlayerDataController.Instance.getPlayerData(sourcePlayer); + PlayerData targetData = PlayerDataController.Instance.getPlayerData((EntityPlayer) event.entityLiving); + if (playerData.partyUUID != null && playerData.partyUUID.equals(targetData.partyUUID)) { + event.setCanceled(true); + } } @SubscribeEvent