Package net.minecraftforge.fluids

Examples of net.minecraftforge.fluids.FluidStack


    if(item == null) {
      return super.onBlockActivated(world, x, y, z, entityPlayer, par6, par7, par8, par9);
    }

    //check for filled fluid containers and see if we can empty them into our tanks
    FluidStack fluid = FluidUtil.getFluidFromItem(item);
    if(fluid != null) {
      int filled = gen.fill(ForgeDirection.UP, fluid, false);
      if(filled >= fluid.amount) {
        gen.fill(ForgeDirection.UP, fluid, true);
        if(!entityPlayer.capabilities.isCreativeMode) {
View Full Code Here


      return null;
    }
    if(outputTank.getFluid() == null || resource == null || !resource.isFluidEqual(outputTank.getFluid())) {
      return null;
    }
    FluidStack res = outputTank.drain(resource.amount, doDrain);
    if(res != null && res.amount > 0 && doDrain) {
      tanksDirty = true;
    }
    return res;
  }
View Full Code Here

  @Override
  public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) {
    if(isSideDisabled(from.ordinal())) {
      return null;
    }
    FluidStack res = outputTank.drain(maxDrain, doDrain);
    if(res != null && res.amount > 0 && doDrain) {
      tanksDirty = true
    }   
    return res;
  }
View Full Code Here

      return false;
    }

    MachineRecipeInput[] inputs = getRecipeInputs();
    if(inputTank.getFluidAmount() <= 0) {
      inputs[inputs.length - 1] = new MachineRecipeInput(0, new FluidStack(fluid, 1));
    }

    return VatRecipeManager.getInstance().isValidInput(inputs);
  }
View Full Code Here

    if(item == null) {
      return super.onBlockActivated(world, x, y, z, entityPlayer, par6, par7, par8, par9);
    }

    //check for filled fluid containers and see if we can empty them into our tanks
    FluidStack fluid = FluidUtil.getFluidFromItem(item);
    if(fluid != null) {
      int filled = gen.fill(ForgeDirection.UP, fluid, false);
      if(filled >= fluid.amount) {
        gen.fill(ForgeDirection.UP, fluid, true);
        if(!entityPlayer.capabilities.isCreativeMode) {
View Full Code Here

    Fluid fluid = FluidRegistry.getFluid(name);
    if(fluid == null) {
      Log.warn("When parsing recipes could not find fluid with name: " + name);
      return null;
    }
    return new RecipeInput(new FluidStack(fluid, amount), getFloatValue(AT_MULTIPLIER, attributes, 1));
  }
View Full Code Here

    if(item == null) {
      return super.onBlockActivated(world, x, y, z, entityPlayer, par6, par7, par8, par9);
    }

    //check for filled fluid containers and see if we can empty them into our input tank
    FluidStack fluid = FluidUtil.getFluidFromItem(item);
    if(fluid != null) {
      int filled = tank.fill(ForgeDirection.UP, fluid, false);
      if(filled >= fluid.amount) {
        tank.fill(ForgeDirection.UP, fluid, true);
        if(!entityPlayer.capabilities.isCreativeMode) {
          entityPlayer.inventory.setInventorySlotContents(entityPlayer.inventory.currentItem, Util.consumeItem(item));
        }
        return true;
      }
    }

    //now check for empty fluid containers to fill
    FluidStack available = tank.tank.getFluid();
    if(available != null) {
      ItemStack res = FluidContainerRegistry.fillFluidContainer(available.copy(), item);
      FluidStack filled = FluidContainerRegistry.getFluidForFilledItem(res);

      if(filled == null) { //this shouldn't be necessary but it appears to be a bug as the above method doesnt work
        FluidContainerData[] datas = FluidContainerRegistry.getRegisteredFluidContainerData();
        for (FluidContainerData data : datas) {
          if(data != null && data.fluid != null && data.fluid.getFluid() != null &&
View Full Code Here

  @Override
  @SideOnly(Side.CLIENT)
  public void addBasicEntries(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag) {
    if(itemstack.stackTagCompound != null && itemstack.stackTagCompound.hasKey("tankContents")) {
      FluidStack fl = FluidStack.loadFluidStackFromNBT((NBTTagCompound) itemstack.stackTagCompound.getTag("tankContents"));
      if(fl != null && fl.getFluid() != null) {
        String str = fl.amount + " " + Lang.localize("fluid.millibucket.abr") + " " + PowerDisplayUtil.ofStr() + " " + fl.getFluid().getLocalizedName();
        list.add(str);
      }
    }
  }
View Full Code Here

    ItemStack current = entityPlayer.inventory.getCurrentItem();
    if(current != null) {

      TileReservoir tank = (TileReservoir) world.getTileEntity(x, y, z);

      FluidStack liquid = FluidUtil.getFluidFromItem(current);
      if(liquid != null) {
        // Handle filled containers
        int qty = tank.getController().doFill(ForgeDirection.UNKNOWN, liquid, true);

        if(qty != 0 && !entityPlayer.capabilities.isCreativeMode) {
          entityPlayer.inventory.setInventorySlotContents(entityPlayer.inventory.currentItem, Util.consumeItem(current));
        }
        return true;

      } else {
        // Handle empty containers

        FluidStack available = tank.getTankInfo(ForgeDirection.UNKNOWN)[0].fluid;       
        if(available != null && available.amount > 0) {         
          ItemStack filled = FluidContainerRegistry.fillFluidContainer(available, current);
          if(current.getItem() == Items.bucket) {
            filled = new ItemStack(Items.water_bucket);
          }
          liquid = FluidContainerRegistry.getFluidForFilledItem(filled);
          if(current.getItem() == Items.bucket) {
            liquid = new FluidStack(FluidRegistry.WATER, 1000);
          }

          if(liquid != null) {
            if(!entityPlayer.capabilities.isCreativeMode) {
              if(current.stackSize > 1) {
View Full Code Here

  @Override
  public void getWailaInfo(List<String> tooltip, EntityPlayer player, World world, int x, int y, int z) {
    TileEntity te = world.getTileEntity(x, y, z);
    if (te instanceof TileTank) {
      TileTank tank = (TileTank) te;
      FluidStack stored = tank.tank.getFluid();
      String fluid = stored == null ? Lang.localize("tooltip.none") : stored.getFluid().getLocalizedName(stored);
      int amount = stored == null ? 0 : stored.amount;
     
      tooltip.add(String.format("%s%s : %s (%d %s)", EnumChatFormatting.WHITE, Lang.localize("tooltip.fluidStored"), fluid, amount, Lang.localize("fluid.millibucket.abr")));
    }
  }
View Full Code Here

TOP

Related Classes of net.minecraftforge.fluids.FluidStack

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.