@SubscribeEvent public void onEntityInteractEvent(EntityInteract event) { if (event.getEntity() instanceof EntityPlayer == false) { return; } EntityPlayer player = (EntityPlayer) event.getEntity(); // ItemStack held = player.getHeldItemMainhand(); ItemStack itemstack = event.getItemStack(); if (itemstack != null && itemstack.getItem() instanceof ItemVillagerMagic && itemstack.getCount() > 0) { if (event.getTarget() instanceof EntityVillager) { EntityVillager villager = ((EntityVillager) event.getTarget()); int count = 0; for (MerchantRecipe merchantrecipe : villager.getRecipes(player)) { if (merchantrecipe.isRecipeDisabled()) { //vanilla code as of 1.9.4 odes this (2d6+2) merchantrecipe.increaseMaxTradeUses(villager.getEntityWorld().rand.nextInt(6) + villager.getEntityWorld().rand.nextInt(6) + 2); count++; } } if (count > 0) { UtilChat.addChatMessage(player, UtilChat.lang("item.apple_emerald.merchant") + count); consumeSelf(itemstack); } event.setCanceled(true);// stop the GUI inventory opening && horse mounting } } }
@SubscribeEvent public void onInteract(EntityInteract event) { if(event.getTarget() instanceof EntityAnimal && event.getItemStack().getItem() == Items.POISONOUS_POTATO) { EntityAnimal animal = (EntityAnimal) event.getTarget(); if(animal.isChild() && !isEntityPoisoned(animal)) { if(!event.getWorld().isRemote) { if(animal.world.rand.nextDouble() < chance) { poisonEntity(animal); animal.addPotionEffect(new PotionEffect(MobEffects.POISON, 60, 0)); } } else event.getEntityPlayer().swingArm(event.getHand()); event.getItemStack().shrink(1); } } }
@SubscribeEvent public void onEntityInteraction(PlayerInteractEvent.EntityInteract event) { EntityPlayer player = event.getEntityPlayer(); ItemStack stack = event.getItemStack(); if (stack.isEmpty()) return; Item item = stack.getItem(); if (item != Item.getItemFromBlock(ComputerCraft.Blocks.commandComputer) && item != Item.getItemFromBlock(ComputerCraft.Blocks.computer)) { return; } Entity target = event.getTarget(); if (!(target instanceof EntityMinecartEmpty)) return; EntityMinecartEmpty minecart = (EntityMinecartEmpty) target; if (minecart.hasDisplayTile()) return; IComputerItem computerItem = (IComputerItem) item; int id = computerItem.getComputerID(stack); String label = computerItem.getLabel(stack); ComputerFamily family = computerItem.getFamily(stack); player.swingArm(event.getHand()); if (minecart.getEntityWorld().isRemote) return; event.setCanceled(true); minecart.setDead(); minecart.getEntityWorld().spawnEntity(new EntityMinecartComputer(minecart, id, label, family, player.getGameProfile())); if (!player.capabilities.isCreativeMode) { stack.grow(-1); if (stack.isEmpty()) player.setHeldItem(event.getHand(), ItemStack.EMPTY); } }
@SubscribeEvent public void onEntityInteractEvent(EntityInteract event) { if (event.getEntity() instanceof EntityPlayer == false) { return; } EntityPlayer entityPlayer = (EntityPlayer) event.getEntity(); if (event.getTarget() instanceof EntityRobot) { EntityRobot bot = ((EntityRobot) event.getTarget()); ItemStack held = event.getItemStack().copy(); if (held.getItem() == this) { bot.setDead(); } else { for (EntityEquipmentSlot slot : EntityEquipmentSlot.values()) { if (slot.getSlotType() == EntityEquipmentSlot.Type.ARMOR && held.getItem().isValidArmor(held, slot, bot)) { UtilItemStack.dropItemStackInWorld(entityPlayer.world, bot.getPosition(), bot.getItemStackFromSlot(slot).copy()); bot.setItemStackToSlot(slot, held); entityPlayer.setHeldItem(event.getHand(), ItemStack.EMPTY); bot.setDropChance(slot, 100); break; } } } } } }
@SubscribeEvent public void onEntityInteractEvent(EntityInteract event) { if (event.getEntity() instanceof EntityPlayer == false) { return; } EntityPlayer player = (EntityPlayer) event.getEntity(); // ItemStack held = player.getHeldItemMainhand(); ItemStack itemstack = event.getItemStack(); if (itemstack != null && itemstack.getItem() instanceof ItemHorseTame && itemstack.getCount() > 0) { if (event.getTarget() instanceof EntityZombieHorse || event.getTarget() instanceof EntitySkeletonHorse) { AbstractHorse h = (AbstractHorse) event.getTarget(); if (h.isTame() == false) { h.setTamedBy(player); h.setEatingHaystack(true); // UtilChat.addChatMessage(player, UtilChat.lang("item.apple_emerald.merchant")); itemstack.shrink(1); if (itemstack.getCount() == 0) { itemstack = ItemStack.EMPTY; } event.setCanceled(true);// stop the GUI inventory opening && horse mounting } } } } }
@SubscribeEvent public void onEntityInteractEvent(EntityInteract event) { if (event.getEntity() instanceof EntityPlayer == false) { return; } EntityPlayer entityPlayer = (EntityPlayer) event.getEntity(); ItemStack held = event.getItemStack(); if (held.getItem() instanceof ItemHorseUpgrade && held.getCount() > 0 && event.getTarget() instanceof AbstractHorse) { if (ItemHorseUpgrade.onHorseInteract((AbstractHorse) event.getTarget(), entityPlayer, held, (ItemHorseUpgrade) held.getItem())) { // stop the GUI inventory opening && horse mounting event.setCancellationResult(EnumActionResult.SUCCESS); event.setCanceled(true); } } } }
@SubscribeEvent public void onEntityInteract(EntityInteract event) { AnimalStats stats = EntityHelper.getStats(event.getTarget()); ItemStack stack = event.getItemStack(); if (stats != null && stack != null) { if (HFApi.animals.canEat(stack, stats.getType().getFoodTypes()) && stats.performAction(event.getWorld(), stack, AnimalAction.FEED)) { stack.splitStack(1); event.setCanceled(true); } } }
@SubscribeEvent(priority = EventPriority.HIGH) public void onEntityInteract(PlayerInteractEvent.EntityInteract event) { List<Quest> quests = HFApi.quests.getCurrentQuests(event.getEntityPlayer()); for (Quest quest : quests) { quest.onEntityInteract(event.getEntityPlayer(), event.getItemStack(), event.getHand(), event.getTarget()); } }