Example usage for net.minecraftforge.event.entity.living LivingEvent.LivingUpdateEvent getEntityLiving

List of usage examples for net.minecraftforge.event.entity.living LivingEvent.LivingUpdateEvent getEntityLiving

Introduction

In this page you can find the example usage for net.minecraftforge.event.entity.living LivingEvent.LivingUpdateEvent getEntityLiving.

Prototype

public LivingEntity getEntityLiving() 

Source Link

Usage

From source file:com.buuz135.industrial.proxy.event.MeatFeederTickHandler.java

License:Open Source License

@SubscribeEvent
public void onTick(LivingEvent.LivingUpdateEvent event) {
    if (!event.getEntityLiving().getEntityWorld().isRemote && event.getEntityLiving() instanceof EntityPlayer) {
        EntityPlayer player = (EntityPlayer) event.getEntityLiving();
        if (player.getFoodStats().needFood() || player.getFoodStats().getSaturationLevel() < 10) {
            for (ItemStack stack : player.inventory.mainInventory) {
                if (stack.getItem().equals(ItemRegistry.meatFeederItem)) {
                    meatTick(stack, (EntityPlayer) event.getEntityLiving());
                }//from  w ww. j av  a 2  s  .  c o  m
            }
        }
    }
}

From source file:com.github.liachmodded.uhcreloaded.forge.rule.EasierSkeleton.java

License:Open Source License

@SubscribeEvent
public void onSkeletonUpdate(LivingEvent.LivingUpdateEvent event) {
    if (!(event.getEntityLiving() instanceof EntitySkeleton)) {
        return;//w ww .j a  v  a2  s.  com
    }
    EntitySkeleton skeleton = (EntitySkeleton) event.getEntityLiving();
    EntityAITasks tasks = skeleton.tasks;
    boolean containsOld = false;
    Iterator<EntityAITasks.EntityAITaskEntry> itr = tasks.taskEntries.iterator();
    while (itr.hasNext()) {
        EntityAITasks.EntityAITaskEntry entry = itr.next();
        if (entry.action instanceof EntityAIAttackRangedBow) {
            itr.remove();
        }
        if (entry.action instanceof EntityAIAttackRanged) {
            containsOld = true;
        }
    }
    if (!containsOld) {
        tasks.addTask(4, new EntityAIAttackRanged(skeleton, 1.0D, 20, 15.0F));
    }
}

From source file:com.gmail.socraticphoenix.forge.randore.component.ability.EmpoweredArmorListener.java

License:Open Source License

@SubscribeEvent
public void onUpdate(LivingEvent.LivingUpdateEvent ev) {
    EntityLivingBase entity = ev.getEntityLiving();
    for (EntityEquipmentSlot slot : armor) {
        Map<UUID, AbilitySeries> associated = map.get(slot);
        ItemStack stack = entity.getItemStackFromSlot(slot);
        if (!stack.isEmpty() && stack.getItem() instanceof FlexibleItemArmor
                && EmpoweredEnchantment.appliedTo(stack)) {
            MaterialDefinition definition = ((FlexibleItemArmor) stack.getItem())
                    .getDefinition(Randores.getRandoresSeed(entity.world));
            associated.put(entity.getPersistentID(), definition.getAbilitySeries());
            definition.getAbilitySeries().onArmorUpdate(entity);
        } else if (associated.containsKey(entity.getPersistentID())) {
            associated.remove(entity.getPersistentID()).onArmorCancel(entity);
        }/*from   w  w w  . jav  a  2  s . co  m*/
    }
}

From source file:com.gmail.socraticphoenix.forge.randore.RandoresLivingUpdate.java

License:Open Source License

@SubscribeEvent(priority = EventPriority.LOW)
public void onUpdate(LivingEvent.LivingUpdateEvent ev) {
    EntityLivingBase entityLivingBase = ev.getEntityLiving();
    if (!entityLivingBase.world.isRemote && !(entityLivingBase instanceof EntityPlayer)) {
        for (EnumFacing facing : EnumFacing.values()) {
            if (entityLivingBase.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing)) {
                IItemHandler handler = entityLivingBase
                        .getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, facing);
                if (!seen.contains(handler)) {
                    seen.add(handler);/*  w w  w  . j av a  2 s. c  om*/
                    for (int i = 0; i < handler.getSlots(); i++) {
                        ItemStack stack = handler.getStackInSlot(i);
                        if (stack.getItem() instanceof FlexibleItem) {
                            stack.getItem().onUpdate(stack, entityLivingBase.world, entityLivingBase, i, false);
                        }
                    }
                }
            }
        }

        seen.clear();
    }
}

From source file:de.ellpeck.actuallyadditions.mod.items.ItemHairyBall.java

@SubscribeEvent
public void livingUpdateEvent(LivingEvent.LivingUpdateEvent event) {
    //Ocelots dropping Hair Balls
    if (event.getEntityLiving() != null) {
        if (event.getEntityLiving().world != null && !event.getEntityLiving().world.isRemote) {
            if ((event.getEntityLiving() instanceof EntityOcelot
                    && ((EntityOcelot) event.getEntityLiving()).isTamed())
                    || (event.getEntityLiving() instanceof EntityPlayer && event.getEntityLiving().getUniqueID()
                            .equals(/*KittyVanCat*/ UUID.fromString("681d4e20-10ef-40c9-a0a5-ba2f1995ef44")))) {
                if (ConfigBoolValues.DO_CAT_DROPS.isEnabled()) {
                    if (event.getEntityLiving().world.rand.nextInt(5000) + 1 == 1) {
                        EntityItem item = new EntityItem(event.getEntityLiving().world,
                                event.getEntityLiving().posX + 0.5, event.getEntityLiving().posY + 0.5,
                                event.getEntityLiving().posZ + 0.5, new ItemStack(InitItems.itemHairyBall));
                        event.getEntityLiving().world.spawnEntity(item);
                    }/*from w  ww  .j av a  2  s . co  m*/
                }
            }
        }
    }
}

