private boolean checks() { if (Wrapper.thePlayer() == null || Wrapper.theWorld() == null) return false; if (!Wrapper.thePlayer().func_70089_S()) return false; if (Wrapper.currentScreen() != null) return false; if (Wrapper.getHeldItem() == null || !(ItemUtil.getItemFromStack(Wrapper.getHeldItem()) instanceof ItemBow)) return false; if (Bit.getInstance().getGlobalValueManager().find_bool("weapon only").getValue() && !Wrapper.isHoldingWeapon()) return false; return true; }
@Override public boolean matches(InventoryCrafting inv, World worldIn) { int australium = 0; ItemStack stack2 = ItemStack.EMPTY; for (int x = 0; x < inv.getSizeInventory(); x++) { ItemStack stack = inv.getStackInSlot(x); if (!stack.isEmpty()) if (stack.getItem() == TF2weapons.itemTF2 && stack.getMetadata() == 2) { if (australium < 8) australium++; else return false; } else if (stack2.isEmpty() && (stack.getItem() instanceof ItemTool || stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemBow || stack.getItem() instanceof ItemUsable || stack.getItem() instanceof ItemCloak)) stack2 = stack; else return false; } // System.out.println("matches "+(australium&&stack2!=null)); return australium == 8 && !stack2.isEmpty(); }
@Override public boolean onUse() { EntityPlayer p; p = this.player.getPlayer(); if (p.getCurrentEquippedItem() != null) { if (p.getCurrentEquippedItem().getItem() instanceof ItemBow) { PacketSpellToServer packet; packet = new PacketSpellToServer(getUniqueID()); Packets.network.sendToServer(packet); } else player.getPlayer().addChatComponentMessage(new ChatComponentText(ChatColor.RED + "You must equip a bow for this." + ChatColor.RESET)); } else player.getPlayer().addChatComponentMessage(new ChatComponentText(ChatColor.RED + "You must equip a bow for this." + ChatColor.RESET)); return (true); }
/** Enchantement de l'arc Dragon Slayer */ public static void handle_refinement(World world, EntityPlayerMP sender) { ItemStack item; if (sender.getCurrentEquippedItem() != null) { item = sender.getCurrentEquippedItem(); if (item.getItem() instanceof ItemBow && !item.isItemEnchanted()) { item.addEnchantment(Enchantment.power, 2); item.addEnchantment(Enchantment.flame, 2); item.addEnchantment(Enchantment.smite, 2); item.addEnchantment(Enchantment.unbreaking, 5); item.addEnchantment(Enchantment.infinity, 5); item.setStackDisplayName("Refined " + sender.getCommandSenderName() + "'s Bow"); } } }
private int countAmmo(EntityPlayerSP player) { ItemStack current = player.inventory.getCurrentItem(); if(current != null) { if(current.getItem() instanceof ItemBow) { int enchant = net.minecraft.enchantment.EnchantmentHelper.getEnchantmentLevel(net.minecraft.init.Enchantments.INFINITY, current); if(enchant > 0) { return INFINITE_AMMO; } return countItem(player.inventory, ItemArrow.class); } else if(current.getItem() instanceof FunWeaponItem) { return INFINITE_AMMO; } else if(current.getItem() instanceof WeaponItem) { return countAmmo(player.inventory, ((WeaponItem) current.getItem()).getDefinition().getAmmoType()); } } return INFINITE_AMMO; }
@Override public void onUpdate() { if (Minecraft.getMinecraft().thePlayer.getHealth() > 0 && (Minecraft.getMinecraft().thePlayer.onGround || Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode) && Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem() != null && Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem().getItem() instanceof ItemBow && Minecraft.getMinecraft().gameSettings.keyBindUseItem.pressed) { Minecraft.getMinecraft().playerController .sendUseItem(Minecraft.getMinecraft().thePlayer, Minecraft.getMinecraft().theWorld, Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem()); Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem().getItem() .onItemRightClick(Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem(), Minecraft.getMinecraft().theWorld, Minecraft.getMinecraft().thePlayer); for (int i = 0; i < 20; i++) { Minecraft.getMinecraft().thePlayer.sendQueue.addToSendQueue(new C03PacketPlayer(false)); } Minecraft.getMinecraft().getNetHandler().addToSendQueue( new C07PacketPlayerDigging(Action.RELEASE_USE_ITEM, new BlockPos(0, 0, 0), EnumFacing.DOWN)); Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem().getItem() .onPlayerStoppedUsing(Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem(), Minecraft.getMinecraft().theWorld, Minecraft.getMinecraft().thePlayer, 10); } }
@Override public void onPlayerStoppedUsing(ItemStack stack, World world, EntityLivingBase entity, int chargeTimer) { // if (entity.onGround == false) { return; } if (entity instanceof EntityPlayer == false) { return; } EntityPlayer player = (EntityPlayer) entity; if (player.getCooldownTracker().hasCooldown(stack.getItem())) { return; } int charge = this.getMaxItemUseDuration(stack) - chargeTimer; //bow konws how to say , how charged up am i, ok heres your power float power = Math.min(MAX_POWER, ItemBow.getArrowVelocity(charge) * POWER_UPSCALE); Vec3d vec = player.getLookVec().normalize(); int rev = (ActionType.isForward(stack)) ? 1 : -1; power *= rev;//flip it the other way if we are going backwards player.addVelocity(vec.x * power, vec.y * power / VERTICAL_FACTOR, vec.z * power); player.addPotionEffect(new PotionEffect(PotionEffectRegistry.BOUNCE, POTION_TIME, 0)); UtilSound.playSound(player, player.getPosition(), SoundRegistry.bwoaaap, SoundCategory.PLAYERS, 0.1F); player.getCooldownTracker().setCooldown(stack.getItem(), COOLDOWN); super.onUse(stack, player, world, EnumHand.MAIN_HAND); }
@SideOnly(Side.CLIENT) @Override public void initGui() { EntityPlayer player = this.mc.player; ItemStack stack = player.inventory.getCurrentItem(); NBTTagCompound nbt = NBTHelper.loadStackNBT(stack); if (player != null && stack != null && nbt != null && stack.getItem() instanceof ItemBow) { attributes = new GuiButton[BowAttribute.BOW_ATTRIBUTES.size()]; for (int i = 0; i < attributes.length; i++) { attributes[i] = new GuiButton(i, width / 2 - 147, 60 + (i * 20), 75, 20, BowAttribute.BOW_ATTRIBUTES.get(i).getName(nbt)); this.buttonList.add(attributes[i]); attributes[i].enabled = false; } } }
@SideOnly(Side.CLIENT) @Override protected void actionPerformed(GuiButton button) throws IOException { EntityPlayerSP player = mc.player; ItemStack stack = player.inventory.getCurrentItem(); NBTTagCompound nbt = NBTHelper.loadStackNBT(stack); if (player != null && stack != null && nbt != null) { if (Experience.getAttributeTokens(nbt) > 0) { if (stack.getItem() instanceof ItemBow) { for (int i = 0; i < attributes.length; i++) { if (button == attributes[i]) Levels.network.sendToServer(new PacketAttributeSelection(i)); } } } } }
@SubscribeEvent(priority = EventPriority.HIGHEST) public void onTooltip(ItemTooltipEvent event) { ArrayList<String> tooltip = (ArrayList<String>) event.getToolTip(); ItemStack stack = event.getItemStack(); NBTTagCompound nbt = NBTHelper.loadStackNBT(stack); if (stack != null && nbt != null) { if (stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemArmor || stack.getItem() instanceof ItemBow || stack.getItem() instanceof ItemShield || stack.getItem() instanceof ItemTool) { Rarity rarity = Rarity.getRarity(nbt); if (rarity != Rarity.DEFAULT) { addTooltips(tooltip, stack, nbt); } } } }
@SubscribeEvent public void onCreateWeapon(PlayerTickEvent event) { if (!event.player.getEntityWorld().isRemote) { if (event.phase == Phase.START) { for (ItemStack stack : event.player.inventory.mainInventory) { if (stack != null && (stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemBow || stack.getItem() instanceof ItemArmor || stack.getItem() instanceof ItemShield)) { create(stack, event.player); } } } } }
@SubscribeEvent public void onPlayerDeath(PlayerDropsEvent event) { EntityPlayer player = event.getEntityPlayer(); Item item; for (int i = 0; i < event.getDrops().size(); i++) { item = event.getDrops().get(i).getEntityItem().getItem(); if (item != null && (item instanceof ItemSword || item instanceof ItemShield || item instanceof ItemArmor || item instanceof ItemBow)) { ItemStack stack = event.getDrops().get(i).getEntityItem(); NBTTagCompound nbt = NBTHelper.loadStackNBT(stack); if (nbt != null) { if (WeaponAttribute.SOUL_BOUND.hasAttribute(nbt) || ArmorAttribute.SOUL_BOUND.hasAttribute(nbt) || BowAttribute.SOUL_BOUND.hasAttribute(nbt) || ShieldAttribute.SOUL_BOUND.hasAttribute(nbt)) { event.getDrops().remove(i); player.inventory.addItemStackToInventory(stack); } } } } }
@SuppressWarnings("static-access") @SubscribeEvent public void onBowFire(ArrowLooseEvent event) { EntityPlayer player = event.getEntityPlayer(); ItemStack stack = event.getBow(); NBTTagCompound nbt = NBTHelper.loadStackNBT(stack); if (player != null && stack != null && nbt != null && !player.getEntityWorld().isRemote) { if (BowAttribute.BARRAGE.hasAttribute(nbt)) { for (int i = 0; i < (int) BowAttribute.BARRAGE.getCalculatedValue(nbt, 3, 1.5); i++) { EntityArrow entityarrow = new EntityTippedArrow(player.getEntityWorld(), player); entityarrow.setAim(player, player.rotationPitch, player.rotationYaw, 0, ((ItemBow) event.getBow().getItem()).getArrowVelocity(event.getCharge()) * 3, 20F); entityarrow.pickupStatus = PickupStatus.DISALLOWED; player.getEntityWorld().spawnEntity(entityarrow); } } } }
@Override protected boolean isItemValid(TileEntity tileEntity, ItemStack itemStack) { Class<?> cls = tileEntity.getClass(); if(cls != TEToolRack.class) return false; Item item = itemStack.getItem(); return item instanceof ItemTool || item instanceof ItemWeapon || item instanceof ItemHoe || item instanceof ItemProPick || item instanceof ItemBow || item instanceof ItemSword || item instanceof ItemAxe || item instanceof ItemSpade || item instanceof ItemShears || item instanceof ItemSpindle ; }
public void func_77972_a(int p_77972_1_, EntityLivingBase p_77972_2_) { if(!(p_77972_2_ instanceof EntityPlayer) || !((EntityPlayer)p_77972_2_).field_71075_bZ.field_75098_d) { if(this.func_77984_f()) { if(this.func_96631_a(p_77972_1_, p_77972_2_.func_70681_au())) { p_77972_2_.func_70669_a(this); --this.field_77994_a; if(p_77972_2_ instanceof EntityPlayer) { EntityPlayer var3 = (EntityPlayer)p_77972_2_; var3.func_71064_a(StatList.field_75930_F[this.field_77993_c], 1); if(this.field_77994_a == 0 && this.func_77973_b() instanceof ItemBow) { var3.func_71028_bD(); } } if(this.field_77994_a < 0) { this.field_77994_a = 0; } this.field_77991_e = 0; } } } }
public static void preInit() { for (final Object o : IceAndShadow2.getPreRegistrationHandlers()) { IaSRegistry.doAdd(o); } setPrimarilyTransfusionTarget(ItemArmor.class); setPrimarilyTransfusionTarget(ItemTool.class); setPrimarilyTransfusionTarget(ItemSword.class); setPrimarilyTransfusionTarget(ItemHoe.class); setPrimarilyTransfusionTarget(ItemShears.class); setPrimarilyTransfusionTarget(ItemFlintAndSteel.class); setPrimarilyTransfusionTarget(ItemBow.class); setPrimarilyTransfusionTarget(ItemFishingRod.class); setPrimarilyTransfusionTarget(IaSItemEchirArmorActive.class); setPrimarilyTransfusionTarget(IaSItemEchirKnifeActive.class); setPrimarilyTransfusionTarget(IaSItemEchirToolActive.class); setPrimarilyTransfusionTarget(IaSItemToolBroken.class); setPrimarilyTransfusionTarget(NyxBaseItemBow.class); setPrimarilyTransfusionTarget(NyxItemFlask.class); setPrimarilyTransfusionTarget(NyxItemSwordFrost.class); addGrenadeLogic(new NyxGrenadeExplosive()); addGrenadeLogic(new NyxGrenadeIceWall()); addGrenadeLogic(new NyxGrenadeShadow()); }
public static void damageItem(ItemStack stack, int damage, EntityLivingBase entity) { if(!(entity instanceof EntityPlayer) || !((EntityPlayer) entity).capabilities.isCreativeMode) { if(isItemStackDamageable(stack)) { if(attemptDamageItem(stack, damage, entity.getRNG())) { entity.renderBrokenItemStack(stack); stack.stackSize--; if(entity instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer) entity; entityplayer.addStat(StatList.objectBreakStats[Item.getIdFromItem(stack.getItem())], 1); if(stack.stackSize == 0 && stack.getItem() instanceof ItemBow) { entityplayer.destroyCurrentEquippedItem(); } } if(stack.stackSize < 0) { stack.stackSize = 0; } stack.setItemDamage(0); } } } }
@Override public void onPlayerStoppedUsing(ItemStack stack, World worldIn, EntityLivingBase entityLiving, int timeLeft) { if(getMaxItemUseDuration(stack) - timeLeft < 10) return; float f = ItemBow.getArrowVelocity(getMaxItemUseDuration(stack) - timeLeft); spawnThrownEntity(worldIn, entityLiving, 3f * f, new HarshenEnderArrow(f), new EntityThrowSpawnData(1).setIgnoreBlocks(true)); worldIn.playSound((EntityPlayer)null, entityLiving.posX, entityLiving.posY, entityLiving.posZ, SoundEvents.ENTITY_ENDERMITE_AMBIENT, SoundCategory.PLAYERS, 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F); stack.damageItem(1, entityLiving); }
@Override public void onUpdate() { // check if right-clicking if(!mc.gameSettings.keyBindUseItem.pressed) return; // check fly-kick if(!WMinecraft.getPlayer().onGround && !WMinecraft.getPlayer().capabilities.isCreativeMode) return; // check health if(WMinecraft.getPlayer().getHealth() <= 0) return; // check held item ItemStack stack = WMinecraft.getPlayer().inventory.getCurrentItem(); if(WItem.isNull(stack) || !(stack.getItem() instanceof ItemBow)) return; WPlayerController.processRightClick(); for(int i = 0; i < 20; i++) WConnection.sendPacket(new CPacketPlayer(false)); mc.playerController.onStoppedUsingItem(WMinecraft.getPlayer()); }
@EventTarget private void onPostUpdate(UpdateEvent event) { if (event.state == Event.State.PRE && this.mc.thePlayer.getItemInUse().getItem() instanceof ItemBow && this.mc.thePlayer.getItemInUseDuration() == 16) { int i = 0; while (i < 5) { this.mc.thePlayer.sendQueue.addToSendQueue((Packet)new C03PacketPlayer(true)); ++i; } this.mc.thePlayer.sendQueue.addToSendQueue((Packet)new C07PacketPlayerDigging(C07PacketPlayerDigging.Action.RELEASE_USE_ITEM, BlockPos.ORIGIN, EnumFacing.DOWN)); this.mc.thePlayer.stopUsingItem(); } }
@EventTarget private void onPostUpdate(UpdateEvent event) { if (event.state == Event.State.PRE && this.mc.thePlayer.getItemInUseDuration() == 16 && !(this.mc.thePlayer.getItemInUse().getItem() instanceof ItemBow)) { int i = 0; while (i < 17) { this.mc.thePlayer.sendQueue.addToSendQueue((Packet)new C03PacketPlayer(true)); ++i; } this.mc.getNetHandler().getNetworkManager().dispatchPacket((Packet)new C07PacketPlayerDigging(C07PacketPlayerDigging.Action.RELEASE_USE_ITEM, BlockPos.ORIGIN, EnumFacing.DOWN), null); } }
@SubscribeEvent public void playerTick(TickEvent.PlayerTickEvent event) { if(event.side == Side.CLIENT && event.phase == TickEvent.Phase.END) { EntityPlayer player = event.player; ItemStack heldItem = player.getHeldItem(EnumHand.MAIN_HAND); if(heldItem != currentTool.get(player.getName()) && (heldItem.isEmpty() || (Block.getBlockFromItem(heldItem.getItem()) == Blocks.AIR))) { if(currentTool.get(player.getName()) != null && (currentTool.get(player.getName()).getItem().isFull3D() || currentTool.get(player.getName()).getItem() instanceof ItemBow) && !BackTools.blacklist.contains(currentTool.get(player.getName()).getItem())) { ItemStack is = currentTool.get(player.getName()).copy(); IBakedModel model = Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(is); if(!(model instanceof ModelBaseWrapper)) { is.setItemDamage(0); ItemStack prevTool = playerTool.get(player.getName()); if(prevTool == null || (prevTool.isEmpty() || !ItemStack.areItemStacksEqual(prevTool, is))) { playerTool.put(player.getName(), is); } } } currentTool.put(player.getName(), heldItem); } } }
@EventHandler public void preInit(FMLPreInitializationEvent event) { eventHandlerClient = new EventHandlerClient(); MinecraftForge.EVENT_BUS.register(eventHandlerClient); orientationMap.put(ItemSword.class, 2); orientationMap.put(ItemBow.class, 1); (new ThreadCheckModSupport()).start(); UpdateChecker.registerMod(new UpdateChecker.ModVersionInfo(MOD_NAME, iChunUtil.VERSION_OF_MC, VERSION, true)); }
public static boolean isHoldingItem(HandItem item) { if (isNull()) { return false; } if (item.equals(HandItem.ItemBow)) { return Minecraft.getMinecraft().player.getHeldItemMainhand().getItem() instanceof ItemBow || Minecraft.getMinecraft().player.getHeldItemOffhand().getItem() instanceof ItemBow; } return false; }
public boolean isThrowable() { if (item instanceof ItemBow || item instanceof ItemSnowball || item instanceof ItemEgg || item instanceof ItemEnderPearl || item instanceof ItemSplashPotion || item instanceof ItemLingeringPotion || item instanceof ItemFishingRod) { return true; } return false; }
public static boolean isWeapon(ItemStack stack){ if(isTool(stack))return false; boolean valid = false; String[] validWeaponNames = { "bow", "whip" }; if (ItemStackTools.isValid(stack) && stack.getMaxStackSize() == 1) { Item item = stack.getItem(); String name = stack.getUnlocalizedName().toLowerCase(); // Vanilla if (isSword(stack) || item instanceof ItemBow) { return true; } // Just for extra compatibility and/or security and/or less annoyance for (String toolName : validWeaponNames) { if (name.contains(toolName)) return true; } //And also this because I'm awesome try { // Tinker's Construct if (item.getClass().getName().contains("tconstruct.items.tools")) return true; } catch (Exception oops) { // oops.printStackTrace(); } } return valid; }
@Override public boolean onUse() { RandomBoolean randomBoolean = new RandomBoolean(); { EntityPlayer p; p = this.player.getPlayer(); if (p.getCurrentEquippedItem() != null) { if (p.getCurrentEquippedItem().getItem() instanceof ItemBow) System.out.println(randomBoolean.getBoolean()); PacketSpellToServer packet; packet = new PacketSpellToServer(getUniqueID()); Packets.network.sendToServer(packet); return (true); } else player.getPlayer().addChatComponentMessage(new ChatComponentText(ChatColor.RED + "You must equip a bow for this." + ChatColor.RESET)); } return false; }
/** * Some code in this method is borrowed from ItemBow, I guess, I don't * remember */ @Override public void apply(EntityActor actor) { World world = actor.worldObj; Frame frame = actor.playback.record.frames.get(actor.playback.tick); EntityTippedArrow arrow = new EntityTippedArrow(world, actor); float f = ItemBow.getArrowVelocity(this.charge); arrow.setAim(actor, frame.pitch, frame.yaw, 0.0F, f * 3.0F, 1.0F); world.spawnEntityInWorld(arrow); }
@SubscribeEvent public void doTheZorroThing(EntityInteractEvent event) { EntityPlayer player = event.entityPlayer; if (player.worldObj.isRemote) return; if (player.isRiding()) return; if (!(event.target instanceof EntityHorse)) return; EntityHorse horse = (EntityHorse) event.target; if (player.fallDistance <= 2) return; if (!horse.isHorseSaddled()) return; if (horse.getLeashed()) { if (!(horse.getLeashedToEntity() instanceof EntityLeashKnot)) return; horse.getLeashedToEntity().interactFirst(player); } boolean awesome = false; if (player.fallDistance > 5 && player.getHeldItem() != null) { Item held = player.getHeldItem().getItem(); boolean has_baby = false; if (player.riddenByEntity instanceof EntityAgeable) { EntityAgeable ea = (EntityAgeable) player.riddenByEntity; has_baby = ea.isChild(); } awesome = held instanceof ItemSword || held instanceof ItemAxe || held instanceof ItemBow || player.riddenByEntity instanceof EntityPlayer || has_baby; } if (awesome) { horse.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 20 * 40, 2, false, false)); horse.addPotionEffect(new PotionEffect(Potion.resistance.id, 20 * 40, 1, true, true)); horse.addPotionEffect(new PotionEffect(Potion.jump.id, 20 * 40, 1, true, true)); } else { horse.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 20 * 8, 1, false, false)); } horse.playLivingSound(); }
@Override public void onUpdate() { EntityLivingBase en = EntityUtils.getClosestEntity(true); if (en == null) return; if (Minecraft.getMinecraft().thePlayer.getDistanceToEntity(en) <= ModuleConfiguration.forModule(this).getFloat("Range", 4.25F)) { int curItem = Minecraft.getMinecraft().thePlayer.inventory.currentItem; ItemStack item = Minecraft.getMinecraft().thePlayer.inventory.getStackInSlot(curItem); if (item != null && item.getItem() instanceof ItemBow) { faceEntityBow(en, 100, 100); } else { aimWithNoBow(en); } } }
@Override public void onUpdate() { if (Minecraft.getMinecraft().thePlayer.getHealth() > 0 && (Minecraft.getMinecraft().thePlayer.onGround || Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode) && Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem() != null && Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem().getItem() instanceof ItemBow && Minecraft.getMinecraft().gameSettings.keyBindUseItem.pressed) { new Thread(() -> { Minecraft.getMinecraft().playerController .sendUseItem(Minecraft.getMinecraft().thePlayer, Minecraft.getMinecraft().theWorld, Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem()); Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem().getItem() .onItemRightClick(Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem(), Minecraft.getMinecraft().theWorld, Minecraft.getMinecraft().thePlayer); String configKey = "Charge Level (1 - 20)"; int iters = ModuleConfiguration.forModule(this).getInt(configKey, 3); if (iters > 20 || iters < 1) { iters = 1; Chat.sendWarning("BowSpam charge level range out of range, resetting!"); ModuleConfiguration.forModule(this).putString(configKey, String.valueOf(iters)); } for (int i = 0; i < iters; i++) { try { Thread.sleep(ModuleConfiguration.forModule(this).getInt("Delay between charges (ms)", 10)); } catch (InterruptedException ignored) { } Minecraft.getMinecraft().thePlayer.sendQueue.addToSendQueue(new C03PacketPlayer(false)); } Minecraft.getMinecraft().getNetHandler().addToSendQueue( new C07PacketPlayerDigging(C07PacketPlayerDigging.Action.RELEASE_USE_ITEM, new BlockPos(0, 0, 0), EnumFacing.DOWN)); Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem().getItem() .onPlayerStoppedUsing(Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem(), Minecraft.getMinecraft().theWorld, Minecraft.getMinecraft().thePlayer, 10); }).start(); } }
@Override public void onUpdate() { target = null; if (Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem() != null && Minecraft.getMinecraft().thePlayer.inventory.getCurrentItem().getItem() instanceof ItemBow && Minecraft.getMinecraft().gameSettings.keyBindUseItem.pressed) { target = EntityUtils.getClosestEntity(true); aimAtTarget(); } }
public void addDurabilityTooltip(List<String> toolTip, ItemStack itemStack) { if (!itemStack.isItemStackDamageable()) { return; } Item item = itemStack.getItem(); if (item instanceof ItemTool || item instanceof ItemArmor || item instanceof ItemSword || item instanceof ItemHoe || item instanceof ItemBow) { toolTip.add(ItemUtil.getDurabilityString(itemStack)); } }