List of usage examples for net.minecraftforge.event.entity.living LivingEvent.LivingUpdateEvent getEntityLiving
public LivingEntity getEntityLiving()
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); } }