diff options
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java')
| -rwxr-xr-x | src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java | 55 |
1 files changed, 41 insertions, 14 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java index 355d041..6b30bb4 100755 --- a/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java +++ b/src/main/java/darkknight/jewelrycraft/events/EntityEventHandler.java @@ -237,13 +237,33 @@ public class EntityEventHandler { @SubscribeEvent
public void onEntityLivingDropItems(LivingDropsEvent event) {
- if (event.source.getEntity() != null && event.source.getEntity() instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.source.getEntity();
- NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
- if (ConfigHandler.CURSES_ENABLED)
- for (Curse curse : Curse.getCurseList())
- if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0)
- curse.entityDropItems(player, event.entityLiving, event.drops);
+ if (event.source.getEntity() != null) {
+ if (event.source.getEntity() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.source.getEntity();
+
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, Variables.MODID);
+
+ if (ConfigHandler.CURSES_ENABLED) {
+ for (Curse curse : Curse.getCurseList()) {
+ boolean hasCurse = curse.canCurseBeActivated(player.worldObj)
+ && playerInfo.getInteger(curse.getName()) > 0;
+
+ if (hasCurse)
+ curse.entityDropItems(player, event.entityLiving, event.drops);
+ }
+ }
+
+ for (int i = 0; i < 18; i++) {
+ if (getJewelryItems(playerInfo, i) != null) {
+ if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry)
+ ((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem())
+ .onLivingDropItems(getJewelryItems(playerInfo, i), player, event);
+ if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem)
+ ((IJewelryItem) getJewelryItems(playerInfo, i).getItem())
+ .onLivingDropItems(getJewelryItems(playerInfo, i), player, event);
+ }
+ }
+ }
}
}
@@ -296,28 +316,35 @@ public class EntityEventHandler { 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++)
+
+ for (int i = 0; i < 18; i++) {
if (getJewelryItems(playerInfo, i) != null) {
if (getJewelryItems(playerInfo, i).getItem() instanceof ItemBaseJewelry) {
((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem())
- .onEntityAttacked(getJewelryItems(playerInfo, i), player, entity, event.ammount);
- if (((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem()).onEntityAttackedCacellable(
- getJewelryItems(playerInfo, i), player, entity, event.ammount))
+ .onEntityAttacked(getJewelryItems(playerInfo, i), player, entity, event);
+ if (((ItemBaseJewelry) getJewelryItems(playerInfo, i).getItem())
+ .onEntityAttackedCancellable(getJewelryItems(playerInfo, i), player, entity, event))
event.setCanceled(true);
}
if (getJewelryItems(playerInfo, i).getItem() instanceof IJewelryItem)
((IJewelryItem) getJewelryItems(playerInfo, i).getItem()).onEntityAttackedByPlayer(
- getJewelryItems(playerInfo, i), player, entity, event.ammount);
+ getJewelryItems(playerInfo, i), player, entity, event);
}
- if (ConfigHandler.CURSES_ENABLED)
+ }
+
+ if (ConfigHandler.CURSES_ENABLED) {
for (Curse curse : Curse.getCurseList())
if (curse.canCurseBeActivated(player.worldObj) && playerInfo.getInteger(curse.getName()) > 0) {
curse.attackedByPlayerAction(event, entity.worldObj, player, entity);
if (curse.attackedByPlayerActionCancelable(event, player.worldObj, player, entity))
event.setCanceled(true);
}
- if (entity instanceof EntityHeart && entity.getAge() < 30)
+ }
+
+ if (entity instanceof EntityHeart && entity.getAge() < 30) {
event.setCanceled(true);
+ }
+
if (event.source.getEntity() instanceof EntityPlayerMP) {
JewelrycraftMod.netWrapper.sendToAll(new PacketSendServerPlayersInfo());
JewelrycraftMod.netWrapper.sendTo(new PacketSendClientPlayerInfo(playerInfo), (EntityPlayerMP) player);
|
