List of usage examples for net.minecraftforge.fluids FluidStack containsFluid
public boolean containsFluid(@Nonnull FluidStack other)
From source file:blusunrize.immersiveengineering.api.crafting.BottlingMachineRecipe.java
public static BottlingMachineRecipe findRecipe(ItemStack input, FluidStack fluid) { if (!input.isEmpty() && fluid != null) for (BottlingMachineRecipe recipe : recipeList) if (ApiUtils.stackMatchesObject(input, recipe.input) && fluid.containsFluid(recipe.fluidInput)) return recipe; return null;//ww w.j a v a 2 s. c o m }
From source file:blusunrize.immersiveengineering.api.crafting.IngredientStack.java
public boolean matchesItemStack(ItemStack input) { if (input.isEmpty()) return false; if (this.fluid != null) { FluidStack fs = FluidUtil.getFluidContained(input); if (fs != null && fs.containsFluid(fluid)) return true; }/*from w ww . j a va 2 s . co m*/ if (this.oreName != null) return ApiUtils.compareToOreName(input, oreName) && this.inputSize <= input.getCount(); if (this.stackList != null) { for (ItemStack iStack : this.stackList) if (OreDictionary.itemMatches(iStack, input, false) && this.inputSize <= input.getCount()) return true; } if (!OreDictionary.itemMatches(stack, input, false) || this.inputSize > input.getCount()) return false; if (this.useNBT) { if (this.stack.hasTagCompound() != input.hasTagCompound()) return false; if (!this.stack.hasTagCompound() && !input.hasTagCompound()) return true; return this.stack.getTagCompound().equals(input.getTagCompound()); } return true; }
From source file:blusunrize.immersiveengineering.api.crafting.IngredientStack.java
public boolean matchesItemStackIgnoringSize(ItemStack input) { if (input.isEmpty()) return false; if (this.fluid != null) { FluidStack fs = FluidUtil.getFluidContained(input); if (fs != null && fs.containsFluid(fluid)) return true; }//from w w w.j a va 2 s . c o m if (this.oreName != null) return ApiUtils.compareToOreName(input, oreName); if (this.stackList != null) { for (ItemStack iStack : this.stackList) if (OreDictionary.itemMatches(iStack, input, false)) return true; } if (!OreDictionary.itemMatches(stack, input, false)) return false; if (this.useNBT) { if (this.stack.hasTagCompound() != input.hasTagCompound()) return false; if (!this.stack.hasTagCompound() && !input.hasTagCompound()) return true; return this.stack.getTagCompound().equals(input.getTagCompound()); } return true; }
From source file:blusunrize.immersiveengineering.api.crafting.MixerRecipe.java
protected boolean compareToInputs(FluidStack fluid, NonNullList<ItemStack> components, FluidStack fluidInput, IngredientStack[] itemInputs) {// w ww. jav a2 s .c o m if (fluid != null && fluid.containsFluid(fluidInput)) { ArrayList<ItemStack> queryList = new ArrayList<ItemStack>(components.size()); for (ItemStack s : components) if (!s.isEmpty()) queryList.add(s.copy()); for (IngredientStack add : itemInputs) if (add != null) { int addAmount = add.inputSize; Iterator<ItemStack> it = queryList.iterator(); while (it.hasNext()) { ItemStack query = it.next(); if (!query.isEmpty()) { if (add.matches(query)) if (query.getCount() > addAmount) { query.shrink(addAmount); addAmount = 0; } else { addAmount -= query.getCount(); query.setCount(0); } if (query.getCount() <= 0) it.remove(); if (addAmount <= 0) break; } } if (addAmount > 0) return false; } return true; } return false; }
From source file:blusunrize.immersiveengineering.api.crafting.RefineryRecipe.java
public static RefineryRecipe findRecipe(FluidStack input0, FluidStack input1) { for (RefineryRecipe recipe : recipeList) { if (input0 != null) { if (recipe.input0 != null && input0.containsFluid(recipe.input0)) { if ((recipe.input1 == null && input1 == null) || (recipe.input1 != null && input1 != null && input1.containsFluid(recipe.input1))) return recipe; }// w w w . j av a2s .c o m if (recipe.input1 != null && input0.containsFluid(recipe.input1)) { if ((recipe.input0 == null && input1 == null) || (recipe.input0 != null && input1 != null && input1.containsFluid(recipe.input0))) return recipe; } } else if (input1 != null) { if (recipe.input0 != null && input1.containsFluid(recipe.input0) && recipe.input1 == null) return recipe; if (recipe.input1 != null && input1.containsFluid(recipe.input1) && recipe.input0 == null) return recipe; } } return null; }
From source file:blusunrize.immersiveengineering.common.crafting.IngredientFluidStack.java
@Override public boolean apply(@Nullable ItemStack stack) { if (stack == null) { return false; } else {//w w w . j a v a 2 s . c o m FluidStack fs = FluidUtil.getFluidContained(stack); return fs == null && this.fluid == null || fs != null && fs.containsFluid(fluid); } }
From source file:forestry.core.fluids.FluidHelper.java
License:Open Source License
public static boolean containsFluidStack(ItemStack stack, FluidStack fluidStack) { Item item = stack.getItem();/*w ww .j a v a2 s .c o m*/ if (item instanceof IFluidContainerItem) { IFluidContainerItem containerItem = (IFluidContainerItem) item; FluidStack contained = containerItem.getFluid(stack); return contained != null && contained.containsFluid(fluidStack); } return FluidContainerRegistry.containsFluid(stack, fluidStack); }
From source file:mods.railcraft.common.fluids.FluidHelper.java
License:Open Source License
public static Collection<ItemStack> getContainersFilledWith(FluidStack fluidStack) { List<ItemStack> containers = new ArrayList<ItemStack>(); for (FluidContainerData data : FluidContainerRegistry.getRegisteredFluidContainerData()) { FluidStack inContainer = getFluidStackInContainer(data.filledContainer); if (inContainer != null && inContainer.containsFluid(fluidStack)) containers.add(data.filledContainer.copy()); }//from www .j a v a2s . c o m return containers; }
From source file:mods.railcraft.common.fluids.FluidItemHelper.java
License:Open Source License
public static boolean containsFluid(ItemStack stack, FluidStack fluidStack) { if (stack == null || fluidStack == null) return false; if (stack.getItem() instanceof IFluidContainerItem) { IFluidContainerItem fluidCon = (IFluidContainerItem) stack.getItem(); FluidStack conFluidStack = fluidCon.getFluid(stack); return conFluidStack != null && conFluidStack.containsFluid(fluidStack); }/* w w w. j a v a 2 s .c o m*/ return FluidContainerRegistry.containsFluid(stack, fluidStack); }