private void outputActiveLava() {
    FluidStack fluid = tank[1].getFluid();
    if (fluid != null) {
      if (itemStacks[2] != null && itemStacks[2].stackSize == 1) {
        ItemStack itemStack = itemStacks[2];
        if (FluidContainerRegistry.isEmptyContainer(itemStack)) {
          if (fluid.amount >= FluidContainerRegistry.BUCKET_VOLUME) {
            FluidStack oneBucketOfFluid =
                new FluidStack(fluid, FluidContainerRegistry.BUCKET_VOLUME);
            ItemStack filledBucket =
                FluidContainerRegistry.fillFluidContainer(
                    oneBucketOfFluid, FluidContainerRegistry.EMPTY_BUCKET);
            itemStacks[2] = filledBucket;
            fluid.amount -= FluidContainerRegistry.BUCKET_VOLUME;
          }
        } else if (itemStack.getItem() instanceof IFluidContainerItem && (workingTick % 20) == 10) {
          if (fluid.amount >= FluidContainerRegistry.BUCKET_VOLUME) {

            IFluidContainerItem fluidContainerItem = (IFluidContainerItem) itemStack.getItem();
            FluidStack fluidStack = fluid.copy();

            if (fluidStack.amount > FluidContainerRegistry.BUCKET_VOLUME)
              fluidStack.amount = FluidContainerRegistry.BUCKET_VOLUME;

            int amount = fluidContainerItem.fill(itemStack, fluidStack, true);
            if (amount > 0) {
              fluid.amount -= amount;
            }
            if (fluid.amount == 0) tank[1].setFluid(null);
          }
        }
      }
    }
  }
  private void inputLava() {

    if (itemStacks[0] != null) {
      Item item = itemStacks[0].getItem();

      if (item != null) {
        if (item == Items.lava_bucket || item == ModItems.itemActiveLavaBucket) {

          if (tank[0].getCapacity() - tank[0].getFluidAmount()
              >= FluidContainerRegistry.BUCKET_VOLUME) {
            FluidStack fluidStack = FluidContainerRegistry.getFluidForFilledItem(itemStacks[0]);

            int result = tank[0].fill(fluidStack, false);

            if (result == FluidContainerRegistry.BUCKET_VOLUME) {
              itemStacks[0] = new ItemStack(Items.bucket, 1);
              tank[0].fill(fluidStack, true);
            }
          }

        } else if (item instanceof IFluidContainerItem && (workingTick % 20) == 5) {
          IFluidContainerItem fluidContainerItem = (IFluidContainerItem) item;
          FluidStack fluidStack = fluidContainerItem.getFluid(itemStacks[0]);

          if (fluidStack != null) {
            fluidStack = fluidStack.copy();

            if (fluidStack.amount > FluidContainerRegistry.BUCKET_VOLUME)
              fluidStack.amount = FluidContainerRegistry.BUCKET_VOLUME;

            int result = tank[0].fill(fluidStack, true);
            if (result > 0) {
              fluidContainerItem.drain(itemStacks[0], result, true);
            }
          }
        }
      }
    }
  }