net.minecraft.item.ItemStack.isItemEqualIgnoreDurability()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(5.6k)|赞(0)|评价(0)|浏览(87)

本文整理了Java中net.minecraft.item.ItemStack.isItemEqualIgnoreDurability()方法的一些代码示例,展示了ItemStack.isItemEqualIgnoreDurability()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ItemStack.isItemEqualIgnoreDurability()方法的具体详情如下:
包路径:net.minecraft.item.ItemStack
类名称:ItemStack
方法名:isItemEqualIgnoreDurability

ItemStack.isItemEqualIgnoreDurability介绍

暂无

代码示例

代码示例来源:origin: SleepyTrousers/EnderIO

@Override
public boolean doApply(@Nonnull ItemStack input) {
 return input.isItemEqualIgnoreDurability(craftingGrid.getStackInSlot(slot));
}

代码示例来源:origin: PrinceOfAmber/Cyclic

@Override
 public boolean getIsRepairable(ItemStack toRepair, ItemStack repair) {
  return getRepairItem().isItemEqualIgnoreDurability(toRepair);
 }
}

代码示例来源:origin: GregTechCE/GregTech

private static boolean areItemsEqual(boolean ignoreDamage, boolean ignoreNBTData, ItemStack filterStack, ItemStack itemStack) {
    if(ignoreDamage) {
      if(!filterStack.isItemEqualIgnoreDurability(itemStack)) {
        return false;
      }
    } else if (!filterStack.isItemEqual(itemStack)) {
      return false;
    }
    return ignoreNBTData || ItemStack.areItemStackTagsEqual(filterStack, itemStack);
  }
}

代码示例来源:origin: PrinceOfAmber/Cyclic

private boolean canPickup(EntityItem itemOnGround) {
 if (itemOnGround.isDead) {
  return false;//nope
 }
 List<ItemStack> filt = this.getFilterNonempty();
 if (filt.size() == 0) {
  return true;//filter is empty, no problem eh
 }
 //filter is not empty. so if its not found we return false
 for (ItemStack f : filt) {
  if (f.isItemEqualIgnoreDurability(itemOnGround.getItem())) {
   return true;
  }
 }
 return false;
}

代码示例来源:origin: NanamiArihara/FoodCraft-Reloaded

@Override
public boolean matches(@Nonnull InventoryCrafting inv, @Nonnull World worldIn) {
  return Arrays.stream(KitchenKnifeType.values())
    .filter(toolMaterial -> inv.getStackInRowAndColumn(0, 0).isItemEqualIgnoreDurability(toolMaterial.getRepairItemStack()))
    .findFirst()
    .filter(toolMaterial -> {
      ItemStack[] stacks = new ItemStack[]{inv.getStackInRowAndColumn(0, 0), inv.getStackInRowAndColumn(0, 1), inv.getStackInRowAndColumn(1, 0), inv.getStackInRowAndColumn(1, 1)};
      return Arrays.stream(stacks).allMatch(stack -> stack.isItemEqualIgnoreDurability(toolMaterial.getRepairItemStack())) && OreDictionary.getOres("stickWood").stream().anyMatch(stack -> stack.isItemEqualIgnoreDurability(inv.getStackInRowAndColumn(2, 0)));
    })
    .map(toolMaterial -> FoodCraftReloadedMod.getProxy().getLoaderManager().getLoader(KitchenKnifeLoader.class).get().getInstanceMap(ItemKitchenKnife.class).get(toolMaterial))
    .map(ItemStack::new)
    .isPresent();
}

代码示例来源:origin: NanamiArihara/FoodCraft-Reloaded

