boolean infinite = player.capabilities.isCreativeMode || (itemstack.getItem() instanceof ItemArrow ? ((ItemArrow)itemstack.getItem()).isInfinite(itemstack, stack, player) : false);
@Override public void onPreArrowFired(PlayerEventChild.QuiverArrowEvent.Firing arrowEvent) { if(arrowEvent.getArcher().capabilities.isCreativeMode){ arrowEvent.arrow.pickupStatus = EntityArrow.PickupStatus.CREATIVE_ONLY; }else{ ItemStack arrow = arrowEvent.getArrowInUse(); if(arrow.getItem() instanceof ItemArrow && ((ItemArrow) arrow.getItem()).isInfinite(arrow, arrowEvent.getBow(), arrowEvent.getArcher())){ arrowEvent.arrow.pickupStatus = EntityArrow.PickupStatus.CREATIVE_ONLY; } } writeBowNBT(arrowEvent.getBow(), getStackInSlot(arrowEvent.quiver, getSelectedSlot(arrowEvent.quiver))); }
@Override public void onArrowFired(World world, EntityPlayer player, ItemStack stack, ItemStack bow, EntityArrow arrow) { if(!player.capabilities.isCreativeMode){ int selectedSlot = getSelectedSlot(stack); ItemStack arrowStack = getStackInSlot(stack, selectedSlot); if(!(arrowStack.getItem() instanceof ItemArrow) || !((ItemArrow) arrowStack.getItem()).isInfinite(arrowStack, bow, player)) { arrowStack.shrink(1); if (arrowStack.isEmpty()) { //ForgeEventFactory.onPlayerDestroyItem(player, arrowStack); arrowStack = ItemStack.EMPTY; } setStackInSlot(stack, selectedSlot, arrowStack); } } bow.getTagCompound().removeTag("Battlegear2-LoadedArrow"); }
boolean flag1 = entityplayer.capabilities.isCreativeMode || (itemstack.getItem() instanceof ItemArrow && ((ItemArrow) itemstack.getItem()).isInfinite(itemstack, stack, entityplayer));
EntityPlayer player = (EntityPlayer) livingBase; ItemStack arrowStack = this.findAmmo(player); boolean flag = player.capabilities.isCreativeMode || (arrowStack.getItem() instanceof ItemArrow && ((ItemArrow) arrowStack.getItem()).isInfinite(arrowStack, stack, player));
bow = (IToolBow) bowStack.getItem(); boolean flag = player.capabilities.isCreativeMode || (arrowStack.getItem() instanceof ItemArrow && ((ItemArrow) arrowStack.getItem()).isInfinite(arrowStack, bowStack, player));