net.minecraft.util.NonNullList.stream()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(93)

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

NonNullList.stream介绍

暂无

代码示例

代码示例来源:origin: SlimeKnights/TinkersConstruct

@SubscribeEvent
 public static void onToolPartReplacement(TinkerEvent.OnToolPartReplacement event) {
  if(event.toolStack.getItem() == TinkerRangedWeapons.bolt) {
   List<ItemStack> extraParts = event.replacementParts.stream()
                             .filter(Objects::nonNull)
                             .filter(stack -> stack.getItem() == TinkerTools.boltCore)
                             .map(BoltCore::getHeadStack)
                             .collect(Collectors.toList());
   event.replacementParts.addAll(new ArrayList<>(extraParts));
  }
 }
}

代码示例来源:origin: Vazkii/Botania

public OrechidRecipeWrapper(Map.Entry<String, Integer> entry) {
  this.weight = entry.getValue();
  final int amount = Math.max(1, Math.round((float) weight * 64 / getTotalOreWeight()));
  // Shouldn't ever return an empty list since the ore weight
  // list is filtered to only have ores with ItemBlocks
  List<ItemStack> stackList = OreDictionary.getOres(entry.getKey()).stream()
      .filter(s -> s.getItem() instanceof ItemBlock)
      .map(ItemStack::copy)
      .collect(Collectors.toList());
  stackList.forEach(s -> s.setCount(amount));
  outputStacks = Collections.singletonList(stackList);
}

代码示例来源:origin: SlimeKnights/TinkersConstruct

@Nonnull
@Override
public ItemStack buildItemFromStacks(NonNullList<ItemStack> inputStacks) {
 List<ItemStack> stacks = inputStacks.stream().filter(itemStack -> !itemStack.isEmpty()).collect(Collectors.toList());
 if(stacks.size() != 2) {
  return ItemStack.EMPTY;
 }
 ItemStack boltCore = stacks.get(0);
 ItemStack fletching = stacks.get(1);
 // we only care about the material returned by getMaterial call
 ItemStack boltCoreHead = BoltCore.getHeadStack(boltCore);
 return super.buildItemFromStacks(ListUtil.getListFrom(boltCore, boltCoreHead, fletching));
}

代码示例来源:origin: Vazkii/Botania

public static boolean doesOreExist(String key) {
  return OreDictionary.doesOreNameExist(key)
      && OreDictionary.getOres(key).stream()
      .anyMatch(s -> s.getItem() instanceof ItemBlock);
}

代码示例来源:origin: SlimeKnights/TinkersConstruct

/**
 * Builds an Itemstack of this tool with the given materials, if applicable.
 *
 * @param stacks Items to build with. Have to be in the correct order and have exact length. No nulls!
 * @return The built item or null if invalid input.
 */
@Nonnull
public ItemStack buildItemFromStacks(NonNullList<ItemStack> stacks) {
 long itemCount = stacks.stream().filter(stack -> !stack.isEmpty()).count();
 List<Material> materials = new ArrayList<>(stacks.size());
 if(itemCount != requiredComponents.length) {
  return ItemStack.EMPTY;
 }
 // not a valid part arrangement for this tool
 for(int i = 0; i < itemCount; i++) {
  if(!validComponent(i, stacks.get(i))) {
   return ItemStack.EMPTY;
  }
  materials.add(TinkerUtil.getMaterialFromStack(stacks.get(i)));
 }
 return buildItem(materials);
}

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

public static List<ItemStack> toStackExpand( IItemStack iStack )
{
  if( iStack == null )
  {
    return Collections.emptyList();
  }
  else
  {
    ItemStack is = (ItemStack) iStack.getInternal();
    if( !is.isItemStackDamageable() && is.getItemDamage() == OreDictionary.WILDCARD_VALUE )
    {
      NonNullList<ItemStack> ret = NonNullList.create();
      is.getItem().getSubItems( CreativeTabs.SEARCH, ret );
      return ret.stream().map( i -> new ItemStack( i.getItem(), iStack.getAmount(), i.getItemDamage() ) ).collect( Collectors.toList() );
    }
    else
    {
      return Collections.singletonList( is );
    }
  }
}

代码示例来源:origin: MrCrayfish/MrCrayfishFurnitureMod

public boolean isMailBoxFull()
{
  return this.inventory.stream().noneMatch(ItemStack::isEmpty);
}

代码示例来源:origin: P3pp3rF1y/AncientWarfare2

public static NonNullList<ItemStack> removeItems(NonNullList<ItemStack> stacks, NonNullList<ItemStack> stacksToRemove) {
  return stacks.stream().filter(s -> stacksToRemove.stream().noneMatch(r -> doItemStacksMatch(s, r)))
      .collect(Collectors.toCollection(NonNullList::create));
}

代码示例来源:origin: raoulvdberge/refinedstorage