@Nonnull
@Override
public ItemStack getCraftingResult(@Nonnull InventoryCrafting inv) {
  return Arrays.stream(KitchenKnifeType.values())
    .filter(toolMaterial -> inv.getStackInRowAndColumn(0, 0).isItemEqualIgnoreDurability(toolMaterial.getRepairItemStack()))
    .findFirst()
    .filter(toolMaterial -> {
      ItemStack[] stacks = new ItemStack[]{inv.getStackInRowAndColumn(0, 0), inv.getStackInRowAndColumn(0, 1), inv.getStackInRowAndColumn(1, 0), inv.getStackInRowAndColumn(1, 1)};
      return Arrays.stream(stacks).allMatch(stack -> stack.isItemEqualIgnoreDurability(toolMaterial.getRepairItemStack())) && OreDictionary.getOres("stickWood").stream().anyMatch(stack -> stack.isItemEqualIgnoreDurability(inv.getStackInRowAndColumn(2, 0)));
    })
    .map(toolMaterial -> FoodCraftReloadedMod.getProxy().getLoaderManager().getLoader(KitchenKnifeLoader.class).get().getInstanceMap(ItemKitchenKnife.class).get(toolMaterial))
    .map(ItemStack::new)
    .orElse(ItemStack.EMPTY);
}

代码示例来源:origin: ldtteam/minecolonies

/**
 * Check if a certain ItemStack is in the request of a worker.
 *
 * @param stack the stack to chest.
 * @return true if so.
 */
public boolean isItemStackInRequest(@Nullable final ItemStack stack)
{
  if (stack == null || stack.getItem() == null)
  {
    return false;
  }
  for (final CitizenData data : getAssignedCitizen())
  {
    for (final IRequest<?> request : getOpenRequests(data))
    {
      for(final ItemStack deliveryStack : request.getDeliveries())
      {
        if (deliveryStack.isItemEqualIgnoreDurability(stack))
        {
          return true;
        }
      }
    }
  }
  return false;
}

代码示例来源:origin: SleepyTrousers/EnderIO

private boolean canCraft() {
 int[] used = new int[9];
 int found = 0, required = 0;
 for (int j = 0; j < 9; j++) {
  ItemStack req = craftingGrid.getStackInSlot(j);
  if (!req.isEmpty()) {
   required++;
   for (int i = 0; i < 9; i++) {
    ItemStack stack = getInventory().getSlot(INPUT_SLOT + i).get();
    if (stack.getCount() > used[i] && stack.isItemEqualIgnoreDurability(req)) {
     found++;
     used[i]++;
     break;
    }
   }
  }
 }
 return found == required;
}

代码示例来源:origin: ldtteam/minecolonies

itemStack -> itemStack.isItemEqualIgnoreDurability(armorStack.getValue()));
if (slot == -1)

代码示例来源:origin: ldtteam/minecolonies

/**
 * Prepare deliveryman for delivery.
 * Check if the building still needs the item and if the required items are still in the warehouse.
 *
 * @return the next state to go to.
 */
private IAIState prepareDelivery()
{
  final AbstractBuildingWorker ownBuilding = getOwnBuilding();
  if (ownBuilding instanceof BuildingDeliveryman)
  {
    final IRequest<? extends Delivery> request = job.getCurrentTask();
    if (request != null)
    {
      if (job.isReturning())
      {
        return DUMPING;
      }
      ((BuildingDeliveryman) ownBuilding).setBuildingToDeliver(request.getRequest().getTarget());
      if (InventoryUtils.hasItemInItemHandler(new InvWrapper(worker.getInventoryCitizen()),
       itemStack -> request.getRequest().getStack().isItemEqualIgnoreDurability(itemStack)))
      {
        return DELIVERY;
      }
      return gatherItems(request);
    }
  }
  return START_WORKING;
}

代码示例来源:origin: PrinceOfAmber/Cyclic

NonNullList<ItemStack> inv = InventoryStorage.readFromNBT(stackIsBag);
for (ItemStack tryMatch : inv) {
 if (tryMatch.isItemEqualIgnoreDurability(stackOnGround)) {
  doesMatch = true;
  break;

代码示例来源:origin: SleepyTrousers/EnderIO

for (int i = 0; i < 9; i++) {
 ItemStack stack = getInventory().getSlot(INPUT_SLOT + i).get();
 if (stack.isItemEqualIgnoreDurability(req)) {
  inv.setInventorySlotContents(j, stack.splitStack(1));
  break;

相关文章

微信公众号

最新文章

更多

ItemStack类方法