@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 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) { Entity target = event.getTarget(); if(target instanceof EntityChicken && !target.isDead && ((EntityChicken) target).hurtTime == 0) { ItemStack stack = event.getEntityPlayer().getHeldItemMainhand(); if(stack.isEmpty() || !(stack.getItem() instanceof ItemShears)) stack = event.getEntityPlayer().getHeldItemOffhand(); if(!stack.isEmpty() && stack.getItem() instanceof ItemShears) { if(!event.getWorld().isRemote) { EntityItem item = new EntityItem(event.getEntity().getEntityWorld(), target.posX, target.posY, target.posZ, new ItemStack(Items.FEATHER, 1)); event.getWorld().spawnEntity(item); } target.attackEntityFrom(DamageSource.GENERIC, 1); target.getEntityData().setBoolean(TAG_SHEARED, true); stack.damageItem(1, event.getEntityPlayer()); event.getEntityPlayer().swingArm(event.getHand()); } } }