本文整理了Java中net.minecraft.util.NonNullList.stream()
方法的一些代码示例,展示了NonNullList.stream()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。NonNullList.stream()
方法的具体详情如下:
包路径:net.minecraft.util.NonNullList
类名称: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());
}
}
内容来源于网络,如有侵权,请联系作者删除!