Program: 156588
Project: 156588
Buggy source:
@SubscribeEvent public void tick(TickEvent.WorldTickEvent event){
  if (event.phase == TickEvent.Phase.END && requests.containsKey(event.world)) {
    HashSet<PipeExtensionRequest> rSet=requests.get(event.world);
    World w=event.world;
    for (    PipeExtensionRequest r : rSet) {
      Vec3 target=new Vec3(r.x,r.y,r.z);
      target.orientation=r.o;
      boolean retract=r.stack.getItem() == BuildCraftTransport.pipeItemsVoid;
      ArrayList<ItemStack> removedPipeStacks=null;
      if (retract) {
        target.moveBackwards(1.0D);
      }
 else {
        target.moveForwards(1.0D);
        if (!w.isAirBlock((int)target.x,(int)target.y,(int)target.z)) {
          r.h.sendItem(r.stack,r.o.getOpposite());
          continue;
        }
      }
      Block oldBlock=w.getBlock(r.x,r.y,r.z);
      int oldMeta=w.getBlockMetadata(r.x,r.y,r.z);
      NBTTagCompound nbt=new NBTTagCompound();
      w.getTileEntity(r.x,r.y,r.z).writeToNBT(nbt);
      w.setBlockToAir(r.x,r.y,r.z);
      if (retract) {
        removedPipeStacks=w.getBlock((int)target.x,(int)target.y,(int)target.z).getDrops(w,(int)target.x,(int)target.y,(int)target.z,w.getBlockMetadata((int)target.x,(int)target.y,(int)target.z),0);
        w.setBlockToAir((int)target.x,(int)target.y,(int)target.z);
      }
 else {
        r.stack.getItem().onItemUse(r.stack,CoreProxy.proxy.getBuildCraftPlayer((WorldServer)w,r.x,r.y,r.z).get(),w,r.x,r.y,r.z,1,0,0,0);
      }
      nbt.setInteger("String_Node_Str",(int)target.x);
      nbt.setInteger("String_Node_Str",(int)target.y);
      nbt.setInteger("String_Node_Str",(int)target.z);
      TileGenericPipe pipeTile=(TileGenericPipe)TileEntity.createAndLoadEntity(nbt);
      w.setBlock((int)target.x,(int)target.y,(int)target.z,oldBlock,oldMeta,3);
      w.setTileEntity((int)target.x,(int)target.y,(int)target.z,pipeTile);
      pipeTile.setWorldObj(w);
      pipeTile.validate();
      pipeTile.updateEntity();
      PipeTransportItems items=(PipeTransportItems)pipeTile.pipe.transport;
      if (!retract) {
        r.stack.stackSize--;
      }
      if (r.stack.stackSize > 0) {
        sendItem(items,r.stack,r.o.getOpposite());
      }
      if (removedPipeStacks != null) {
        for (        ItemStack s : removedPipeStacks) {
          sendItem(items,s,r.o.getOpposite());
        }
      }
      if (!retract) {
        TileGenericPipe newPipeTile=(TileGenericPipe)w.getTileEntity(r.x,r.y,r.z);
        newPipeTile.updateEntity();
        pipeTile.scheduleNeighborChange();
      }
    }
    rSet.clear();
  }
}

Fixed version (ground truth):
@SubscribeEvent public void tick(TickEvent.WorldTickEvent event){
  if (event.phase == TickEvent.Phase.END && requests.containsKey(event.world)) {
    HashSet<PipeExtensionRequest> rSet=requests.get(event.world);
    World w=event.world;
    for (    PipeExtensionRequest r : rSet) {
      Vec3 target=Utils.convert(r.pos);
      boolean retract=r.stack.getItem() == BuildCraftTransport.pipeItemsVoid;
      List<ItemStack> removedPipeStacks=null;
      if (retract) {
        target=target.add(Utils.convert(r.o,-1));
      }
 else {
        target=target.add(Utils.convert(r.o,1));
        if (!w.isAirBlock(Utils.convertFloor(target))) {
          r.h.sendItem(r.stack,r.o.getOpposite());
          continue;
        }
      }
      IBlockState oldState=w.getBlockState(r.pos);
      NBTTagCompound nbt=new NBTTagCompound();
      w.getTileEntity(r.pos).writeToNBT(nbt);
      w.setBlockToAir(r.pos);
      BlockPos targetPos=Utils.convertFloor(target);
      if (retract) {
        removedPipeStacks=w.getBlockState(targetPos).getBlock().getDrops(w,targetPos,w.getBlockState(targetPos),0);
        w.setBlockToAir(targetPos);
      }
 else {
        r.stack.getItem().onItemUse(r.stack,CoreProxy.proxy.getBuildCraftPlayer((WorldServer)w,r.pos).get(),w,r.pos,EnumFacing.UP,0,0,0);
      }
      nbt.setInteger("String_Node_Str",MathHelper.floor_double(target.xCoord));
      nbt.setInteger("String_Node_Str",MathHelper.floor_double(target.yCoord));
      nbt.setInteger("String_Node_Str",MathHelper.floor_double(target.zCoord));
      TileGenericPipe pipeTile=(TileGenericPipe)TileEntity.createAndLoadEntity(nbt);
      w.setBlockState(targetPos,oldState,3);
      w.setTileEntity(targetPos,pipeTile);
      pipeTile.setWorldObj(w);
      pipeTile.validate();
      pipeTile.update();
      PipeTransportItems items=(PipeTransportItems)pipeTile.pipe.transport;
      if (!retract) {
        r.stack.stackSize--;
      }
      if (r.stack.stackSize > 0) {
        sendItem(items,r.stack,r.o.getOpposite());
      }
      if (removedPipeStacks != null) {
        for (        ItemStack s : removedPipeStacks) {
          sendItem(items,s,r.o.getOpposite());
        }
      }
      if (!retract) {
        TileGenericPipe newPipeTile=(TileGenericPipe)w.getTileEntity(r.pos);
        newPipeTile.update();
        pipeTile.scheduleNeighborChange();
      }
    }
    rSet.clear();
  }
}