From source file:de.ellpeck.actuallyadditions.mod.items.ItemWingsOfTheBats.java

@SubscribeEvent
public void livingUpdateEvent(LivingEvent.LivingUpdateEvent event) {
    if (event.getEntityLiving() instanceof EntityPlayer) {
        EntityPlayer player = (EntityPlayer) event.getEntityLiving();

        if (!player.capabilities.isCreativeMode) {
            PlayerData.PlayerSave data = PlayerData.getDataFromPlayer(player);

            if (!player.world.isRemote) {
                boolean tryDeduct = false;
                boolean shouldSend = false;

                boolean wingsEquipped = StackUtil.isValid(ItemWingsOfTheBats.getWingItem(player));
                if (!data.hasBatWings) {
                    if (data.batWingsFlyTime <= 0) {
                        if (wingsEquipped) {
                            data.hasBatWings = true;
                            shouldSend = true;
                        }//from  w  w w.  j  a v  a 2 s  .c  o  m
                    } else {
                        tryDeduct = true;
                    }
                } else {
                    if (wingsEquipped && data.batWingsFlyTime < MAX_FLY_TIME) {
                        player.capabilities.allowFlying = true;

                        if (player.capabilities.isFlying) {
                            data.batWingsFlyTime++;

                            if (player.world.getTotalWorldTime() % 10 == 0) {
                                shouldSend = true;
                            }
                        }

                        tryDeduct = true;
                    } else {
                        data.hasBatWings = false;
                        data.shouldDisableBatWings = true;
                        shouldSend = true;

                        player.capabilities.allowFlying = false;
                        player.capabilities.isFlying = false;
                        player.capabilities.disableDamage = false;
                    }
                }

                if (tryDeduct && data.batWingsFlyTime > 0) {
                    int deductTime = 0;

                    if (!player.capabilities.isFlying) {
                        deductTime = 2;
                    } else {
                        BlockPos pos = new BlockPos(player.posX, player.posY + player.height, player.posZ);
                        IBlockState state = player.world.getBlockState(pos);
                        if (state != null && state.isSideSolid(player.world, pos, EnumFacing.DOWN)) {
                            deductTime = 10;
                        }
                    }

                    if (deductTime > 0) {
                        data.batWingsFlyTime = Math.max(0, data.batWingsFlyTime - deductTime);

                        if (player.world.getTotalWorldTime() % 10 == 0) {
                            shouldSend = true;
                        }
                    }
                }

                if (shouldSend) {
                    PacketHandlerHelper.sendPlayerDataPacket(player, false, true);
                    data.shouldDisableBatWings = false; //was set only temporarily to send it
                }
            } else {
                if (data.hasBatWings) {
                    player.capabilities.allowFlying = true;
                } else if (data.shouldDisableBatWings) { //so that other modded flying won't be disabled
                    data.shouldDisableBatWings = false;

                    player.capabilities.allowFlying = false;
                    player.capabilities.isFlying = false;
                    player.capabilities.disableDamage = false;
                }
            }
        }
    }
}

From source file:robmart.rpgmode.common.handlers.PotionEventHandler.java

License:Open Source License

@SubscribeEvent
public static void inLivingUpdate(LivingEvent.LivingUpdateEvent event) {
    EntityLivingBase entity = event.getEntityLiving();
    NBTTagCompound persisted = entity.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG);

    for (Field field : RPGPotions.class.getDeclaredFields()) {
        if (Modifier.isStatic(field.getModifiers()) && Modifier.isPublic(field.getModifiers())
                && field.getType() == Potion.class) {
            try {
                if (entity.ticksExisted % 9 == 0 && ((PotionBase) field.get(null)).instance != null
                        && !entity.isDead) {
                    for (Field field2 : RPGPotions.class.getDeclaredFields()) {
                        if (Modifier.isStatic(field.getModifiers()) && Modifier.isPublic(field.getModifiers())
                                && field.getType() == IAttribute.class) {
                            if (field2.getName().replaceAll("_*.", "").equalsIgnoreCase(field.getName())) {
                                if (!persisted.getBoolean(((PotionBase) field.get(null)).tagName)) {
                                    if (entity.getEntityAttribute((IAttribute) field2.get(null))
                                            .getAttributeValue() != ((IAttribute) field2.get(null))
                                                    .getDefaultValue()) {
                                        persisted.setBoolean(((PotionBase) field.get(null)).tagName, true);
                                    }/*  w  w  w  .java  2 s.  co  m*/
                                } else if (entity.getEntityAttribute((IAttribute) field2.get(null))
                                        .getAttributeValue() == ((IAttribute) field2.get(null))
                                                .getDefaultValue()) {
                                    persisted.setBoolean(((PotionBase) field.get(null)).tagName, false);
                                }
                            }
                        }
                    }
                }
            } catch (IllegalAccessException e) {
                RPGMode.logger.error(e);
            }
        }
    }

    if (!entity.getEntityData().hasKey(EntityPlayer.PERSISTED_NBT_TAG)) {
        entity.getEntityData().setTag(EntityPlayer.PERSISTED_NBT_TAG, persisted);
    }
}