Program: 33539
Project: 33539
Buggy source:
@Override public boolean onItemUse(ItemStack itemStack,EntityPlayer player,World world,int x,int y,int z,int meta,float hitX,float hitY,float hitZ){
  TileEntity tile=world.getTileEntity(x,y,z);
  if (tile instanceof TileEntityMobSpawner) {
    NBTTagCompound tag=new NBTTagCompound();
    ((TileEntityMobSpawner)tile).writeToNBT(tag);
    tag.setString("String_Node_Str","String_Node_Str");
    NBTTagList spawnPotentials=new NBTTagList();
    NBTTagCompound zombieSpawn=new NBTTagCompound();
    zombieSpawn.setString("String_Node_Str","String_Node_Str");
    zombieSpawn.setInteger("String_Node_Str",1);
    NBTTagCompound zombieSpawnProperties=new NBTTagCompound();
    zombieSpawnProperties.setString("String_Node_Str","String_Node_Str");
    NBTTagList equipment=new NBTTagList();
    equipment.appendTag(new NBTTagCompound());
    equipment.appendTag(new NBTTagCompound());
    equipment.appendTag(new NBTTagCompound());
    equipment.appendTag(SJItems.jetpackTuberous.writeToNBT(new NBTTagCompound()));
    zombieSpawnProperties.setTag("String_Node_Str",equipment);
    NBTTagList dropChances=new NBTTagList();
    for (int i=0; i <= 4; i++) {
      equipment.appendTag(new NBTTagFloat(0.0F));
    }
    zombieSpawnProperties.setTag("String_Node_Str",dropChances);
    zombieSpawn.setTag("String_Node_Str",zombieSpawnProperties);
    spawnPotentials.appendTag(zombieSpawn);
    tag.setTag("String_Node_Str",spawnPotentials);
    tag.setShort("String_Node_Str",(short)2);
    tag.setShort("String_Node_Str",(short)8);
    tag.setShort("String_Node_Str",(short)-1);
    tag.setShort("String_Node_Str",(short)30);
    tag.setShort("String_Node_Str",(short)60);
    tag.setShort("String_Node_Str",(short)10);
    tag.setShort("String_Node_Str",(short)96);
    ((TileEntityMobSpawner)tile).readFromNBT(tag);
  }
  return true;
}

Fixed version (ground truth):
@Override public boolean onItemUse(ItemStack itemStack,EntityPlayer player,World world,int x,int y,int z,int meta,float hitX,float hitY,float hitZ){
  if (!world.isRemote) {
    TileEntity tile=world.getTileEntity(x,y,z);
    if (tile instanceof TileEntityMobSpawner) {
      NBTTagCompound tag=new NBTTagCompound();
      ((TileEntityMobSpawner)tile).writeToNBT(tag);
      tag.setString("String_Node_Str","String_Node_Str");
      NBTTagList spawnPotentials=new NBTTagList();
      NBTTagCompound zombieSpawn=new NBTTagCompound();
      zombieSpawn.setString("String_Node_Str","String_Node_Str");
      zombieSpawn.setInteger("String_Node_Str",1);
      NBTTagCompound zombieSpawnProperties=new NBTTagCompound();
      zombieSpawnProperties.setString("String_Node_Str","String_Node_Str");
      NBTTagList equipment=new NBTTagList();
      equipment.appendTag(new NBTTagCompound());
      equipment.appendTag(new NBTTagCompound());
      equipment.appendTag(new NBTTagCompound());
      equipment.appendTag(SJItems.jetpackTuberous.writeToNBT(new NBTTagCompound()));
      zombieSpawnProperties.setTag("String_Node_Str",equipment);
      NBTTagList dropChances=new NBTTagList();
      for (int i=0; i <= 4; i++) {
        dropChances.appendTag(new NBTTagFloat(0.0F));
      }
      zombieSpawnProperties.setTag("String_Node_Str",dropChances);
      zombieSpawn.setTag("String_Node_Str",zombieSpawnProperties);
      spawnPotentials.appendTag(zombieSpawn);
      tag.setTag("String_Node_Str",spawnPotentials);
      tag.setShort("String_Node_Str",(short)2);
      tag.setShort("String_Node_Str",(short)8);
      tag.setShort("String_Node_Str",(short)-1);
      tag.setShort("String_Node_Str",(short)30);
      tag.setShort("String_Node_Str",(short)60);
      tag.setShort("String_Node_Str",(short)10);
      tag.setShort("String_Node_Str",(short)96);
      ((TileEntityMobSpawner)tile).readFromNBT(tag);
    }
  }
  return true;
}