Java 类net.minecraft.item.ItemBow 实例源码

项目:bit-client    文件:ModuleBowAssist.java   
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;
}
项目:Mods    文件:AustraliumRecipe.java   
@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();
}
项目:MidgarCrusade    文件:Legshot.java   
@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);
}
项目:MidgarCrusade    文件:Immobilizeshot_1.java   
@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);
}
项目:MidgarCrusade    文件:Refinement_4.java   
@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);
}
项目:MidgarCrusade    文件:PoisonShot_1.java   
@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);
}
项目:MidgarCrusade    文件:SlowShot_6.java   
@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);
}
项目:MidgarCrusade    文件:ExplodeShot_3.java   
@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);
}
项目:MidgarCrusade    文件:MagicShot_2.java   
@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);
}
项目:MidgarCrusade    文件:ServerSpellHandler.java   
/** 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");
        }
    }
}
项目:MCDoom    文件:DoomHUDRenderer.java   
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;
}
项目:EvenWurse    文件:FastBowMod.java   
@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);
    }
}
项目:Cyclic    文件:ItemPlayerLauncher.java   
@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);
}
项目:Levels    文件:GuiBowSelection.java   
@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;
        }
    }
}
项目:Levels    文件:GuiBowSelection.java   
@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));
                }
            }
        }
    }
}
项目:Levels    文件:EventTooltip.java   
@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);
            }
        }
    }
}
项目:Levels    文件:EventCreateWeapon.java   
@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);
                }
            }
        }
    }
}
项目:Levels    文件:EventSoulBound.java   
@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);
                }
            }
        }
    }
}
项目:Levels    文件:EventBarrage.java   
@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);
            }
        }
    }
}
项目:MerchantsTFC    文件:ToolRackContainer.java   
@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
        ;
}
项目:RuneCraftery    文件:ItemStack.java   
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;
         }

      }
   }
}
项目:IceAndShadow2    文件:IaSRegistry.java   
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());
}
项目:AgeCraft-Old    文件:ACUtil.java   
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);
            }
        }
    }
}
项目:harshencastle    文件:EnderBow.java   
@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);
}
项目:Wurst-MC-1.12    文件:FastBowMod.java   
@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());
}
项目:BaseClient    文件:FastBow.java   
@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();
    }
}
项目:BaseClient    文件:FastUse.java   
@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);
    }
}
项目:BackTools    文件:EventHandlerClient.java   
@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);
        }
    }
}
项目:BackTools    文件:BackTools.java   
@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));
}
项目:EMC    文件:IEntityPlayer.java   
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;
}
项目:EMC    文件:IItem.java   
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;
}
项目:CrystalMod    文件:ToolUtil.java   
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;
}
项目:MidgarCrusade    文件:Blindshot_1.java   
@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;
}
项目:MidgarCrusade    文件:Blackout.java   
@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;
}
项目:blockbuster    文件:ShootArrowAction.java   
/**
 * 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);
}
项目:Factorization    文件:MiscellaneousNonsense.java   
@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();
}
项目:EvenWurse    文件:AimbotMod.java   
@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);
        }
    }
}
项目:EvenWurse    文件:BowSpamMod.java   
@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();
    }
}
项目:EvenWurse    文件:BowAimbotMod.java   
@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();
    }
}
项目:EnderCore    文件:SpecialTooltipHandler.java   
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));
  }
}