diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2019-09-05 20:11:13 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2019-09-05 20:11:13 -0400 |
| commit | 6e097a5056ad343271e21109f593f7cb77e4667e (patch) | |
| tree | bcd4953e8200ef33b727b1c0afe7b7265647f50e /src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java | |
| parent | cdbbd891c43e082a36a32e49420bf87b6edd28e0 (diff) | |
More affix work, and some other cleanups
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java')
| -rwxr-xr-x | src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java | 57 |
1 files changed, 50 insertions, 7 deletions
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 |