@Override
public void deserializeNBT(NBTTagCompound tag) {
  super.deserializeNBT(tag);
  this.empty = stacks.stream().allMatch(ItemStack::isEmpty);
}

代码示例来源:origin: raoulvdberge/refinedstorage

@Override
protected void onContentsChanged(int slot) {
  super.onContentsChanged(slot);
  if (listener != null) {
    listener.accept(slot);
  }
  this.empty = stacks.stream().allMatch(ItemStack::isEmpty);
}

代码示例来源:origin: P3pp3rF1y/AncientWarfare2

public boolean isValid() {
    return input.stream().anyMatch(s -> !s.isEmpty()) && output.stream().anyMatch(s -> !s.isEmpty());
  }
}

代码示例来源:origin: TerraFirmaCraft/TerraFirmaCraft

public int getLogCount()
{
  return (int) logs.stream().filter(i -> !i.isEmpty()).count();
}

代码示例来源:origin: jaredlll08/ModTweaker

@Override
protected String getRecipeInfo(T recipe) {
  return recipe.getOutputs().stream().map(ItemStack::getDisplayName).collect(Collectors.joining(","));
}

代码示例来源:origin: CyclopsMC/IntegratedDynamics

@Override
public boolean canWriteElementPre() {
  boolean inputValid = inputStacks.stream().anyMatch(stack -> !stack.getLeft().isEmpty())
      || !inputFluid.isEmpty() || !inputFluidAmount.equalsIgnoreCase("0")
      || !inputEnergy.equalsIgnoreCase("0");
  boolean outputValid = outputStacks.stream().anyMatch(stack -> !stack.isEmpty())
      || !outputFluid.isEmpty() || !outputFluidAmount.equalsIgnoreCase("0")
      || !outputEnergy.equalsIgnoreCase("0");
  return inputValid && outputValid;
}

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

@ZenGetter("outputs")
public List<IItemStack> getOutputs() {
  return this.backingRecipe.getOutputs().stream()
    .map(MCItemStack::new)
    .collect(Collectors.toList());
}

代码示例来源:origin: P3pp3rF1y/AncientWarfare2

public static NonNullList<ItemStack> getReusableStacks(ICraftingRecipe recipe, InventoryCrafting craftMatrix) {
    return recipe.getRemainingItems(craftMatrix).stream().filter(s -> !s.isEmpty() && recipe.getIngredients().stream().anyMatch(i -> i.apply(s)))
        .collect(Collectors.toCollection(NonNullList::create));
  }
}

代码示例来源:origin: P3pp3rF1y/AncientWarfare2

private void addMissingItem(List<Integer> missingItems, Ingredient missingIngredient, NonNullList<ItemStack> inputs) {
  List<ItemStack> matchingStacks = inputs.stream().filter(s -> missingIngredient.apply(s) && !missingItems.contains(getInputIndex(inputs.indexOf(s)))).collect(Collectors.toList());
  if (!matchingStacks.isEmpty()) {
    ItemStack matched = matchingStacks.get(matchingStacks.size() - 1);
    for (int i = inputs.size() - 1; i >= 0; i--) {
      if (!missingItems.contains(getInputIndex(i)) && inputs.get(i) == matched) {
        missingItems.add(getInputIndex(i));
      }
    }
  }
}

代码示例来源:origin: ForestryMC/Binnie

public WorldGenHiveMarble(int rate) {
  super(rate);
  //TODO config option / more ore names
  OreDictionary.getOres("stoneMarble").stream().filter(s -> s.getItem() instanceof ItemBlock).map(s -> ((ItemBlock) s.getItem()).getBlock()).forEach(validBlocks::add);
}

代码示例来源:origin: MightyPirates/TIS-3D

@Override
  public ImageRenderer getImage(final String data) {
    final ItemStack[] stacks = OreDictionary.getOres(data).stream().filter(stack -> !stack.isEmpty()).toArray(ItemStack[]::new);
    if (stacks != null && stacks.length > 0) {
      return new ItemStackImageRenderer(stacks);
    } else {
      return new MissingItemRenderer(WARNING_ORE_DICT_MISSING);
    }
  }
}

代码示例来源:origin: MatrexsVigil/harvestcraft

@SubscribeEvent
public void onInteraction(PlayerInteractEvent.EntityInteract event) {
  Set<Item> breedItems = OreDictionary.getOres("listAllgrain").stream().map(ItemStack::getItem).collect(Collectors.toSet());
  Entity target = event.getTarget();
  if (target instanceof EntityCow) {
    handleBreedItem((EntityCow) target, breedItems, event.getEntityPlayer(), event.getHand());
  } else if (target instanceof EntitySheep) {
    handleBreedItem((EntitySheep) target, breedItems, event.getEntityPlayer(), event.getHand());
  }
  
}

相关文章