From 6e097a5056ad343271e21109f593f7cb77e4667e Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 5 Sep 2019 20:11:13 -0400 Subject: More affix work, and some other cleanups --- .../jewelrycraft/events/EntityEventHandler.java | 57 +++++++++++++++++++--- 1 file changed, 50 insertions(+), 7 deletions(-) (limited to 'src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java') diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java index 6b30bb4..b179391 100755 --- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java @@ -34,11 +34,8 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.util.*; import net.minecraftforge.event.entity.EntityJoinWorldEvent; import net.minecraftforge.event.entity.item.ItemTossEvent; -import net.minecraftforge.event.entity.living.LivingAttackEvent; -import net.minecraftforge.event.entity.living.LivingDeathEvent; -import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.*; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; -import net.minecraftforge.event.entity.living.LivingHealEvent; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.entity.player.PlayerSleepInBedEvent; @@ -327,8 +324,8 @@ public class EntityEventHandler { event.setCanceled(true); } if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) - ((IJewelryItem) getJewelryItems(playerInfo, i).getItem()).onEntityAttackedByPlayer( - getJewelryItems(playerInfo, i), player, entity, event); + ((IJewelryItem) getJewelryItems(playerInfo, i).getItem()) + .onEntityAttackedByPlayer(getJewelryItems(playerInfo, i), player, entity, event); } } @@ -564,7 +561,7 @@ public class EntityEventHandler { curse.playerDeathAction(player.worldObj, player, event); } - for (int i = 0; i < 18; i++) + for (int i = 0; i < 18; i++) { if (getJewelryItems(playerInfo, i) != null) { if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) ((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()) @@ -573,6 +570,7 @@ public class EntityEventHandler { ((IJewelryItem) getJewelryItems(playerInfo, i).getItem()) .onPlayerDeadAction(getJewelryItems(playerInfo, i), player, event.source); } + } } if (event.entity instanceof EntityPlayer && !(event.entity instanceof EntityPlayerMP)) JewelrycraftMod.netWrapper.sendToServer(new PacketRequestPlayerInfo()); @@ -605,4 +603,49 @@ public class EntityEventHandler { } } } + + @SubscribeEvent + public void onLivingHurt(LivingHurtEvent event) { + if (event.entity instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.entity; + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + + for (int i = 0; i < 18; i++) { + if (getJewelryItems(playerInfo, i) != null) { + if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) + ((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()) + .onPlayerHurt(getJewelryItems(playerInfo, i), player, event); + if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) + ((IJewelryItem) getJewelryItems(playerInfo, i).getItem()) + .onPlayerHurt(getJewelryItems(playerInfo, i), player, event); + } + } + + if (ConfigHandler.CURSES_ENABLED) { + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) + curse.onPlayerHurt(player.worldObj, player, event); + } + } else if (event.source.getEntity() instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.source.getEntity(); + NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID); + + for (int i = 0; i < 18; i++) { + if (getJewelryItems(playerInfo, i) != null) { + if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) + ((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()) + .onEntityHurt(getJewelryItems(playerInfo, i), player, event); + if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem) + ((IJewelryItem) getJewelryItems(playerInfo, i).getItem()) + .onEntityHurt(getJewelryItems(playerInfo, i), player, event); + } + } + + if (ConfigHandler.CURSES_ENABLED) { + for (Curse curse : Curse.getCurseList()) + if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) + curse.onEntityHurt(player.worldObj, player, event); + } + } + } } \ No newline at end of file -- cgit v1.2.3